diff --git a/app/controllers/management/base_controller.rb b/app/controllers/management/base_controller.rb index 49a9eaf5d..8bc1da8f7 100644 --- a/app/controllers/management/base_controller.rb +++ b/app/controllers/management/base_controller.rb @@ -13,4 +13,12 @@ class Management::BaseController < ActionController::Base @current_manager ||= Manager.find(session["manager_id"]) if session["manager_id"] end + def current_user + @current_user ||= User.find(session["managed_user_id"]) if session["managed_user_id"] + end + + def set_managed_user(user) + session["managed_user_id"] = user.id + end + end diff --git a/app/controllers/management/document_verifications_controller.rb b/app/controllers/management/document_verifications_controller.rb index 14e426aa9..e14b02712 100644 --- a/app/controllers/management/document_verifications_controller.rb +++ b/app/controllers/management/document_verifications_controller.rb @@ -9,6 +9,7 @@ class Management::DocumentVerificationsController < Management::BaseController if @document_verification.valid? if @document_verification.verified? + set_managed_user(@document_verification.user) render :verified elsif @document_verification.user? render :new @@ -25,6 +26,7 @@ class Management::DocumentVerificationsController < Management::BaseController def create @document_verification = Verification::Management::Document.new(document_verification_params) @document_verification.verify + set_managed_user(@document_verification.user) render :verified end diff --git a/app/controllers/management/email_verifications_controller.rb b/app/controllers/management/email_verifications_controller.rb index 3558e6fbf..4334aeaf7 100644 --- a/app/controllers/management/email_verifications_controller.rb +++ b/app/controllers/management/email_verifications_controller.rb @@ -8,6 +8,7 @@ class Management::EmailVerificationsController < Management::BaseController @email_verification = Verification::Management::Email.new(email_verification_params) if @email_verification.save + set_managed_user(@email_verification.user) render :sent else render :new diff --git a/app/controllers/management/proposals_controller.rb b/app/controllers/management/proposals_controller.rb index 8ae63e94e..84ea43afa 100644 --- a/app/controllers/management/proposals_controller.rb +++ b/app/controllers/management/proposals_controller.rb @@ -28,12 +28,6 @@ class Management::ProposalsController < Management::BaseController params.require(:proposal).permit(:title, :question, :summary, :description, :external_url, :video_url, :responsible_name, :tag_list, :terms_of_service, :captcha, :captcha_key) end - def current_user - #CHANGE ME - #Should be user being managed - User.last - end - def resource_model Proposal end diff --git a/app/controllers/management/users_controller.rb b/app/controllers/management/users_controller.rb index 6a6c51f4f..721773b79 100644 --- a/app/controllers/management/users_controller.rb +++ b/app/controllers/management/users_controller.rb @@ -12,6 +12,7 @@ class Management::UsersController < Management::BaseController @user.verified_at = Time.now if @user.save then + set_managed_user(@user) render :show else render :new diff --git a/app/models/verification/email.rb b/app/models/verification/email.rb index dad706b52..7e177bd10 100644 --- a/app/models/verification/email.rb +++ b/app/models/verification/email.rb @@ -15,10 +15,13 @@ class Verification::Email return false unless valid? generate_token - user = User.where(document_number: verified_user.document_number).first user.update(email_verification_token: @plain_token) end + def user + User.where(document_number: verified_user.document_number).first + end + def generate_token @plain_token, @encrypted_token = Devise.token_generator.generate(User, :email_verification_token) end