| Class | UsersController |
| In: |
app/controllers/users_controller.rb
|
| Parent: | ApplicationController |
File users_controller.rb Project iboard4 Author Andreas Altendorfer Copyright 2009 by Andreas Altendorfer
UserController makes use of AuthLogic-Gem
# File app/controllers/users_controller.rb, line 35
35: def create
36: params[:user][:password] = Randomizer::randstr(10)
37: params[:user][:password_confirmation] = params[:user][:password]
38: @user = User.new(params[:user])
39: @user.is_admin = params[:user][:is_admin] if is_admin?
40: @user.invitations_left = params[:user][:invitations_left] if is_admin?
41: if @user.save
42: flash[:notice] = t(:registration_successfull)
43: UserSession.find.destroy
44: @user.send_later(:deliver_new_account_instructions, t(:new_account_instructions_subject))
45: if params[:token]
46: @invitation = Invitation.find_by_token(params[:token])
47: if @invitation
48: @invitation.recipient_id = @user.id
49: @invitation.save
50: end
51: end
52: redirect_to root_url
53: else
54: render :action => 'new'
55: end
56: end
# File app/controllers/users_controller.rb, line 103
103: def destroy
104: if is_admin? && !params[:id].blank?
105: @user = User.find(params[:id])
106: else
107: @user = current_user
108: end
109: @user.destroy
110: redirect_to :action => :index
111: end
# File app/controllers/users_controller.rb, line 58
58: def edit
59: if is_admin? && !params[:id].blank? && params[:id] != 'current'
60: @user = User.find(params[:id])
61: else
62: @user = current_user
63: end
64: end
# File app/controllers/users_controller.rb, line 12
12: def index
13: @search = User.search(params[:search])
14: @users = @search.paginate( :page => params[:page], :per_page => USERS_PER_PAGE )
15: end
# File app/controllers/users_controller.rb, line 26
26: def new
27: @invitation = Invitation.find_by_token(params[:token])
28: if @invitation
29: @user = User.new(:email => @invitation.recipient_email)
30: else
31: flash[:error] = t(:no_invitation_token_found)
32: end
33: end
# File app/controllers/users_controller.rb, line 82
82: def remove_avatar
83: if is_admin? && !params[:id].blank?
84: @user = User.find(params[:id])
85: else
86: @user = current_user
87: end
88:
89: @user.avatar = nil
90:
91: if @user.save
92: flash[:notice] = t(:avatar_successfully_removed)
93: respond_to do |format|
94: format.html { redirect_to edit_user_path(@user) }
95: format.js
96: end
97: else
98: flash[:error] = t(:error_removing_avatar)
99: redirect_to edit_user_path(@user)
100: end
101: end
# File app/controllers/users_controller.rb, line 17
17: def show
18: if !params[:id].blank? && params[:id] != 'current'
19: @user = User.find(params[:id])
20: else
21: @user = current_user
22: end
23: @mypostings = @user.postings.descend_by_updated_at.paginate(:page => params[:page], :per_page => POSTINGS_PER_PAGE)
24: end
# File app/controllers/users_controller.rb, line 66
66: def update
67: if is_admin? && !params[:id].blank?
68: @user = User.find(params[:id])
69: else
70: @user = current_user
71: end
72: @user.is_admin = params[:user][:is_admin] if is_admin?
73: @user.invitations_left = params[:user][:invitations_left] if is_admin?
74: if @user.update_attributes(params[:user])
75: flash[:notice] = t(:profile_successfully_updated)
76: redirect_to root_url
77: else
78: render :action => 'edit'
79: end
80: end