Renamed helpers to correspond to renamed Controller classes.
[merb_radiant.git] / app / controllers / admin / .svn / text-base / user_controller.rb.svn-base
blobb1e168731c688a1a0a27f9d078ef3f85d64b3d62
1 class Admin::UserController < Admin::AbstractModelController
2   model_class User
3   
4   only_allow_access_to :index, :new, :edit, :remove,
5     :when => :admin,
6     :denied_url => {:controller => 'page', :action => :index},
7     :denied_message => 'You must have administrative privileges to perform this action.'
8   
9   def preferences
10     @user = current_user
11     if valid_params?
12       handle_new_or_edit_post(
13         :redirect_to => page_index_url,
14         :saved_message => 'Your preferences have been saved.'
15       )
16     else
17       announce_bad_data
18     end
19   end
20   
21   def remove
22     if current_user.id.to_s == params[:id].to_s
23       announce_cannot_delete_self
24       redirect_to user_index_url
25     else
26       super
27     end
28   end
29   
30   private
31   
32     def announce_cannot_delete_self
33       flash[:error] = 'You cannot delete yourself.'
34     end
35   
36     def announce_bad_data
37       flash[:error] = 'Bad form data.'
38     end
39     
40     def valid_params?
41       hash = (params[:user] || {}).symbolize_keys
42       (hash.keys - [:password, :password_confirmation, :email]).size == 0
43     end
44 end