@lon = @diary_entry.longitude
@lat = @diary_entry.latitude
@zoom = 12
- elsif current_user.home_lat.nil? || current_user.home_lon.nil?
+ elsif !current_user.has_home?
@lon = params[:lon] || -0.1
@lat = params[:lat] || 51.5
@zoom = params[:zoom] || 4
if current_user
data[:user] = current_user.id.to_json
- data[:user_home] = { :lat => current_user.home_lat, :lon => current_user.home_lon } unless current_user.home_lon.nil? || current_user.home_lat.nil?
+ data[:user_home] = { :lat => current_user.home_lat, :lon => current_user.home_lon } if current_user.has_home?
end
data[:location] = session[:location] if session[:location]
@preferred_languages ||= Locale.list(languages)
end
+ def has_home?
+ home_lat && home_lon
+ end
+
def nearby(radius = Settings.nearby_radius, num = Settings.nearby_users)
- if home_lon && home_lat
+ if has_home?
gc = OSM::GreatCircle.new(home_lat, home_lon)
sql_for_area = QuadTile.sql_for_area(gc.bounds(radius), "home_")
sql_for_distance = gc.sql_for_distance("home_lat", "home_lon")
end
def update_tile
- self.home_tile = QuadTile.tile_for_point(home_lat, home_lon) if home_lat && home_lon
+ self.home_tile = QuadTile.tile_for_point(home_lat, home_lon) if has_home?
end
end
end
if current_user && current_user == user && can?(:details, User)
- if user.home_lat && user.home_lon
+ if user.has_home?
json.home do
json.lat user.home_lat
json.lon user.home_lon
end
end
if current_user && current_user == user && can?(:details, User)
- if user.home_lat && user.home_lon
+ if user.has_home?
xml.tag! "home", :lat => user.home_lat,
:lon => user.home_lon,
:zoom => user.home_zoom
<div class="col">
<p class='text-muted mb-0'>
<%= link_to contact.display_name, user_path(contact) %>
- <% if @user.home_lon and @user.home_lat and contact.home_lon and contact.home_lat %>
+ <% if @user.has_home? and contact.has_home? %>
<% distance = @user.distance(contact) %>
<% if distance < 1 %>
(<%= t ".m away", :count => (distance * 1000).round %>)
<div class="row">
<% if current_user and @user.id == current_user.id %>
<div class="col-md order-md-last">
- <% if @user.home_lat.nil? or @user.home_lon.nil? %>
+ <% if !@user.has_home? %>
<div id="map" class="content_map border border-grey">
<p class="m-3"><%= t(".no_home_location_html", :edit_profile_link => link_to(t(".edit_your_profile"), edit_profile_path)) %></p>
</div>
<% content_for(:body_class) { "map-layout" } %>
-<% if current_user and !current_user.home_lon.nil? and !current_user.home_lat.nil? %>
+<% if current_user&.has_home? %>
<% content_for :greeting do %>
<%= link_to t("layouts.home"),
"#",
<fieldset>
<legend><%= t ".home location" -%></legend>
- <p id="home_message" class="text-muted"<% if current_user.home_lat and current_user.home_lon %> hidden<% end %>><%= t ".no home location" %></p>
+ <p id="home_message" class="text-muted"<% if current_user.has_home? %> hidden<% end %>><%= t ".no home location" %></p>
<div class="row">
<%= f.text_field :home_lat, :wrapper_class => "col-sm-4", :id => "home_lat" %>
<%= f.text_field :home_lon, :wrapper_class => "col-sm-4", :id => "home_lon" %>
</div>
<div class="form-check">
- <input class="form-check-input" type="checkbox" name="updatehome" value="1" <% unless current_user.home_lat and current_user.home_lon %> checked="checked" <% end %> id="updatehome" />
+ <input class="form-check-input" type="checkbox" name="updatehome" value="1" <% unless current_user.has_home? %> checked="checked" <% end %> id="updatehome" />
<label class="form-check-label" for="updatehome"><%= t ".update home location on click" %></label>
</div>
<%= tag.div "", :id => "map", :class => "content_map set_location border border-grey rounded" %>