various user bits

This commit is contained in:
Steve Coast 2007-04-07 11:40:43 +00:00
parent 3789c7b592
commit c382f33e1c
8 changed files with 45 additions and 36 deletions

View file

@ -2,8 +2,8 @@ class UserController < ApplicationController
layout 'site'
before_filter :authorize, :only => :preferences
before_filter :authorize_web, :only => :rename
before_filter :authorize_web, :only => [:rename, :account]
before_filter :require_user, :only => [:account, :display_name_edit]
def save
@user = User.new(params[:user])
@ -19,18 +19,13 @@ class UserController < ApplicationController
end
def rename
new_name = params['display_name']
if @user
@user.display_name = new_name
if params[:user] and params[:user][:display_name]
@user.display_name = params[:user][:display_name]
if @user.save
flash[:notice] = "User display name updated OK."
else
flash[:notice] = "Rename failed: #{ @user.errors.full_messages.join('; ') }."
redirect_to :controller => 'user', :action => 'account'
end
else
flash[:notice] = 'not logged in'
end
redirect_to :back
end
def lost_password

View file

@ -25,6 +25,7 @@
<span id="greeting">
<% if @user %>
Welcome, <%= @user.display_name %> |
<%= link_to 'account', {:controller => 'user', :action => 'account'}, {:id => 'loginanchor'}%> |
<%= link_to 'logout', {:controller => 'user', :action => 'logout'}, {:id => 'loginanchor'}%>
<% else %>
<%= link_to 'log in', {:controller => 'user', :action => 'login'}, {:id => 'loginanchor'}%> |

View file

@ -9,17 +9,4 @@
<% end %>
<% end %>
</div>
<% if @user %>
<div class="optionalbox">
<span class="oboxheader">User</span>
<br />
<br />
<form action="/user/rename" method="get" style="margin: 0px">
<span>Display name:</span><br />
<input type="text" value="<%= @user.display_name %>" maxlength="255" size="8" name="display_name"/>
<input type="submit" value="Save"/>
<input type="hidden" value="<%= request.request_uri %>" name="redirect_url"/>
</form>
</div>
<% end %>
<% end %>

View file

@ -0,0 +1,14 @@
<h2>User details</h2>
<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>
</table>
<h2>Privacy</h2>
<%= start_form_tag :controller => 'user', :action => 'public'%>
<%= submit_tag 'Make all my edits public, forever' %>
<%= end_form_tag %>

View file

@ -8,6 +8,6 @@ Please login or <%= link_to 'create an account', :controller => 'user', :action
</table>
<br>
<input type="submit" value="Login">
<%= submit_tag 'Login' %>
<%= end_form_tag %> (<%= link_to 'Lost your password?', :controller => 'user', :action => 'lost_password' %>)

View file

@ -0,0 +1,7 @@
<h2>Display name:</h2>
<%= error_messages_for 'user' %>
<%= start_form_tag :controller => 'user', :action => 'rename' %>
<%= text_field :user, :display_name, :value => @user.display_name %>
<%= submit_tag 'Change' %>
<%= end_form_tag %>

View file

@ -1,3 +1,5 @@
/* this script when run on the current db migrates it to rails */
drop table meta_nodes;
alter table current_nodes modify tags text not null;
alter table current_nodes modify id bigint(64) not null auto_increment;
@ -27,3 +29,6 @@ alter table gpx_file_tags add id int(20) auto_increment not null, add primary ke
alter table users add preferences text;
create index users_display_name_idx on users(display_name);
alter table users add public boolean default false;

View file

@ -370,10 +370,10 @@ hides rule from IE5-Mac \*/
}
#notice {
width: 400px;
border: 1px solid black;
border: 1px solid green;
padding: 7px;
background-color: #f0f0f0;
background-color: #f0fff0;
margin-bottom: 20px;
}
#errorExplanation {