Class: ModelPolicy
Defined Under Namespace
Classes: Scope
Constant Summary
ApplicationPolicy::STANDARD_EDIT_PERMISSIONS, ApplicationPolicy::STANDARD_VIEW_PERMISSIONS
Instance Attribute Summary
#record, #user
Instance Method Summary
collapse
#create?, #destroy_all?, #edit?, #index?, #initialize, #new?, #update?
Instance Method Details
#bulk_edit? ⇒ Boolean
43
44
45
|
# File 'app/policies/model_policy.rb', line 43
def bulk_edit?
user&.is_moderator?
end
|
#bulk_update? ⇒ Boolean
47
48
49
|
# File 'app/policies/model_policy.rb', line 47
def bulk_update?
user&.is_moderator?
end
|
6
7
8
|
# File 'app/policies/model_policy.rb', line 6
def configure_merge?
merge?
end
|
#destroy? ⇒ Boolean
27
28
29
|
# File 'app/policies/model_policy.rb', line 27
def destroy?
super && (record.is_a?(Model) ? !record.contains_other_models? : true)
end
|
#download? ⇒ Boolean
23
24
25
|
# File 'app/policies/model_policy.rb', line 23
def download?
check_permissions(record, ["view", "edit", "own"], user)
end
|
#organize? ⇒ Boolean
39
40
41
|
# File 'app/policies/model_policy.rb', line 39
def organize?
edit?
end
|
#scan? ⇒ Boolean
31
32
33
|
# File 'app/policies/model_policy.rb', line 31
def scan?
user&.is_contributor?
end
|
#show? ⇒ Boolean
2
3
4
|
# File 'app/policies/model_policy.rb', line 2
def show?
super && !(user&.sensitive_content_handling == "hide" && record.sensitive)
end
|
#sync? ⇒ Boolean
35
36
37
|
# File 'app/policies/model_policy.rb', line 35
def sync?
update?
end
|
#upload? ⇒ Boolean
19
20
21
|
# File 'app/policies/model_policy.rb', line 19
def upload?
edit? && UploadPolicy.new(user, record).create?
end
|