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])
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
end
render :text => doc.to_s
end
+
+
+ def view
+ @this_user = User.find_by_display_name(params[:display_name])
+ end
+
+
end
</div>
<span id="greeting">
- <% 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'}%>
<% cl = cycle('table0', 'table1') %>
<td class="<%= cl %>">
<% if trace.inserted %>
- <a href="<%= url_for :controller => 'trace', :action => 'view', :id => trace.id, :user_login => trace.user.display_name %>"><img src="<%= url_for :controller => 'trace', :action => 'icon', :id => trace.id, :user_login => trace.user.display_name %>" border="0"></a>
+ <a href="<%= url_for :controller => 'trace', :action => 'view', :id => trace.id, :display_name => trace.user.display_name %>"><img src="<%= url_for :controller => 'trace', :action => 'icon', :id => trace.id, :display_name => trace.user.display_name %>" border="0"></a>
<% else %>
<span style="color:red">PENDING</span>
<% end %>
<a href="/edit.html?lat=<%= trace.latitude %>&lon=<%= trace.longitude %>&zoom=14" title="create maps">map</a><br />
<%= trace.description %>
<br />
- 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| %>
<table>
<tr><td>id</td><td><%= @user.id %></td></tr>
<tr><td>email</td><td><%= @user.email %></td></tr>
- <tr><td>display name</td><td><%= @user.display_name %> (<%= link_to 'change...', :controller => 'user', :action => 'rename' %>)</td></tr>
- <tr><td>account created</td><td><%= @user.creation_time %></td></tr>
+ <tr><td>display name</td><td><%= @user.display_name %> (<%= link_to 'change...', :controller => 'user', :action => 'edit' %>)</td></tr>
+ <tr><td>account created</td><td><%= @user.creation_time %> (<%= time_ago_in_words(@user.creation_time) %> ago)</td></tr>
+ <tr><td>description</td><td><%= @user.description %> (<%= link_to 'change...', :controller => 'user', :action => 'edit' %>)</td></tr>
</table>
<h2>Privacy</h2>
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'
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\r
- map.connect '/user/:display_name/traces/page/:page', :controller => 'trace', :action => 'list', :id => nil\r
+ 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\r
+ 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'
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;