Add an explicit "default editor" option to the user settings
[rails.git] / app / views / user / account.html.erb
index 1cc6b4a29817fb348e96f93fd4b51080481cc7b5..7047b5b8213e47cfa92b7b4047a6696b5f038b4a 100644 (file)
 <h2><%= t 'user.account.my settings' %></h2>
 <%= 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.text_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" 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>
+  </tr>
+
+  <tr>
+    <td class="fieldName" valign="top"><%= 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" valign="top"><%= t 'user.account.profile description' %></td>
+    <td><%= f.text_area :description, :rows => '5', :cols => '60' %></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" valign="top"><%= t 'user.account.profile description' %></td><td><%= f.text_area :description, :rows => '5', :cols => '60' %></td></tr>
+  <tr>
+    <td class="fieldName" valign="top"><%= 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.preferred languages' %></td><td><%= f.text_field :languages %></td></tr>
+  <tr>
+    <td class="fieldName" valign="top">
+      <%= t 'user.account.image' %>
+    </td>
+    <td valign="top">
+      <% if @user.image.nil? %>
+        <%= hidden_field_tag "image_action", "new" %>
+        <%= t 'user.account.new image' %><br /><%= file_column_field "user", "image" %><br /><span class="minorNote"><%= t 'user.account.image size hint' %></span>
+      <% else %>
+        <table id="accountImage">
+          <tr>
+            <td rowspan="3" valign="top"><%= image_tag url_for_file_column(@user, "image"), :class => "user_image" %></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 /><%= file_column_field "user", "image", :onchange => "$('image_action_new').checked = true" %><br /><span class="minorNote"><%= t 'user.account.image size hint' %></span></td>
+          </tr>
+        </table>
+      <% end %>
+    </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>
-  <div id="map" style="border:1px solid black; position:relative; width:500px; height:400px;"></div>
-  </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" class="user_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>
+  <tr>
+    <td></td>
+    <td align=right><br/><%= submit_tag t('user.account.save changes button') %></td>
+  </tr>
 </table>
-<br/>
-
 <% end %>
 
-<%= render :partial => 'friend_map' %>
+<%= render :partial => '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>&nbsp;</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>
+<%= t 'user.account.public editing note.text' %>
+  <%= button_to t('user.account.make edits public button'), :action => :go_public %>
 <% end %>
 <br/>
 <br/>