various user bits
authorSteve Coast <steve@asklater.com>
Sat, 7 Apr 2007 11:40:43 +0000 (11:40 +0000)
committerSteve Coast <steve@asklater.com>
Sat, 7 Apr 2007 11:40:43 +0000 (11:40 +0000)
app/controllers/user_controller.rb
app/views/layouts/site.rhtml
app/views/trace/_trace_optionals.rhtml
app/views/user/account.rhtml [new file with mode: 0644]
app/views/user/login.rhtml
app/views/user/rename.rhtml [new file with mode: 0644]
db/migrate.sql
public/stylesheets/site.css

index 4a4d4d855a5c2b7681dcec9d98d2e1d5a31bae88..599521265cc9cb8c4ed3121718c93fa57179d9e4 100644 (file)
@@ -2,9 +2,9 @@ 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])
     @user.set_defaults
@@ -17,20 +17,15 @@ class UserController < ApplicationController
       render :action => 'new'
     end
   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
index 1154237cb811924a56b744b0c980d37f159f42cb..d32490729f6cd5fd86edbf92a742e554b0f26d3f 100644 (file)
@@ -15,7 +15,7 @@
     <% end %>
     <div id="content">
       <% if flash[:notice] %>
-      <div id="notice"><%= flash[:notice] %></div>
+        <div id="notice"><%= flash[:notice] %></div>
       <% end %>
 
       <%= yield %>
     </div>
 
     <span id="greeting">
-      <% if @user %>
-      Welcome, <%= @user.display_name %> |
-      <%= link_to 'logout', {:controller => 'user', :action => 'logout'}, {:id => 'loginanchor'}%>
+        <% 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'}%> |
-      <%= link_to 'sign up', {:controller => 'user', :action => 'new'}, {:id => 'registeranchor'} %>
+        <%= link_to 'log in', {:controller => 'user', :action => 'login'}, {:id => 'loginanchor'}%> |
+        <%= link_to 'sign up', {:controller => 'user', :action => 'new'}, {:id => 'registeranchor'} %>
       <% end %>
     </span>
 
index 394e6daa0a5496b39e0f11875f0acd1ac3bd8d35..20db1f495fdc1322ec5319bf822954b21ed27beb 100644 (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 %>
diff --git a/app/views/user/account.rhtml b/app/views/user/account.rhtml
new file mode 100644 (file)
index 0000000..c260896
--- /dev/null
@@ -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 %>
+
index 31fe7e4159a39b674e5e36fffc86c9530989dd08..09ace0f516a66801fad7fdeaa2e94ca098659e0a 100644 (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' %>)
diff --git a/app/views/user/rename.rhtml b/app/views/user/rename.rhtml
new file mode 100644 (file)
index 0000000..5e9db6f
--- /dev/null
@@ -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 %>
index 80d11eb9a0b7dab8641e9fa74d64f9c7e0814f94..a884156d4eaac4b148504b58b117532a2f7e1a27 100644 (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;
@@ -26,4 +28,7 @@ create index gpx_file_tags_gpxid_idx on gpx_file_tags(gpx_id);
 alter table gpx_file_tags add id int(20) auto_increment not null, add primary key(id);
 
 alter table users add preferences text;
-create index users_display_name_idx on users(display_name);
\ No newline at end of file
+create index users_display_name_idx on users(display_name);
+
+alter table users add public boolean default false;
+
index e18b182b9f6e5e065f082ee92d13d4e6e3ce22fa..d49b603ad5894a472bb61dd00b8debe466f8de9a 100644 (file)
@@ -370,10 +370,10 @@ hides rule from IE5-Mac \*/
 }\r
 \r
 #notice {\r
-  width: 400px;\r
-  border: 1px solid black;\r
+  border: 1px solid green;\r
   padding: 7px;\r
-  background-color: #f0f0f0;\r
+  background-color: #f0fff0;\r
+  margin-bottom: 20px;\r
 }\r
 \r
 #errorExplanation {\r