From df1ab6f7e4da9e7760b07466f5f85ad70a737bd3 Mon Sep 17 00:00:00 2001 From: Zog Date: Thu, 19 Apr 2018 17:09:03 +0200 Subject: Refs #6572; Refactor policy --- app/models/referential.rb | 2 +- app/policies/referential_policy.rb | 16 ++++++---------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/app/models/referential.rb b/app/models/referential.rb index 9ceb1769e..225f51a09 100644 --- a/app/models/referential.rb +++ b/app/models/referential.rb @@ -327,7 +327,7 @@ class Referential < ApplicationModel before_destroy :destroy_jobs def referential_read_only? - in_referential_suite? || archived? + !ready? || in_referential_suite? || archived? end def in_referential_suite? diff --git a/app/policies/referential_policy.rb b/app/policies/referential_policy.rb index e2bd01648..f20b336fc 100644 --- a/app/policies/referential_policy.rb +++ b/app/policies/referential_policy.rb @@ -14,35 +14,31 @@ class ReferentialPolicy < ApplicationPolicy end def destroy? - referential_ready? && !referential_read_only? && organisation_match? && user.has_permission?('referentials.destroy') + !referential_read_only? && organisation_match? && user.has_permission?('referentials.destroy') end def update? - referential_ready? && !referential_read_only? && organisation_match? && user.has_permission?('referentials.update') + !referential_read_only? && organisation_match? && user.has_permission?('referentials.update') end def clone? - referential_ready? && !record.in_referential_suite? && create? + record.ready? && !record.in_referential_suite? && create? end def validate? - referential_ready? && !referential_read_only? && create? && organisation_match? + !referential_read_only? && create? && organisation_match? end def archive? - referential_ready? && !referential_read_only? && record.archived_at.nil? && organisation_match? && user.has_permission?('referentials.update') + !referential_read_only? && record.archived_at.nil? && organisation_match? && user.has_permission?('referentials.update') end def unarchive? - referential_ready? && record.archived? && !record.merged? && organisation_match? && user.has_permission?('referentials.update') + !referential_read_only? && record.archived? && !record.merged? && organisation_match? && user.has_permission?('referentials.update') end def common_lines? # TODO: Replace with correct BL ASA available, c.f. https://projects.af83.io/issues/2692 true end - - def referential_ready? - record.ready? - end end -- cgit v1.2.3