<h2><%= t 'user.account.my settings' %></h2>
+
+<%= link_to t('user.account.return to profile'), :controller => 'user', :action => 'view', :display_name => @user.display_name %> |
+<%= link_to t('user.view.oauth settings'), :controller => 'oauth_clients', :action => 'index' %>
+
<%= error_messages_for 'user' %>
-<% form_for :user, @user do |f| %>
+<%= form_for :user, :html => { :multipart => true } do |f| %>
<table id="accountForm">
- <tr><td class="fieldName"><%= t 'user.new.display name' %></td><td><%= f.text_field :display_name %></td></tr>
- <tr><td class="fieldName"><%= t 'user.new.email address' %></td><td><%= f.text_field :email, {:size => 50, :maxlength => 255} %> <span class="minorNote"><%= t 'user.account.email never displayed publicly' %></span></td></tr>
- <tr><td class="fieldName" style="padding-bottom:0px;"><%= t 'user.new.password' %></td><td style="padding-bottom:0px;"><%= f.password_field :pass_crypt, {:value => '', :size => 30, :maxlength => 255} %></td></tr>
- <tr><td class="fieldName"><%= t 'user.new.confirm password' %></td><td><%= f.password_field :pass_crypt_confirmation, {:value => '', :size => 30, :maxlength => 255} %></td></tr>
+ <tr>
+ <td class="fieldName"><%= t 'user.new.display name' %></td>
+ <td><%= f.text_field :display_name %></td>
+ </tr>
<tr>
- <td class="fieldName" valign="top"><%= t 'user.account.public editing.heading' %></td>
- <td>
-<% if @user.data_public? %>
- <%= t 'user.account.public editing.enabled' %> <span class="minorNote">(<a href="<%= t 'user.account.public editing.enabled link' %>" target="_new"><%= t 'user.account.public editing.enabled link text' %></a>)</span>
-<% else %>
- <%= t 'user.account.public editing.disabled' %><span class="minorNote">(<a href="#public"><%= t 'user.account.public editing.disabled link text' %></a>)</span>
-<% end %>
- </td>
+ <td class="fieldName" style="padding-bottom:0px;"><%= t 'user.account.current email address' %></td>
+ <td style="padding-bottom:0px;"><%= @user.email %> <span class="minorNote"><%= t 'user.account.email never displayed publicly' %></span></td>
+ </tr>
+
+ <tr>
+ <td class="fieldName"><%= t 'user.account.new email address' %></td>
+ <td><%= f.email_field :new_email, {:size => 50, :maxlength => 255} %> <span class="minorNote"><%= t 'user.account.email never displayed publicly' %></span></td>
+ </tr>
+
+ <tr>
+ <td class="fieldName" style="padding-bottom:0px;"><%= t 'user.new.password' %></td>
+ <td style="padding-bottom:0px;"><%= f.password_field :pass_crypt, {:value => '', :size => 30, :maxlength => 255, :autocomplete => :off} %></td>
+ </tr>
+
+ <tr>
+ <td class="fieldName"><%= t 'user.new.confirm password' %></td>
+ <td><%= f.password_field :pass_crypt_confirmation, {:value => '', :size => 30, :maxlength => 255, :autocomplete => :off} %></td>
+ </tr>
+
+ <tr>
+ <td class="fieldName" ><%= t 'user.account.openid.openid' %></td>
+ <td><%= f.url_field :openid_url, {:id => "openid_url", :class => "openid_url"} %> <span class="minorNote">(<a href="<%= t 'user.account.openid.link' %>" target="_new"><%= t 'user.account.openid.link text' %></a>)</span></td>
+ </tr>
+
+ <tr>
+ <td class="fieldName"><%= t 'user.account.public editing.heading' %></td>
+ <td>
+ <% if @user.data_public? %>
+ <%= t 'user.account.public editing.enabled' %> <span class="minorNote">(<a href="<%= t 'user.account.public editing.enabled link' %>" target="_new"><%= t 'user.account.public editing.enabled link text' %></a>)</span>
+ <% else %>
+ <%= t 'user.account.public editing.disabled' %> <span class="minorNote">(<a href="#public"><%= t 'user.account.public editing.disabled link text' %></a>)</span>
+ <% end %>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="fieldName"><%= t 'user.account.contributor terms.heading' %></td>
+ <td>
+ <% if @user.terms_agreed? %>
+ <%= t 'user.account.contributor terms.agreed' %>
+ <span class="minorNote">(<a href="<%= t 'user.account.contributor terms.link' %>" target="_new"><%= t 'user.account.contributor terms.link text' %></a>)</span>
+ <br />
+ <% if @user.consider_pd? %>
+ <%= t 'user.account.contributor terms.agreed_with_pd' %>
+ <% end %>
+ <% else %>
+ <%= t 'user.account.contributor terms.not yet agreed' %> <br />
+
+ <%= link_to t('user.account.contributor terms.review link text'), :controller => 'user', :action => 'terms' %>
+ <% end %>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="fieldName"><%= t 'user.account.profile description' %></td>
+ <td><%= richtext_area :user, :description, :rows => '15', :cols => '80' %></td>
+ </tr>
+
+ <tr>
+ <td class="fieldName"><%= t 'user.account.preferred languages' %></td>
+ <td><%= f.text_field :languages %></td>
+ </tr>
+
+ <tr>
+ <td class="fieldName"><%= t 'user.account.preferred editor' %></td>
+ <td><%= f.select :preferred_editor, [[t("editor.default", :name => t("editor.#{DEFAULT_EDITOR}.name")), 'default']] + Editors::ALL_EDITORS.collect { |e| [t("editor.#{e}.description"), e] } %></td>
</tr>
- <tr><td class="fieldName" valign="top"><%= t 'user.account.profile description' %></td><td><%= f.text_area :description, :rows => '5', :cols => '60' %></td></tr>
+ <tr>
+ <td class="fieldName">
+ <%= t 'user.account.image' %>
+ </td>
+ <td valign="top">
+ <% if @user.image.file? %>
+ <table id="accountImage">
+ <tr>
+ <td rowspan="3" valign="top"><%= user_image @user %></td>
+ <td><%= radio_button_tag "image_action", "keep", true %></td>
+ <td><%= t 'user.account.keep image' %></td>
+ </tr>
+ <tr>
+ <td><%= radio_button_tag "image_action", "delete" %></td>
+ <td><%= t 'user.account.delete image' %></td>
+ </tr>
+ <tr>
+ <td><%= radio_button_tag "image_action", "new" %></td>
+ <td><%= t 'user.account.replace image' %><br /><%= f.file_field :image, :onchange => "$('image_action_new').prop('checked', true)" %><br /><span class="minorNote"><%= t 'user.account.image size hint' %></span></td>
+ </tr>
+ </table>
+ <% else %>
+ <%= hidden_field_tag "image_action", "new" %>
+ <%= t 'user.account.new image' %><br /><%= f.file_field :image %><br /><span class="minorNote"><%= t 'user.account.image size hint' %></span>
+ <% end %>
+ </td>
+ </tr>
- <tr><td class="fieldName" valign="top"><%= t 'user.account.preferred languages' %></td><td><%= f.text_field :languages %></td></tr>
+ <tr id="homerow" <% unless @user.home_lat and @user.home_lon %> class="nohome" <%end%> >
+ <td class="fieldName"><%= t 'user.account.home location' %></td>
+ <td><em class="message"><%= t 'user.account.no home location' %></em><span class="location"><%= t 'user.account.latitude' %> <%= f.text_field :home_lat, :size => 20, :id => "home_lat" %> <%= t 'user.account.longitude' %><%= f.text_field :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 class="fieldName"><%= t 'user.account.home location' %></td><td><em class="message"><%= t 'user.account.no home location' %></em><span class="location"><%= t 'user.account.latitude' %> <%= f.text_field :home_lat, :size => 20, :id => "home_lat" %><%= t 'user.account.longitude' %><%= f.text_field :home_lon, :size => 20, :id => "home_lon" %></span></td></tr>
+ <tr>
+ <td></td>
+ <td>
+ <p><%= t 'user.account.update home location on click' %> <input type="checkbox" value="1" <% unless @user.home_lat and @user.home_lon %> checked="checked" <% end %> id="updatehome" /> </p>
+ <% content_for :head do %>
+ <%= javascript_include_tag "user" %>
+ <% end %>
+ <%
+ home = @user.home_lat && @user.home_lon
+ data = {
+ :lon => @user.home_lon || params['lon'] || 0,
+ :lat => @user.home_lat || params['lat'] || 20,
+ :zoom => home ? 12 : params['zoom'] || 1,
+ :marker => !!home
+ }
- <tr><td></td><td>
- <p><%= t 'user.account.update home location on click' %> <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:500px; height:400px;"></div>
- </td></tr>
+ if params[:scale].to_f > 0 then
+ data[:zoom] = scale_to_zoom params[:scale]
+ end
+ %>
+ <%= content_tag "div", "", :id => "map", :class => "user_map set_location", :data => data %>
+ </td>
+ </tr>
- <tr><td></td><td align=right><br/><%= submit_tag t('user.account.save changes button') %></td></tr>
+ <tr>
+ <td></td>
+ <td class="submitButton"><%= submit_tag t('user.account.save changes button') %></td>
+ </tr>
</table>
-<br/>
-
<% end %>
-<%= render :partial => 'friend_map' %>
<% unless @user.data_public? %>
<a name="public"></a>
-<h2>Public editing</h2>
- 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>Since the 0.6 API changeover, only public users can edit map data</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">find out why</a>).<br />
- Your email address will not be revealed by becoming public.<br />
- This action cannot be reversed and all new users are now public by default.<br />
- <br /><br />
- <%= button_to t('user.account.make all my edits public button'), :action => :go_public %>
-<% end %>
-<h2><%= t 'user.account.my apps' %></h2>
-<% if @tokens.empty? %>
-<p><%= t 'oauth.token.none' %></p>
-<% else %>
-<table>
- <tr><th><%= t 'oauth.token.application' %></th><th><%= t 'oauth.token.issued' %></th><th> </th></tr>
- <% @tokens.each do |token|%>
- <% content_tag_for :tr, token do %>
- <td><%= link_to token.client_application.name, token.client_application.url %></td>
- <td><%= token.authorized_at %></td>
- <td>
- <% form_tag :controller => 'oauth', :action => 'revoke' do %>
- <%= hidden_field_tag 'token', token.token %>
- <%= submit_tag t('oauth.token.revoke') %>
- <% end %>
- </td>
- <% end %>
- <% end %>
-</table>
-<% end %>
-<h2><%= t 'user.account.developers' %></h2>
-<% if @user.client_applications.empty? %>
-<p><%= t 'user.account.dev_intro', :link => "<a href=\"http://oauth.net\">OAuth</a>" %></p>
-<p><%= link_to t('user.account.register_app'), :controller => 'oauth_clients', :action => :new %></p>
-<% else %>
-<p><%= t 'user.account.apps_registered' %></p>
-<ul><% @user.client_applications.each do |client| %>
- <li><% div_for client do %>
- <%= link_to client.name, :controller => 'oauth_clients', :action => :show, :id => client.id %>
- <% end %></li>
-<% end %></ul>
-<p><%= link_to t('user.account.register_another_app'), :controller => 'oauth_clients', :action => :new %></p>
+<h2><%= t 'user.account.public editing note.heading' %></h2>
+<%= raw t 'user.account.public editing note.text' %>
+ <%= button_to t('user.account.make edits public button'), :action => :go_public %>
<% end %>
-<br/>
-<br/>
-<%= link_to t('user.account.return to profile'), :controller => 'user', :action => @user.display_name %>
-<br/>
-<br/>