3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'app/models/spree_cm_commissioner/role_decorator.rb', line 3
def self.prepended(base)
base.has_many :role_permissions, class_name: 'SpreeCmCommissioner::RolePermission'
base.has_many :permissions, through: :role_permissions, class_name: 'SpreeCmCommissioner::Permission'
base.belongs_to :vendor, optional: true
base.scope :non_vendor, -> { where(vendor_id: nil) }
base.scope :filter_by_vendor, lambda { |vendor|
where(vendor_id: vendor)
}
base.accepts_nested_attributes_for :role_permissions, allow_destroy: true
base.before_validation :generate_unique_name, if: -> { vendor_id.present? }
base.validates :presentation, uniqueness: { scope: :vendor_id }, presence: true, if: -> { vendor_id.present? }
end
|