From e4058953ca06b81d5e530a55b33cd1dabb8d6d5f Mon Sep 17 00:00:00 2001 From: davidg73 <david.gunnarsson@univie.ac.at> Date: Tue, 13 May 2025 12:36:20 +0200 Subject: [PATCH] DRY up policies by making use of default ApplicationPolicy so most things do not have to be repeated, only the few custom cases --- app/policies/actor_policy.rb | 20 -------------------- app/policies/actor_type_policy.rb | 20 -------------------- app/policies/analysis_method_policy.rb | 20 -------------------- app/policies/application_policy.rb | 10 +++++----- app/policies/archaeometry_analysis_policy.rb | 16 ---------------- app/policies/colour_policy.rb | 20 -------------------- app/policies/fabric_code_policy.rb | 20 -------------------- app/policies/form_policy.rb | 20 -------------------- app/policies/fragmentation_policy.rb | 20 -------------------- app/policies/frequency_policy.rb | 20 -------------------- app/policies/gazetteer_policy.rb | 20 -------------------- app/policies/hardness_policy.rb | 20 -------------------- app/policies/image_color_policy.rb | 20 -------------------- app/policies/image_size_policy.rb | 20 -------------------- app/policies/literature_policy.rb | 20 -------------------- app/policies/phase_policy.rb | 20 -------------------- app/policies/sample_policy.rb | 16 ---------------- app/policies/sorting_policy.rb | 20 -------------------- app/policies/sphericity_policy.rb | 20 -------------------- app/policies/surface_policy.rb | 20 -------------------- app/policies/text_policy.rb | 20 -------------------- app/policies/texture_policy.rb | 20 -------------------- app/policies/type_policy.rb | 20 -------------------- app/policies/user_policy.rb | 8 -------- app/policies/vessel_form_type_policy.rb | 20 -------------------- app/policies/voids_form_policy.rb | 20 -------------------- app/policies/ware_policy.rb | 20 -------------------- 27 files changed, 5 insertions(+), 505 deletions(-) diff --git a/app/policies/actor_policy.rb b/app/policies/actor_policy.rb index 912d03b..a6d4046 100644 --- a/app/policies/actor_policy.rb +++ b/app/policies/actor_policy.rb @@ -1,26 +1,6 @@ class ActorPolicy < ApplicationPolicy alias_method :actor, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/actor_type_policy.rb b/app/policies/actor_type_policy.rb index 83218fd..29eb55f 100644 --- a/app/policies/actor_type_policy.rb +++ b/app/policies/actor_type_policy.rb @@ -1,26 +1,6 @@ class ActorTypePolicy < ApplicationPolicy alias_method :actor_type, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/analysis_method_policy.rb b/app/policies/analysis_method_policy.rb index 9a62417..d0563f3 100644 --- a/app/policies/analysis_method_policy.rb +++ b/app/policies/analysis_method_policy.rb @@ -1,26 +1,6 @@ class AnalysisMethodPolicy < ApplicationPolicy alias_method :analysis_method, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/application_policy.rb b/app/policies/application_policy.rb index 8dff05b..338e6c2 100644 --- a/app/policies/application_policy.rb +++ b/app/policies/application_policy.rb @@ -9,15 +9,15 @@ class ApplicationPolicy end def index? - false + user? && user.apprentice? end def show? - false + user? && user.apprentice? end def create? - false + user? && user.apprentice? end def new? @@ -25,7 +25,7 @@ class ApplicationPolicy end def update? - false + user? && user.apprentice? end def edit? @@ -33,7 +33,7 @@ class ApplicationPolicy end def destroy? - false + user? && user.editor? end class Scope diff --git a/app/policies/archaeometry_analysis_policy.rb b/app/policies/archaeometry_analysis_policy.rb index 5356849..b0335a4 100644 --- a/app/policies/archaeometry_analysis_policy.rb +++ b/app/policies/archaeometry_analysis_policy.rb @@ -1,22 +1,6 @@ class ArchaeometryAnalysisPolicy < ApplicationPolicy alias_method :archaeometry_analysis, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - def destroy? user? && user.apprentice? end diff --git a/app/policies/colour_policy.rb b/app/policies/colour_policy.rb index 1517afb..f9635ec 100644 --- a/app/policies/colour_policy.rb +++ b/app/policies/colour_policy.rb @@ -1,26 +1,6 @@ class ColourPolicy < ApplicationPolicy alias_method :colour, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/fabric_code_policy.rb b/app/policies/fabric_code_policy.rb index c5a22c4..4e729f9 100644 --- a/app/policies/fabric_code_policy.rb +++ b/app/policies/fabric_code_policy.rb @@ -1,26 +1,6 @@ class FabricCodePolicy < ApplicationPolicy alias_method :fabric_code, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/form_policy.rb b/app/policies/form_policy.rb index bcbeb7e..593f90b 100644 --- a/app/policies/form_policy.rb +++ b/app/policies/form_policy.rb @@ -1,26 +1,6 @@ class FormPolicy < ApplicationPolicy alias_method :form, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/fragmentation_policy.rb b/app/policies/fragmentation_policy.rb index 603966f..1868175 100644 --- a/app/policies/fragmentation_policy.rb +++ b/app/policies/fragmentation_policy.rb @@ -1,26 +1,6 @@ class FragmentationPolicy < ApplicationPolicy alias_method :fragmentation, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/frequency_policy.rb b/app/policies/frequency_policy.rb index 06d813c..17d80ea 100644 --- a/app/policies/frequency_policy.rb +++ b/app/policies/frequency_policy.rb @@ -1,26 +1,6 @@ class FrequencyPolicy < ApplicationPolicy alias_method :frequency, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/gazetteer_policy.rb b/app/policies/gazetteer_policy.rb index 83b49a9..69c7d3a 100644 --- a/app/policies/gazetteer_policy.rb +++ b/app/policies/gazetteer_policy.rb @@ -1,26 +1,6 @@ class GazetteerPolicy < ApplicationPolicy alias_method :gazetteer, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - def view_children? user? && user.apprentice? end diff --git a/app/policies/hardness_policy.rb b/app/policies/hardness_policy.rb index e1ac2ce..35ac791 100644 --- a/app/policies/hardness_policy.rb +++ b/app/policies/hardness_policy.rb @@ -1,26 +1,6 @@ class HardnessPolicy < ApplicationPolicy alias_method :hardness, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/image_color_policy.rb b/app/policies/image_color_policy.rb index 1b418c4..2540cdf 100644 --- a/app/policies/image_color_policy.rb +++ b/app/policies/image_color_policy.rb @@ -1,26 +1,6 @@ class ImageColorPolicy < ApplicationPolicy alias_method :image_color, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/image_size_policy.rb b/app/policies/image_size_policy.rb index 09922d0..9f76199 100644 --- a/app/policies/image_size_policy.rb +++ b/app/policies/image_size_policy.rb @@ -1,26 +1,6 @@ class ImageSizePolicy < ApplicationPolicy alias_method :image_size, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/literature_policy.rb b/app/policies/literature_policy.rb index be28c0b..608ddc0 100644 --- a/app/policies/literature_policy.rb +++ b/app/policies/literature_policy.rb @@ -1,26 +1,6 @@ class LiteraturePolicy < ApplicationPolicy alias_method :literature, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/phase_policy.rb b/app/policies/phase_policy.rb index 53d73d6..e11513d 100644 --- a/app/policies/phase_policy.rb +++ b/app/policies/phase_policy.rb @@ -1,26 +1,6 @@ class PhasePolicy < ApplicationPolicy alias_method :phase, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/sample_policy.rb b/app/policies/sample_policy.rb index 054c921..1b78a67 100644 --- a/app/policies/sample_policy.rb +++ b/app/policies/sample_policy.rb @@ -1,22 +1,6 @@ class SamplePolicy < ApplicationPolicy alias_method :sample, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - def destroy? user? && user.apprentice? end diff --git a/app/policies/sorting_policy.rb b/app/policies/sorting_policy.rb index b678873..81f0d8a 100644 --- a/app/policies/sorting_policy.rb +++ b/app/policies/sorting_policy.rb @@ -1,26 +1,6 @@ class SortingPolicy < ApplicationPolicy alias_method :sorting, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/sphericity_policy.rb b/app/policies/sphericity_policy.rb index 592eeba..33f2a25 100644 --- a/app/policies/sphericity_policy.rb +++ b/app/policies/sphericity_policy.rb @@ -1,26 +1,6 @@ class SphericityPolicy < ApplicationPolicy alias_method :sphericity, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/surface_policy.rb b/app/policies/surface_policy.rb index 7b37cf2..c7a98e2 100644 --- a/app/policies/surface_policy.rb +++ b/app/policies/surface_policy.rb @@ -1,26 +1,6 @@ class SurfacePolicy < ApplicationPolicy alias_method :surface, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/text_policy.rb b/app/policies/text_policy.rb index 12e55f9..8d6cb18 100644 --- a/app/policies/text_policy.rb +++ b/app/policies/text_policy.rb @@ -1,26 +1,6 @@ class TextPolicy < ApplicationPolicy alias_method :text, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/texture_policy.rb b/app/policies/texture_policy.rb index 05413c3..b3f15ab 100644 --- a/app/policies/texture_policy.rb +++ b/app/policies/texture_policy.rb @@ -1,26 +1,6 @@ class TexturePolicy < ApplicationPolicy alias_method :texture, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/type_policy.rb b/app/policies/type_policy.rb index a7a33f4..db2cd41 100644 --- a/app/policies/type_policy.rb +++ b/app/policies/type_policy.rb @@ -1,26 +1,6 @@ class TypePolicy < ApplicationPolicy alias_method :type, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/user_policy.rb b/app/policies/user_policy.rb index c94a5ea..0f6aa82 100644 --- a/app/policies/user_policy.rb +++ b/app/policies/user_policy.rb @@ -1,14 +1,6 @@ class UserPolicy < ApplicationPolicy alias_method :target_user, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - def create? false end diff --git a/app/policies/vessel_form_type_policy.rb b/app/policies/vessel_form_type_policy.rb index a3656a6..b7e99c6 100644 --- a/app/policies/vessel_form_type_policy.rb +++ b/app/policies/vessel_form_type_policy.rb @@ -1,26 +1,6 @@ class VesselFormTypePolicy < ApplicationPolicy alias_method :vessel_form_type, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/voids_form_policy.rb b/app/policies/voids_form_policy.rb index fc091d2..1bdaa7c 100644 --- a/app/policies/voids_form_policy.rb +++ b/app/policies/voids_form_policy.rb @@ -1,26 +1,6 @@ class VoidsFormPolicy < ApplicationPolicy alias_method :voids_form, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all diff --git a/app/policies/ware_policy.rb b/app/policies/ware_policy.rb index 2cece86..64c46b1 100644 --- a/app/policies/ware_policy.rb +++ b/app/policies/ware_policy.rb @@ -1,26 +1,6 @@ class WarePolicy < ApplicationPolicy alias_method :ware, :record - def index? - user? && user.apprentice? - end - - def show? - user? && user.apprentice? - end - - def create? - user? && user.apprentice? - end - - def update? - user? && user.apprentice? - end - - def destroy? - user? && user.editor? - end - class Scope < ApplicationPolicy::Scope def resolve scope.all -- GitLab