<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" 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.new.confirm password' %></td>
+ <td><%= f.password_field :pass_crypt_confirmation, {:value => '', :size => 30, :maxlength => 255, :autocomplete => :off} %></td>
+ </tr>
- <tr><td class="fieldName" valign="top"><%= t 'user.account.preferred languages' %></td><td><%= f.text_field :languages %></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 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 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></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>
-
- <tr><td></td><td align=right><br/><%= submit_tag t('user.account.save changes button') %></td></tr>
-</table>
-<br/>
+ <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">
+ <%= t 'user.account.image' %>
+ </td>
+ <td class="accountImage">
+ <%= user_image @user %>
+ <table>
+ <% if @user.image.file? %>
+ <tr>
+ <td><%= radio_button_tag "image_action", "keep", !@user.image_use_gravatar %></td>
+ <td><%= t 'user.account.keep image' %></td>
+ </tr>
+ <% end %>
+ <% if @user.image.file? || @user.image_use_gravatar? %>
+ <tr>
+ <td><%= radio_button_tag "image_action", "delete" %></td>
+ <td><%= t 'user.account.delete image' %></td>
+ </tr>
+ <% end %>
+ <% if @user.image.file? %>
+ <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>
+ <% else %>
+ <tr>
+ <td><%= radio_button_tag "image_action", "new" %></td>
+ <td><%= t 'user.account.new 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>
+ <% end %>
+ <tr>
+ <td><%= radio_button_tag "image_action", "gravatar", @user.image_use_gravatar %></td>
+ <td><%= t 'user.account.gravatar.gravatar' %> <span class="minorNote">(<a href="<%= t 'user.account.gravatar.link' %>" target="_new"><%= t 'user.account.gravatar.link text' %></a>)</span></td>
+ </tr>
+ </table>
+ </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 %>
+ <%= content_tag "div", "", :id => "map", :class => "user_map set_location" %>
+ </td>
+ </tr>
+
+ <tr>
+ <td></td>
+ <td class="submitButton"><%= submit_tag t('user.account.save changes button') %></td>
+ </tr>
+</table>
<% 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/>