Move support for adding and deleting user images to the user settings
page and reposition the user image ont he user page in the top right corner of the page.
This commit is contained in:
parent
9a3ef885bb
commit
c55490d24e
5 changed files with 45 additions and 38 deletions
|
@ -4,9 +4,9 @@ class UserController < ApplicationController
|
|||
before_filter :authorize, :only => [:api_details, :api_gpx_files]
|
||||
before_filter :authorize_web, :except => [:api_details, :api_gpx_files]
|
||||
before_filter :set_locale, :except => [:api_details, :api_gpx_files]
|
||||
before_filter :require_user, :only => [:set_home, :account, :go_public, :make_friend, :remove_friend, :upload_image, :delete_image]
|
||||
before_filter :require_user, :only => [:set_home, :account, :go_public, :make_friend, :remove_friend]
|
||||
before_filter :check_database_readable, :except => [:api_details, :api_gpx_files]
|
||||
before_filter :check_database_writable, :only => [:login, :new, :set_home, :account, :go_public, :make_friend, :remove_friend, :upload_image, :delete_image]
|
||||
before_filter :check_database_writable, :only => [:login, :new, :set_home, :account, :go_public, :make_friend, :remove_friend]
|
||||
before_filter :check_api_readable, :only => [:api_details, :api_gpx_files]
|
||||
before_filter :require_allow_read_prefs, :only => [:api_details]
|
||||
before_filter :require_allow_read_gpx, :only => [:api_gpx_files]
|
||||
|
@ -57,6 +57,12 @@ class UserController < ApplicationController
|
|||
|
||||
@user.description = params[:user][:description]
|
||||
@user.languages = params[:user][:languages].split(",")
|
||||
|
||||
case params[:image_action]
|
||||
when "new" then @user.image = params[:user][:image]
|
||||
when "delete" then @user.image = nil
|
||||
end
|
||||
|
||||
@user.home_lat = params[:user][:home_lat]
|
||||
@user.home_lon = params[:user][:home_lon]
|
||||
|
||||
|
@ -253,18 +259,6 @@ class UserController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def upload_image
|
||||
@user.image = params[:user][:image]
|
||||
@user.save!
|
||||
redirect_to :controller => 'user', :action => 'view', :display_name => @user.display_name
|
||||
end
|
||||
|
||||
def delete_image
|
||||
@user.image = nil
|
||||
@user.save!
|
||||
redirect_to :controller => 'user', :action => 'view', :display_name => @user.display_name
|
||||
end
|
||||
|
||||
def api_gpx_files
|
||||
doc = OSM::API.new.get_xml_doc
|
||||
@user.traces.each do |trace|
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<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" 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>
|
||||
|
@ -23,6 +23,34 @@
|
|||
|
||||
<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" %>
|
||||
<% else %>
|
||||
<table>
|
||||
<tr>
|
||||
<td rowspan="3" valign="top"><%= image_tag url_for_file_column(@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" %></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><td></td><td>
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
<% if @this_user.image %>
|
||||
<%= image_tag url_for_file_column(@this_user, "image"), :align => "right", :float => "left" %>
|
||||
<% end %>
|
||||
<h2><%= h(@this_user.display_name) %>
|
||||
<% UserRole::ALL_ROLES.each do |role| %>
|
||||
<% if @user and @user.administrator? %>
|
||||
|
@ -64,23 +67,6 @@
|
|||
<p><b><%= t 'user.view.created from' %></b> <%= @this_user.creation_ip %></p>
|
||||
<% end %>
|
||||
|
||||
<h3><%= t 'user.view.user image heading' %></h3>
|
||||
<% if @this_user.image %>
|
||||
<%= image_tag url_for_file_column(@this_user, "image") %>
|
||||
<% if @user and @this_user.id == @user.id %>
|
||||
<%= button_to t('user.view.delete image'), :action => 'delete_image' %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<br />
|
||||
|
||||
<% if @user and @this_user.id == @user.id %>
|
||||
<%= t 'user.view.upload an image' %><br />
|
||||
<%= form_tag({:action=>'upload_image'}, :multipart => true)%>
|
||||
<%= file_column_field 'user', 'image' %>
|
||||
<%= submit_tag t('user.view.add image') %>
|
||||
</form>
|
||||
<% end %>
|
||||
|
||||
<h3><%= t 'user.view.description' %></h3>
|
||||
<div id="description"><%= htmlize(@this_user.description) %></div>
|
||||
|
||||
|
|
|
@ -1409,10 +1409,6 @@ en:
|
|||
ago: "({{time_in_words_ago}} ago)"
|
||||
email address: "Email address:"
|
||||
created from: "Created from:"
|
||||
user image heading: User image
|
||||
delete image: Delete Image
|
||||
upload an image: Upload an image
|
||||
add image: Add Image
|
||||
description: Description
|
||||
user location: User location
|
||||
no home location: "No home location has been set."
|
||||
|
@ -1465,6 +1461,11 @@ en:
|
|||
text: "Currently your edits are anonymous and people cannot 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>).<ul><li>Your email address will not be revealed by becoming public.</li><li>This action cannot be reversed and all new users are now public by default.</li></ul>"
|
||||
profile description: "Profile Description:"
|
||||
preferred languages: "Preferred Languages:"
|
||||
image: "Image:"
|
||||
new image: "Add an image"
|
||||
keep image: "Keep the current image"
|
||||
delete image: "Remove the current image"
|
||||
replace image: "Replace the current image"
|
||||
home location: "Home Location:"
|
||||
no home location: "You have not entered your home location."
|
||||
latitude: "Latitude:"
|
||||
|
|
|
@ -101,8 +101,6 @@ ActionController::Routing::Routes.draw do |map|
|
|||
map.connect '/user/confirm-email', :controller => 'user', :action => 'confirm_email'
|
||||
map.connect '/user/go_public', :controller => 'user', :action => 'go_public'
|
||||
map.connect '/user/reset-password', :controller => 'user', :action => 'reset_password'
|
||||
map.connect '/user/upload-image', :controller => 'user', :action => 'upload_image'
|
||||
map.connect '/user/delete-image', :controller => 'user', :action => 'delete_image'
|
||||
map.connect '/user/forgot-password', :controller => 'user', :action => 'lost_password'
|
||||
|
||||
map.connect '/index.html', :controller => 'site', :action => 'index'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue