<h2>User details</h2>
<%= error_messages_for 'user' %>
-<% form_tag :controller => 'user', :action => 'account', :display_name => @user.display_name do %>
+<% form_for :user, @user do |f| %>
<table style="width : 100%">
<tr><td>Email</td><td><%= @user.email %></td></tr>
<tr><td>Mapper since</td><td><%= @user.creation_time %> (<%= time_ago_in_words(@user.creation_time) %> ago)</td></tr>
- <tr><td>Display Name</td><td><%= text_field :user, :display_name, :value => @user.display_name %></td></tr>
- <tr><td>Password</td><td><%= password_field('user', 'pass_crypt',{:value => '', :size => 50, :maxlength => 255}) %></td></tr>
- <tr><td>Confirm Password</td><td><%= password_field('user', 'pass_crypt_confirmation',{:value => '', :size => 50, :maxlength => 255}) %></td></tr>
+ <tr><td>Display Name</td><td><%= f.text_field :display_name %></td></tr>
+ <tr><td>Password</td><td><%= f.password_field :pass_crypt, {:value => '', :size => 50, :maxlength => 255} %></td></tr>
+ <tr><td>Confirm Password</td><td><%= f.password_field :pass_crypt_confirmation, {:value => '', :size => 50, :maxlength => 255} %></td></tr>
- <tr><td valign="top">Description</td><td><%= text_area :user, :description, :value => @user.description, :class => "editDescription" %></td></tr>
+ <tr><td valign="top">Description</td><td><%= f.text_area :description, :class => "editDescription" %></td></tr>
- <tr id="homerow" <% unless @user.home_lat and @user.home_lon %> class="nohome" <%end%> ><td>Your home</td><td><em class="message">You have not entered your home location.</em><span class="location">Latitude: <%= text_field :user, :home_lat, :value => @user.home_lat, :size => 20, :id => "home_lat" %> Longitude <%= text_field :user, :home_lon, :value => @user.home_lon, :size => 20, :id => "home_lon" %></span> </td></tr>
+ <tr id="homerow" <% unless @user.home_lat and @user.home_lon %> class="nohome" <%end%> ><td>Your home</td><td><em class="message">You have not entered your home location.</em><span class="location">Latitude: <%= f.text_field :home_lat, :size => 20, :id => "home_lat" %> Longitude <%= f.text_field :home_lon, :size => 20, :id => "home_lon" %></span></td></tr>
<tr><td></td><td>
<p>Update home location when I click on the map? <input type="checkbox" value="1" <% unless @user.home_lat and @user.home_lon %> checked="checked" <% end %> id="updatehome" /> </p>
- <div id="map" style="border: 1px solid black; position: relative; width : 90%; height : 300px;">
- <% # This now just used to detect the width/height required for the popup. %>
- <p id="highlightinfo"></p>
- </div>
+ <div id="map" style="border: 1px solid black; position: relative; width : 90%; height : 300px;"></div>
</td></tr>
</table>
<%= submit_tag 'Save Changes' %>
<% end %>
<% nearest_str = "" %>
-<% if @user.home_lat and @user.home_lon %>
+<% if !@user.home_lat.nil? and !@user.home_lon.nil? %>
<% if !@user.nearby.empty? %>
<% @user.nearby.each do |nearby| %>
<% nearest_str += "nearest.push( { 'display_name' : '#{nearby.display_name}', 'home_lat' : #{nearby.home_lat}, 'home_lon' : #{nearby.home_lon} } );\n" %>
<%= nearest_str %>
</script>
-<% if @user.home_lat and @user.home_lon %>
+<% if @user.home_lat.nil? or @user.home_lon.nil? %>
+ <% lon = h(params['lon'] || '-0.1') %>
+ <% lat = h(params['lat'] || '51.5') %>
+ <% zoom = h(params['zoom'] || '4') %>
+<% else %>
<% marker = true %>
<% mlon = @user.home_lon %>
<% mlat = @user.home_lat %>
<% lon = @user.home_lon %>
- <% lat = @user.home_lat %>
+ <% lat = @user.home_lat %>
<% zoom = '12' %>
-<% else %>
- <% lon = params['lon'] || '-0.1' %>
- <% lat = params['lat'] || '51.5' %>
- <% zoom = params['zoom'] || '4' %>
<% end %>
-<%= javascript_include_tag '/openlayers/OpenLayers.js' %>
+<script type="text/javascript" src="/openlayers/OpenLayers.js"></script>
+<script type="text/javascript" src="/openlayers/OpenStreetMap.js"></script>
<%= javascript_include_tag 'map.js' %>
<script type="text/javascript">
zoom = scaleToZoom(<%= params['scale'].to_f() %>);
<% end %>
- var map = createMap("map", centre, zoom);
+ var map = createMap("map");
+
+ map.setCenter(centre, zoom);
<% if marker %>
marker = addMarkerToMap(lonLatToMercator(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>)), null, "Your location");
// -->
</script>
-<h2>Privacy</h2>
+<h2>Public editing</h2>
<% if @user.data_public? %>
All your edits are public.
<% else %>
- Currently your edits are anonymous and people can't find out where you are located. To show what you edited and allow people to contact you through the website, click the button below. This action cannot be reversed.
+ Currently your edits are anonymous and people can't send you messages or see your location. To show what you edited and allow people to contact you through the website, click the button below. <b>You will need to do this if you want to use the online editor</b> (<a href="http://wiki.openstreetmap.org/index.php/Disabling_anonymous_edits">find out why</a>). This action cannot be reversed.
<br /><br />
- <% form_tag :controller => 'user', :action => 'go_public' do %>
- <%= submit_tag 'Make all my edits public, forever' %>
- <% end %>
+ <%= button_to "Make all my edits public, forever", :action => :go_public %>
<% end %>