Class: Edgarj::UserGroup

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/edgarj/user_group.rb

Defined Under Namespace

Modules: Kind

Instance Method Summary collapse

Instance Method Details

#admin?Boolean

Returns:

  • (Boolean)


53
54
55
# File 'app/models/edgarj/user_group.rb', line 53

def admin?
  self.kind == Kind::ROLE && name == 'admin'
end

#permitted?(model_name, requested_flags = 0) ⇒ Boolean

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.

Returns:

  • (Boolean)


41
42
43
44
45
46
47
48
49
50
51
# File 'app/models/edgarj/user_group.rb', line 41

def permitted?(model_name, requested_flags = 0)
  return false if self.kind != Kind::ROLE
  return true  if admin?

  p = self.model_permissions.find_by_model(model_name)
  if requested_flags == 0
    p
  else
    p && p.permitted?(requested_flags)
  end
end

#validateObject



28
29
30
31
# File 'app/models/edgarj/user_group.rb', line 28

def validate
  super
  validate_tree_kind
end