Sha256: bb2d6099d42a92feaf62b2b3b0a61d87562f2461be8229e6fd0bdeae978b0528
Contents?: true
Size: 892 Bytes
Versions: 8
Compression:
Stored size: 892 Bytes
Contents
class CmPermission < ApplicationRecord after_create :create_hidden_permission after_destroy :destroy_hidden_permission validates :action_name, presence: true, uniqueness: {scope: :ar_model_name} def create_hidden_permission if action_name == 'new' CmPermission.where(action_name: 'create', ar_model_name: ar_model_name, cm_role_id: cm_role_id).first_or_create elsif action_name == 'edit' CmPermission.where(action_name: 'update', ar_model_name: ar_model_name, cm_role_id: cm_role_id).first_or_create end end def destroy_hidden_permission if action_name == 'new' CmPermission.where(action_name: 'create', ar_model_name: ar_model_name, cm_role_id: cm_role_id).first&.destroy elsif action_name == 'edit' CmPermission.where(action_name: 'update', ar_model_name: ar_model_name, cm_role_id: cm_role_id).first&.destroy end end end
Version data entries
8 entries across 8 versions & 1 rubygems