Class: CamaleonCms::Admin::UserRolesController

Inherits:
CamaleonCms::AdminController show all
Defined in:
app/controllers/camaleon_cms/admin/user_roles_controller.rb

Instance Method Summary collapse

Methods inherited from CamaleonCms::AdminController

#ajax, #cama_get_i18n_frontend, #dashboard, #search

Instance Method Details

#createObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'app/controllers/camaleon_cms/admin/user_roles_controller.rb', line 22

def create
  user_role_data = params.require(:user_role).permit(:name, :slug, :description)
  @user_role = current_site.user_roles.new(user_role_data)
  if @user_role.save
    if @user_role.permissions_editable?
      @user_role.set_meta("_post_type_#{current_site.id}",
                          defined?(params[:rol_values][:post_type]) ? params[:rol_values][:post_type] : {})
      @user_role.set_meta("_manager_#{current_site.id}",
                          defined?(params[:rol_values][:post_type]) ? params[:rol_values][:manager] : {})
    end
    flash[:notice] = t('camaleon_cms.admin.users.message.rol_created')
    redirect_to action: :edit, id: @user_role.id
  else
    new
  end
end

#destroyObject



59
60
61
62
63
64
65
66
67
# File 'app/controllers/camaleon_cms/admin/user_roles_controller.rb', line 59

def destroy
  if @user_role.editable? && @user_role.destroy
    flash[:notice] = t('camaleon_cms.admin.users.message.rol_deleted')
  else
    flash[:error] =
      t('camaleon_cms.admin.users.message.role_can_not_be_deleted', default: 'This role can not be deleted')
  end
  redirect_to action: :index
end

#editObject



39
40
41
42
# File 'app/controllers/camaleon_cms/admin/user_roles_controller.rb', line 39

def edit
  add_breadcrumb I18n.t('camaleon_cms.admin.button.edit')
  render 'form'
end

#indexObject



9
10
11
12
# File 'app/controllers/camaleon_cms/admin/user_roles_controller.rb', line 9

def index
  @user_roles = current_site.user_roles
  @user_roles = @user_roles.paginate(page: params[:page], per_page: current_site.admin_per_page)
end

#newObject



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

def new
  add_breadcrumb I18n.t('camaleon_cms.admin.button.new')
  @user_role ||= current_site.user_roles.new
  render 'form'
end

#showObject



14
# File 'app/controllers/camaleon_cms/admin/user_roles_controller.rb', line 14

def show; end

#updateObject



44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'app/controllers/camaleon_cms/admin/user_roles_controller.rb', line 44

def update
  if @user_role.update(params.require(:user_role).permit(:name, :slug, :description))
    if @user_role.permissions_editable?
      @user_role.set_meta("_post_type_#{current_site.id}",
                          defined?(params[:rol_values][:post_type]) ? params[:rol_values][:post_type] : {})
      @user_role.set_meta("_manager_#{current_site.id}",
                          defined?(params[:rol_values][:post_type]) ? params[:rol_values][:manager] : {})
    end
    flash[:notice] = t('camaleon_cms.admin.users.message.rol_updated')
    redirect_to action: :edit, id: @user_role.id
  else
    edit
  end
end