Class: CamaleonCms::Admin::UsersController
- Inherits:
-
CamaleonCms::AdminController
- Object
- CamaleonCms::AdminController
- CamaleonCms::Admin::UsersController
- Defined in:
- app/controllers/camaleon_cms/admin/users_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #destroy ⇒ Object
- #edit ⇒ Object
- #impersonate ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #profile ⇒ Object
- #profile_edit ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
-
#updated_ajax ⇒ Object
update som ajax requests from profile or user form.
Instance Method Details
#create ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 67 def create user_data = params.require(:user).permit! @user = current_site.users.new(user_data) r={user: @user}; hooks_run('user_create', r) if @user.save @user.(params[:meta]) if params[:meta].present? @user.set_field_values(params[:field_options]) r={user: @user}; hooks_run('user_created', r) flash[:notice] = t('camaleon_cms.admin.users.message.created') redirect_to action: :index else new end end |
#destroy ⇒ Object
82 83 84 85 86 87 88 89 90 |
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 82 def destroy if cama_current_user.id == @user.id flash[:error] = t('camaleon_cms.admin.users.message.user_can_not_delete_own_account', default: 'User can not delete own account') elsif @user.destroy flash[:notice] = t('camaleon_cms.admin.users.message.deleted') r={user: @user}; hooks_run('user_destroyed', r) end redirect_to action: :index end |
#edit ⇒ Object
52 53 54 55 56 57 |
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 52 def edit I18n.t("camaleon_cms.admin.button.edit") r = {user: @user, render: 'form' } hooks_run('user_edit', r) render r[:render] end |
#impersonate ⇒ Object
92 93 94 95 |
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 92 def impersonate :impersonate, @user session_switch_user(@user, cama_admin_dashboard_path) end |
#index ⇒ Object
6 7 8 9 |
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 6 def index I18n.t("camaleon_cms.admin.users.list_users") @users = current_site.users.paginate(:page => params[:page], :per_page => current_site.admin_per_page) end |
#new ⇒ Object
59 60 61 62 63 64 65 |
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 59 def new @user ||= current_site.users.new I18n.t("camaleon_cms.admin.button.new") r = {user: @user, render: 'form' } hooks_run('user_new', r) render r[:render] end |
#profile ⇒ Object
11 12 13 14 15 |
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 11 def profile I18n.t("camaleon_cms.admin.users.profile") @user = params[:user_id].present? ? current_site.the_user(params[:user_id].to_i).object : cama_current_user.object return edit end |
#profile_edit ⇒ Object
17 18 19 20 21 |
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 17 def profile_edit I18n.t("camaleon_cms.admin.users.profile") @user = cama_current_user.object return edit end |
#show ⇒ Object
23 24 25 26 |
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 23 def show I18n.t("camaleon_cms.admin.users.profile") render 'profile' end |
#update ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 28 def update r={user: @user}; hooks_run('user_update', r) if @user.update(user_params) @user.(params[:meta]) if params[:meta].present? @user.set_field_values(params[:field_options]) r = {user: @user, message: t('camaleon_cms.admin.users.message.updated'), params: params}; hooks_run('user_after_edited', r) flash[:notice] = r[:message] r={user: @user}; hooks_run('user_updated', r) if cama_current_user.id == @user.id redirect_to action: :profile_edit else redirect_to action: :index end else render 'form' end end |
#updated_ajax ⇒ Object
update som ajax requests from profile or user form
47 48 49 50 |
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 47 def updated_ajax @user = current_site.users.find(params[:user_id]) render inline: @user.update(params.require(:password).permit!) ? "" : @user.errors..join(', ') end |