Class: RailsBase::UserSettingsController
- Inherits:
-
RailsBaseApplicationController
- Object
- ActionController::Base
- RailsBaseApplicationController
- RailsBase::UserSettingsController
- Includes:
- UserSettingsHelper
- Defined in:
- app/controllers/rails_base/user_settings_controller.rb
Constant Summary
Constants included from UserSettingsHelper
RailsBase::UserSettingsHelper::CONFIRM_PASSWORD_FLOW, RailsBase::UserSettingsHelper::DATUM_LENGTH, RailsBase::UserSettingsHelper::DATUM_REASON, RailsBase::UserSettingsHelper::DATUM_TTL
Constants included from CaptureReferenceHelper
CaptureReferenceHelper::CAPTURE_ACTION_NAME, CaptureReferenceHelper::CAPTURE_CONTROLLER_PATH, CaptureReferenceHelper::CAPTURE_REFERRED_PATH
Constants included from AppearanceHelper
AppearanceHelper::APPEARANCE_MODE_ACTUAL_COOKIE, AppearanceHelper::APPEARANCE_MODE_COOKIE, AppearanceHelper::APPEARANCE_TEXT_CLASS, AppearanceHelper::VIEWPORT_EXTRA_LARGE, AppearanceHelper::VIEWPORT_EXTRA_SMALL, AppearanceHelper::VIEWPORT_LARGE, AppearanceHelper::VIEWPORT_MEDIUM, AppearanceHelper::VIEWPORT_MOBILE_MAX, AppearanceHelper::VIEWPORT_SIZES, AppearanceHelper::VIEWPORT_SMALL
Constants included from ApplicationHelper
ApplicationHelper::TIMEZONE_OFFSET_COOKIE, ApplicationHelper::TIMEZONE_SESSION_NAME
Instance Method Summary collapse
-
#confirm_password ⇒ Object
POST user/settings/confirm/password/:reason.
-
#destroy_user ⇒ Object
POST user/settings/destroy.
-
#edit_name ⇒ Object
POST user/settings/edit/name.
-
#edit_password ⇒ Object
POST user/settings/edit/password expected ajax POST.
-
#index ⇒ Object
GET user/settings.
Methods included from UserSettingsHelper
Methods inherited from RailsBaseApplicationController
#admin_impersonation_session?, #admin_reset_impersonation_session!, #admin_user?, #capture_admin_action, #is_timeout_error?, #populate_admin_actions, #set_time_zone
Methods included from CaptureReferenceHelper
#authenticate_user!, #capture_and_clear_reference_redirect!, #capture_clear_reference_from_sesssion!, #capture_reference, #redirect_from_reference, #reference_redirect, #skip_capture_reference!, #skip_capture_reference?, #use_capture_reference?
Methods included from AppearanceHelper
#appearance_mode_drop_down, #appearance_text_class, #footer_mode_case, #force_sticky_mode!
Methods included from ApplicationHelper
#admin_reset_session!, #browser, #is_mobile?, #is_safari?, #mfa_fallback?
Instance Method Details
#confirm_password ⇒ Object
POST user/settings/confirm/password/:reason
50 51 52 53 54 55 56 57 58 59 |
# File 'app/controllers/rails_base/user_settings_controller.rb', line 50 def confirm_password authenticate = RailsBase::Authentication::AuthenticateUser.call(email: current_user.email, current_user: current_user, password: params[:user][:password]) if authenticate.failure? render json: { msg: authenticate. }, status: 418 else html = render_to_string partial: CONFIRM_PASSWORD_FLOW[params[:reason].to_sym] render json: { html: html, datum: datum.data } end end |
#destroy_user ⇒ Object
POST user/settings/destroy
62 63 64 65 66 67 68 69 70 |
# File 'app/controllers/rails_base/user_settings_controller.rb', line 62 def destroy_user destroy = RailsBase::Authentication::DestroyUser.call(data: params[:data], current_user: current_user) if destroy.failure? redirect_to RailsBase.url_routes.user_settings_path, alert: destroy. else redirect_to RailsBase.url_routes.authenticated_root_path, notice: I18n.t('user_setting.destroy_user.soft') end end |
#edit_name ⇒ Object
POST user/settings/edit/name
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'app/controllers/rails_base/user_settings_controller.rb', line 13 def edit_name result = NameChange.call( first_name: params[:user][:first_name], last_name: params[:user][:last_name], current_user: current_user ) if result.failure? flash[:alert] = result. else @_admin_action_struct = RailsBase::AdminStruct.new(result.original_name, result.name_change) flash[:notice] = "Name change succesful to #{result.name_change}" end redirect_to RailsBase.url_routes.user_settings_path end |
#edit_password ⇒ Object
POST user/settings/edit/password expected ajax POST
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'app/controllers/rails_base/user_settings_controller.rb', line 32 def edit_password # current user is method and we will loose context if we are succesful in changing password # store current user in current context user = current_user result = RailsBase::Authentication::ModifyPassword.call(password: params[:user][:password], password_confirmation: params[:user][:password_confirmation], current_user: current_user, flow: :user_settings) if result.failure? redirect_to RailsBase.url_routes.user_settings_path, alert: result. return end # password was changed so authentication will fail. Re-signin user sign_out(current_user) sign_in(user.reload) redirect_to RailsBase.url_routes.user_settings_path, notice: 'Succesfully changed password' end |
#index ⇒ Object
GET user/settings
9 10 |
# File 'app/controllers/rails_base/user_settings_controller.rb', line 9 def index end |