app/controllers/admin/sessions_controller.rb in camaleon_cms-1.0.4 vs app/controllers/admin/sessions_controller.rb in camaleon_cms-1.0.5
- old
+ new
@@ -26,19 +26,19 @@
cipher = Gibberish::AES::CBC.new(get_session_id)
data_user[:password] = cipher.decrypt(data_user[:password]) rescue nil
@user = current_site.users.find_by_username(data_user[:username])
captcha_validate = captcha_verify_if_under_attack("login")
r = {user: @user, params: params, password: data_user[:password], captcha_validate: captcha_validate}; hooks_run("user_before_login", r)
- if captcha_validate && @user && @user.authenticate(data_user[:password])
+ if captcha_validate && @user && @user.authenticate(data_user[:password])
captcha_reset_attack("login")
login_user(@user, params[:remember_me].present?)
else
captcha_increment_attack("login")
if captcha_validate
- flash[:error] = t('admin.login.message.fail')
+ flash[:error] = t('admin.login.message.fail')
else
- flash[:error] = "Invalid captcha"
+ flash[:error] = "Invalid captcha"
end
@user = current_site.users.new(data_user)
render 'admin/sessions/login'
end
end
@@ -89,11 +89,11 @@
reset_url = admin_forgot_url({h: @user.password_reset_token})
html = "<p>#{t('admin.login.message.hello')}, <b>#{@user.fullname}</b></p>
<p>#{t('admin.login.message.reset_url')}:</p>
<p><a href='#{reset_url}'><b>#{reset_url}</b></a></p> "
- sendmail(@user.email,t('admin.login.message.subject_email'), html)
+ sendmail(@user.email, t('admin.login.message.subject_email'), html)
flash[:notice] = t('admin.login.message.send_mail_succes')
redirect_to admin_login_path
return
else
@@ -110,24 +110,31 @@
params[:user][:role] = "client"
user_data = params[:user]
@user = current_site.users.new(user_data)
- r = {user: @user, params: params}; hooks_run("user_before_register", r)
- if captcha_verified? && @user.save
- @user.set_meta_from_form(params[:meta])
- r = {user: @user, message: t('admin.users.message.created'), redirect_url: admin_login_path}; hooks_run("user_after_register", r)
- flash[:notice] = r[:message]
- redirect_to r[:redirect_url]
- else
+ r = {user: @user, params: params}; hooks_run('user_before_register', r)
+
+ if current_site.security_user_register_captcha_enabled? && !captcha_verified?
@first_name = params[:meta][:first_name]
@last_name = params[:meta][:last_name]
- @user.errors[:captcha] = t('admin.users.message.error_captcha')
- render "register"
+ @user.errors[:captcha] = t('admin.users.message.error_captcha')
+ render 'register'
+ else
+ if @user.save
+ @user.set_meta_from_form(params[:meta])
+ r = {user: @user, message: t('admin.users.message.created'), redirect_url: admin_login_path}; hooks_run('user_after_register', r)
+ flash[:notice] = r[:message]
+ redirect_to r[:redirect_url]
+ else
+ @first_name = params[:meta][:first_name]
+ @last_name = params[:meta][:last_name]
+ render 'register'
+ end
end
else
- render "register"
+ render 'register'
end
end
private