Class: CamaleonCms::Admin::UsersController

Inherits:
CamaleonCms::AdminController
  • Object
show all
Defined in:
app/controllers/camaleon_cms/admin/users_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 65

def create
  user_data = params.require(:user).permit!
  @user = current_site.users.new(user_data)
  if @user.save
    @user.set_metas(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

#destroyObject



79
80
81
82
83
84
85
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 79

def destroy
  if @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

#editObject



50
51
52
53
54
55
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 50

def edit
  add_breadcrumb I18n.t("camaleon_cms.admin.button.edit")
  r = {user: @user, render: 'form' }
  hooks_run('user_edit', r)
  render r[:render]
end

#indexObject



6
7
8
9
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 6

def index
  add_breadcrumb I18n.t("camaleon_cms.admin.users.list_users")
  @users = current_site.users.paginate(:page => params[:page], :per_page => current_site.admin_per_page)
end

#newObject



57
58
59
60
61
62
63
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 57

def new
  @user ||= current_site.users.new
  add_breadcrumb I18n.t("camaleon_cms.admin.button.new")
  r = {user: @user, render: 'form' }
  hooks_run('user_new', r)
  render r[:render]
end

#profileObject



11
12
13
14
15
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 11

def profile
  add_breadcrumb 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_editObject



17
18
19
20
21
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 17

def profile_edit
  add_breadcrumb I18n.t("camaleon_cms.admin.users.profile")
  @user = cama_current_user.object
  return edit
end

#showObject



23
24
25
26
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 23

def show
  add_breadcrumb I18n.t("camaleon_cms.admin.users.profile")
  render 'profile'
end

#updateObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 28

def update
  if @user.update(params.require(:user).permit!)
    @user.set_metas(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]
    if cama_current_user.id == @user.id
      redirect_to action: :profile_edit
    else
      redirect_to action: :index
    end
  else
    render 'form'
  end
end

#updated_ajaxObject

update som ajax requests from profile or user form



45
46
47
48
# File 'app/controllers/camaleon_cms/admin/users_controller.rb', line 45

def updated_ajax
  @user = current_site.users.find(params[:user_id])
  render inline: @user.update(params.require(:password).permit!) ? "" : @user.errors.full_messages.join(', ')
end