openstreetmap-website/app/views/user/account.rhtml
Tom Hughes 7de4cb19b8 Wrap evaluation of default values for parameters inside the HTML escaping
as that causes nil to become "" hence defeating the conditional default.
2007-11-24 14:13:21 +00:00

113 lines
4.5 KiB
Text

<h2>User details</h2>
<%= error_messages_for 'user' %>
<% 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><%= 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><%= 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: <%= 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;"></div>
</td></tr>
</table>
<%= submit_tag 'Save Changes' %>
<% end %>
<% nearest_str = "" %>
<% 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" %>
<% end %>
<% end %>
<% end %>
<script type="text/javascript">
var nearest = [], friends = [];
<%= nearest_str %>
</script>
<% 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 %>
<% zoom = '12' %>
<% end %>
<script type="text/javascript" src="/openlayers/OpenLayers.js"></script>
<%= javascript_include_tag 'map.js' %>
<script type="text/javascript">
<!--
var marker;
function init(){
var centre = lonLatToMercator(new OpenLayers.LonLat(<%= lon %>, <%= lat %>));
var zoom = <%= zoom %>;
<% if params['scale'] and params['scale'].length > 0 then %>
zoom = scaleToZoom(<%= params['scale'].to_f() %>);
<% end %>
var map = createMap("map");
map.setCenter(centre, zoom);
<% if marker %>
marker = addMarkerToMap(lonLatToMercator(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>)), null, "Your location");
<% end %>
var near_icon = OpenLayers.Marker.defaultIcon();
near_icon.url = OpenLayers.Util.getImagesLocation() + "marker-green.png";;
var i = nearest.length;
while( i-- ) {
var description = 'Nearby mapper: <a href="/user/'+nearest[i].display_name+'">'+nearest[i].display_name+'</a>'
var nearmarker = addMarkerToMap(lonLatToMercator(new OpenLayers.LonLat(nearest[i].home_lon, nearest[i].home_lat)), near_icon.clone(), description);
}
map.events.register("click", map, setHome);
}
function setHome( e ) {
closeMapPopup();
if (document.getElementById('updatehome').checked) {
var merc = map.getLonLatFromViewPortPx(e.xy);
var lonlat = mercatorToLonLat(merc);
document.getElementById('homerow').className = '';
document.getElementById('home_lat').value = lonlat.lat;
document.getElementById('home_lon').value = lonlat.lon;
if (marker) {
removeMarkerFromMap(marker);
}
marker = addMarkerToMap(merc, null, "Your location");
}
}
window.onload = init;
// -->
</script>
<h2>Public editing</h2>
<% if @user.data_public? %>
All your edits are public.
<% else %>
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 />
<%= button_to "Make all my edits public, forever", :action => :go_public %>
<% end %>