Class: Edgar::UserGroup
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Edgar::UserGroup
- Defined in:
- app/models/edgar/user_group.rb
Overview
UserGroup can be used for several types of user group like the followings:
-
user organization
-
user role
Defined Under Namespace
Modules: Kind
Instance Method Summary (collapse)
- - (Boolean) admin?
-
- (Boolean) permitted?(model_name, requested_flags = 0)
return true if the role has enough permission on the controller.
- - (Object) validate
-
- (Object) validate_tree_kind
private
USER_ORG's parent must be USER_ORG.
Instance Method Details
- (Boolean) admin?
55 56 57 |
# File 'app/models/edgar/user_group.rb', line 55 def admin? self.kind == Kind::ROLE && name == 'admin' end |
- (Boolean) permitted?(model_name, requested_flags = 0)
return true if the role has enough permission on the controller.
If user role is 'admin' then all operations are permitted.
Always return false if the user-group is not ROLE.
if requested_flags is omitted, just checks existence of model_permissions and doesn't check CRUD level.
43 44 45 46 47 48 49 50 51 52 53 |
# File 'app/models/edgar/user_group.rb', line 43 def permitted?(model_name, requested_flags = 0) return false if self.kind != Kind::ROLE return true if admin? p = self..find_by_model(model_name) if requested_flags == 0 p else p && p.permitted?(requested_flags) end end |
- (Object) validate
30 31 32 33 |
# File 'app/models/edgar/user_group.rb', line 30 def validate super validate_tree_kind end |
- (Object) validate_tree_kind (private)
USER_ORG's parent must be USER_ORG
61 62 63 64 65 66 67 |
# File 'app/models/edgar/user_group.rb', line 61 def validate_tree_kind if parent_id if kind != parent.kind err_on(:kind, 'different_kind_from_parent') end end end |