Sha256: 8d43206ead69f3c97de23f62e2191a5d9398e5ab91a0851356c43a5e4e6e885f
Contents?: true
Size: 1.36 KB
Versions: 2
Compression:
Stored size: 1.36 KB
Contents
module Adminpanel class Permission < ActiveRecord::Base include Adminpanel::Base include ApplicationHelper enum action: [ :to_read, :to_publish, :to_create, :to_update, :to_destroy, :to_manage ] belongs_to :role, touch: true # validates_presence_of :action validates_presence_of :role_id validates_presence_of :resource def name "#{self.role.name}: #{I18n.t("#{self.class.name.demodulize.downcase}.#{self.action}")} #{symbol_class(self['resource']).display_name}" end def self.form_attributes [ { 'role_id' => { 'type' => 'select', 'label' => I18n.t('permission.role'), 'options' => Proc.new {|object| Adminpanel::Role.all.map {|o| [o.id, o.name]} } } }, { 'action' => { 'type' => 'enum_field', 'label' => I18n.t('permission.action'), } }, { 'resource' => { 'type' => 'resource_select', 'label' => I18n.t('permission.resource'), } }, ] end def self.display_name I18n.t('model.Permission') # singular end def self.icon 'gavel' # fa-{icon} end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
adminpanel-2.5.5 | app/models/adminpanel/permission.rb |
adminpanel-2.5.4 | app/models/adminpanel/permission.rb |