From: Steve Coast Date: Sat, 7 Apr 2007 19:33:20 +0000 (+0000) Subject: user bits X-Git-Tag: live~8526 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/3aabf07e1038abf8cf471e463e00309df77df603 user bits --- diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index f3ec2e243..d79041b4f 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -2,8 +2,8 @@ class UserController < ApplicationController layout 'site' before_filter :authorize, :only => [:preferences, :api_details, :api_gpx_files] - before_filter :authorize_web, :only => [:rename, :account, :go_public] - before_filter :require_user, :only => [:rename, :account, :go_public] + before_filter :authorize_web, :only => [:edit, :account, :go_public] + before_filter :require_user, :only => [:edit, :account, :go_public] def save @user = User.new(params[:user]) @@ -18,11 +18,12 @@ class UserController < ApplicationController end end - def rename - if params[:user] and params[:user][:display_name] + def edit + if params[:user] and params[:user][:display_name] and params[:user][:description] @user.display_name = params[:user][:display_name] + @user.description = params[:user][:description] if @user.save - flash[:notice] = "User display name updated OK." + flash[:notice] = "User edited OK." redirect_to :controller => 'user', :action => 'account' end end @@ -137,5 +138,12 @@ class UserController < ApplicationController end render :text => doc.to_s end + + + def view + @this_user = User.find_by_display_name(params[:display_name]) + end + + end diff --git a/app/views/layouts/site.rhtml b/app/views/layouts/site.rhtml index d32490729..c7670e795 100644 --- a/app/views/layouts/site.rhtml +++ b/app/views/layouts/site.rhtml @@ -23,7 +23,7 @@ - <% if @user %> + <% if @user %> Welcome, <%= @user.display_name %> | <%= link_to 'account', {:controller => 'user', :action => 'account'}, {:id => 'loginanchor'}%> | <%= link_to 'logout', {:controller => 'user', :action => 'logout'}, {:id => 'loginanchor'}%> diff --git a/app/views/trace/_trace.rhtml b/app/views/trace/_trace.rhtml index f6c00448b..b79638d17 100644 --- a/app/views/trace/_trace.rhtml +++ b/app/views/trace/_trace.rhtml @@ -2,7 +2,7 @@ <% cl = cycle('table0', 'table1') %> <% if trace.inserted %> - + <% else %> PENDING <% end %> @@ -17,7 +17,7 @@ map
<%= trace.description %>
- by <%= link_to trace.user.display_name, {:controller => 'trace', :action => 'list', :display_name => trace.user.display_name} %> + by <%= link_to trace.user.display_name, {:controller => 'user', :action => 'view', :display_name => trace.user.display_name} %> in <% if trace.tags %> <% trace.tags.each do |tag| %> diff --git a/app/views/user/account.rhtml b/app/views/user/account.rhtml index bfa247904..81f72fe04 100644 --- a/app/views/user/account.rhtml +++ b/app/views/user/account.rhtml @@ -2,8 +2,9 @@ - - + + +
id<%= @user.id %>
email<%= @user.email %>
display name<%= @user.display_name %> (<%= link_to 'change...', :controller => 'user', :action => 'rename' %>)
account created<%= @user.creation_time %>
display name<%= @user.display_name %> (<%= link_to 'change...', :controller => 'user', :action => 'edit' %>)
account created<%= @user.creation_time %> (<%= time_ago_in_words(@user.creation_time) %> ago)
description<%= @user.description %> (<%= link_to 'change...', :controller => 'user', :action => 'edit' %>)

Privacy

diff --git a/app/views/user/rename.rhtml b/app/views/user/edit.rhtml similarity index 100% rename from app/views/user/rename.rhtml rename to app/views/user/edit.rhtml diff --git a/config/routes.rb b/config/routes.rb index 9d26eb0fa..039eea09f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -33,6 +33,7 @@ ActionController::Routing::Routes.draw do |map| map.connect '/search.html', :controller => 'way_tag', :action => 'search' map.connect '/login.html', :controller => 'user', :action => 'login' map.connect '/logout.html', :controller => 'user', :action => 'logout' + map.connect '/account', :controller => 'user', :action => 'account' map.connect '/create-account.html', :controller => 'user', :action => 'new' map.connect '/forgot-password.html', :controller => 'user', :action => 'lost_password' @@ -44,13 +45,18 @@ ActionController::Routing::Routes.draw do |map| map.connect '/traces/mine/tag/:tag', :controller => 'trace', :action => 'mine' map.connect '/traces/mine/tag/:tag/page/:page', :controller => 'trace', :action => 'mine' map.connect '/traces/rss', :controller => 'trace', :action => 'georss' - map.connect '/user/:display_name/traces', :controller => 'trace', :action => 'list', :id => nil - map.connect '/user/:display_name/traces/page/:page', :controller => 'trace', :action => 'list', :id => nil + map.connect '/user/:display_name/traces', :controller => 'trace', :action => 'list', :id => nil + map.connect '/user/:display_name/traces/page/:page', :controller => 'trace', :action => 'list', :id => nil map.connect '/user/:display_name/traces/:id', :controller => 'trace', :action => 'view', :id => nil map.connect '/user/:display_name/traces/:id/picture', :controller => 'trace', :action => 'picture', :id => nil map.connect '/user/:display_name/traces/:id/icon', :controller => 'trace', :action => 'icon', :id => nil map.connect '/traces/tag/:tag', :controller => 'trace', :action => 'list', :id => nil - map.connect '/traces/tag/:tag/page/:page', :controller => 'trace', :action => 'list', :id => nil + map.connect '/traces/tag/:tag/page/:page', :controller => 'trace', :action => 'list', :id => nil + + # user pages + + map.connect '/user/:display_name', :controller => 'user', :action => 'view' + map.connect '/user/:display_name/diary', :controller => 'diary', :action => 'view' # test pages map.connect '/test/populate/:table/:from/:count', :controller => 'test', :action => 'populate' diff --git a/db/migrate.sql b/db/migrate.sql index 6073c96a7..f6d2fc408 100644 --- a/db/migrate.sql +++ b/db/migrate.sql @@ -33,3 +33,5 @@ create index users_display_name_idx on users(display_name); alter table users add data_public boolean default false; alter table gpx_files drop column tmpname; + +alter table users add column description text not null;