Class: AccountController
Constant Summary
KitController::Pagebase
Instance Attribute Summary
#is_image_request, #kit_request, #layout_being_used, #requested_url, #template_being_used
Instance Method Summary
collapse
#anti_spam_okay?, #app_name, #can_moderate, #can_use, #captcha_okay?, #check_and_record_goal, #check_user, #csv_headers, #dif, #edit_page_path, #feature?, #get_asset, #get_view_content, #host_name, #index_name, #info_page_path, #kit_layout_in_use, #kit_render, #kit_session, #kit_session_end, #link_to, #mailchimp_connect, #mobile_template, #no_read, #no_write, #not_found, #not_found_404, #offline, #page_path, #pref, #rails_app_name, #render, #render_error, #render_page, #render_page_by_url, #routing_error, #sanity_check_okay?, #session_id, #set_requested_url, #show_form, #stylesheets, #super_render, #user_sees_menu?
Instance Method Details
#edit ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'app/controllers/account_controller.rb', line 7
def edit
redirect_to sign_in_url unless current_user
if request.post?
user.email = params[:email] unless params[:must_change_password]
if params[:must_change_password] || params[:password].not_blank? || params[:password_confirmation].not_blank?
user.skip_password = false
user.password = params[:password]
user.password_confirmation = params[:password_confirmation]
else
user.skip_password = true
end
if user.save
redirect_after_signin(:edit)
return
end
end
render_action "edit"
end
|
#forgotten ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'app/controllers/account_controller.rb', line 28
def forgotten
if request.post? && (params[:email].not_blank? || (params[:user] && params[:user][:email].not_blank?))
u = User.sys(_sid).where(:email=>(params[:email] || params[:user][:email])).first
if u
u.skip_password = true
u.reset_password_token = Digest::MD5.hexdigest(u.email + Time.now.to_s + rand(100000).to_s)
u.reset_password_sent_at = Time.now
u.save!
Notification.forgotten_password(u.id).deliver
Activity.add(_sid, "Sent password reset to user <a href='/admin/user/#{u.id}'>#{u.email}</a>", nil, "Users")
end
redirect_to sign_in_url, :notice=>t("account.reset_sent")
return
end
render_action("forgotten")
end
|
#reset ⇒ Object
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'app/controllers/account_controller.rb', line 46
def reset
code = params[:code]
u = User.sys(_sid).where(:reset_password_token=>params[:code]).where("reset_password_sent_at >= date_sub(now(), interval 24 hour)").where("reset_password_token is not null").first
if u
warden.set_user u
u.skip_password = true
u.record_signin(_sid, request)
u.reset_password_token = nil
u.save
render_action("edit", {:notice=>t("account.change_your_password"), :dont_show_intro=>true, :dont_show_leave_blank_passwords=>true, :must_change_password=>true})
else
render_action("forgotten", :notice=>t("account.reset_failed"))
end
end
|
#sign_in ⇒ Object
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
# File 'app/controllers/account_controller.rb', line 105
def sign_in
if request.post?
authenticate
if current_user
current_user.record_signin(_sid, request)
if params[:remember_me]
remember_for = (Preference.get_cached(_sid, "account_remember_for_days") || "90").to_i
cookies[:sign_in] = { :value=> current_user.remember_token, :expires=> remember_for.days.from_now }
end
if params[:return_to]
redirect_to params[:return_to]
elsif url = pref("url_after_sign_in")
redirect_to url
else
redirect_after_signin(:email)
end
return
else
u = User.record_failed_signin(_sid, request)
end
end
render_action("sign_in")
end
|
#sign_out ⇒ Object
130
131
132
133
134
135
136
137
138
139
140
141
|
# File 'app/controllers/account_controller.rb', line 130
def sign_out
if current_user
if current_user.respond_to?(:last_sign_out)
current_user.update_attributes(:last_sign_out=>Time.now)
end
current_user.dont_remember
warden.logout
end
redirect_to params[:url] || pref("url_after_sign_out") || "/"
end
|
#sign_up ⇒ Object
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
# File 'app/controllers/account_controller.rb', line 80
def sign_up
new_user = nil
if request.post?
new_user = User.new
new_user.skip_password = false
new_user.email = params[:email] || params[:user][:email]
new_user.password = params[:password] || params[:user][:password]
new_user.password_confirmation = params[:password_confirmation] || params[:user][:password_confirmation]
new_user.display_name = params[:display_name]
new_user.system_id = _sid
new_user.sign_up_ip = request.remote_ip
if new_user.save
process_new_user(new_user)
warden.set_user new_user
new_user.record_signin(_sid, request)
redirect_after_signup
return
end
end
@user = new_user
render_action("sign_up")
end
|
#unauthenticated ⇒ Object
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# File 'app/controllers/account_controller.rb', line 63
def unauthenticated
store_sign_in_redirect
if params[(Preference.get_cached(_sid, "account_token_param") || 'token').to_sym]
authenticate
if current_user
current_user.record_signin(_sid, request)
redirect_after_signin(:token)
else
redirect_after_signin(:token, true)
end
return
end
redirect_to_signin
end
|