aboutsummaryrefslogtreecommitdiffstats
path: root/app/policies
diff options
context:
space:
mode:
authorRobert2018-01-09 10:09:28 +0100
committerRobert2018-01-09 10:09:28 +0100
commit7ea0a6079017c561aa8286198bd77b258cb2d240 (patch)
tree325c3b799bc6399ffc46dd03303dea04a91ee14f /app/policies
parent09e818a6a63ebe5ae08045a2c67e20ae578f640e (diff)
downloadchouette-core-7ea0a6079017c561aa8286198bd77b258cb2d240.tar.bz2
Refs: #5413@0.3h; Fix bug in newapplciation helper unarchive link creation
Diffstat (limited to 'app/policies')
-rw-r--r--app/policies/application_policy.rb28
1 files changed, 23 insertions, 5 deletions
diff --git a/app/policies/application_policy.rb b/app/policies/application_policy.rb
index 68007b133..7b4d1b0c0 100644
--- a/app/policies/application_policy.rb
+++ b/app/policies/application_policy.rb
@@ -76,9 +76,18 @@ class ApplicationPolicy
# Custom Permissions
# ------------------
+ def archived?
+ return @is_archived if instance_variable_defined?(:@is_archived)
+ @is_archived = is_archived
+ end
+
+ def finalised?
+ return @is_finalised if instance_variable_defined?(:@is_finalised)
+ @is_finalised = is_finalised
+ end
+
def archived_or_finalised?
- return @is_archived_or_finalised if instance_variable_defined?(:@is_archived_or_finalised)
- @is_archived_or_finalised = is_archived_or_finalised
+ archived? || finalised?
end
@@ -117,12 +126,21 @@ class ApplicationPolicy
end
private
- def is_archived_or_finalised
+ def is_archived
+ !!case referential
+ when Referential
+ referential.archived_at
+ else
+ current_referential.try(:archived_at)
+ end
+ end
+
+ def is_finalised
!!case referential
when Referential
- referential.archived_at || referential.in_referential_suite?
+ referential.in_referential_suite?
else
- current_referential.try(:archived_at) || current_referential.try(:in_referential_suite?)
+ current_referential.try(:in_referential_suite?)
end
end
end