From cc44859be857f23cc4d31d33ca95bd43b3d96a3e Mon Sep 17 00:00:00 2001 From: Michel Felipe de Oliveira Ferreira Date: Fri, 21 Aug 2015 16:18:52 -0300 Subject: [PATCH] Apply suggestions of @brauliobo. Change the scope of UserNotActive exception to User model namespace --- app/controllers/public/account_controller.rb | 2 +- app/models/user.rb | 28 +++++++++++++--------------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/app/controllers/public/account_controller.rb b/app/controllers/public/account_controller.rb index 6cb381d..5775657 100644 --- a/app/controllers/public/account_controller.rb +++ b/app/controllers/public/account_controller.rb @@ -48,7 +48,7 @@ class AccountController < ApplicationController begin self.current_user ||= User.authenticate(params[:user][:login], params[:user][:password], environment) if params[:user] - rescue NoosferoExceptions::UserNotActivated => e + rescue User::UserNotActivated => e session[:notice] = e.message return end diff --git a/app/models/user.rb b/app/models/user.rb index 0b9f998..fe8a563 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -242,11 +242,21 @@ class User < ActiveRecord::Base password.crypt(salt) end + class UserNotActivated < StandardError + attr_reader :user + + def initialize(message, user = nil) + @user = user + + super(message) + end + end + def authenticated?(password) unless self.activated? message = _('The user "%{login}" is not activated! Please check your email to activate your user') % {login: self.login} - raise NoosferoExceptions::UserNotActivated.new(message, self) + raise UserNotActivated.new(message, self) end result = (crypted_password == encrypt(password)) @@ -293,9 +303,9 @@ class User < ActiveRecord::Base self.errors.add(:current_password, _('does not match.')) raise IncorrectPassword end - rescue NoosferoExceptions::UserNotActivated => e + rescue UserNotActivated => e self.errors.add(:current_password, e.message) - raise IncorrectPassword + raise UserNotActivated end self.force_change_password!(new, confirmation) end @@ -411,15 +421,3 @@ class User < ActiveRecord::Base Delayed::Job.enqueue(UserActivationJob.new(self.id), {:priority => 0, :run_at => (NOOSFERO_CONF['hours_until_user_activation_check'] || 72).hours.from_now}) end end - -module NoosferoExceptions - class UserNotActivated < ActiveRecord::ActiveRecordError - attr_reader :user - - def initialize(message, user = nil) - @user = user - - super(message) - end - end -end -- libgit2 0.21.2