allow a user to make data public
authorSteve Coast <steve@asklater.com>
Sat, 7 Apr 2007 11:48:20 +0000 (11:48 +0000)
committerSteve Coast <steve@asklater.com>
Sat, 7 Apr 2007 11:48:20 +0000 (11:48 +0000)
app/controllers/user_controller.rb
app/views/user/account.rhtml
db/migrate.sql

index 599521265cc9cb8c4ed3121718c93fa57179d9e4..6561d46fb1ee00952be9a1094da472ba25d789fb 100644 (file)
@@ -2,8 +2,8 @@ class UserController < ApplicationController
   layout 'site'
 
   before_filter :authorize, :only => :preferences
-  before_filter :authorize_web, :only => [:rename, :account]
-  before_filter :require_user, :only => [:account, :display_name_edit]
+  before_filter :authorize_web, :only => [:rename, :account, :go_public]
+  before_filter :require_user, :only => [:rename, :account, :go_public]
  
   def save
     @user = User.new(params[:user])
@@ -28,6 +28,13 @@ class UserController < ApplicationController
     end
   end
 
+  def go_public
+    @user.data_public = true
+    @user.save
+    flash[:notice] = 'All your edits are now public'
+    redirect_to :controller => 'user', :action => 'account'
+  end
+
   def lost_password
     if params['user']['email']
       user = User.find_by_email(params['user']['email'])
index c2608967123facf5814a5570d507c09849d3b3ae..bfa247904c0941d1c0de3f9ff5cecc6453793c28 100644 (file)
@@ -7,8 +7,12 @@
 </table>
 
 <h2>Privacy</h2>
-
-<%= start_form_tag :controller => 'user', :action => 'public'%>
-<%= submit_tag 'Make all my edits public, forever' %>
-<%= end_form_tag %>
-
+<% if @user.data_public? %>
+  All your edits are public.
+<% else %>
+  Currently your edits are ananymous and people can't find out where you are located. To show what you edited and allow people to contact you through the website, click the button below. This action cannot be reversed.
+  <br /><br />
+  <%= start_form_tag :controller => 'user', :action => 'go_public'%>
+  <%= submit_tag 'Make all my edits public, forever' %>
+  <%= end_form_tag %>
+<% end %>
index a884156d4eaac4b148504b58b117532a2f7e1a27..65f0326da6aee72b423ab436f81468a65d8e3127 100644 (file)
@@ -30,5 +30,5 @@ 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;
+alter table users add data_public boolean default false;