diff options
| author | Robert | 2018-01-08 10:09:37 +0100 | 
|---|---|---|
| committer | Robert | 2018-01-08 10:09:37 +0100 | 
| commit | 0a69d409cded29a45ee3857f0a49c9a7a51d858a (patch) | |
| tree | 84f8eaef50642b5f89ccce2fa401b3c5da4cafa3 /app/policies | |
| parent | fb9eb367b9c56c19df7f2e2301f4a417f5409d6d (diff) | |
| download | chouette-core-0a69d409cded29a45ee3857f0a49c9a7a51d858a.tar.bz2 | |
Fixes: #5413@1h; Specs implemented
Diffstat (limited to 'app/policies')
| -rw-r--r-- | app/policies/access_link_policy.rb | 6 | ||||
| -rw-r--r-- | app/policies/access_point_policy.rb | 6 | ||||
| -rw-r--r-- | app/policies/application_policy.rb | 13 | ||||
| -rw-r--r-- | app/policies/connection_link_policy.rb | 6 | ||||
| -rw-r--r-- | app/policies/journey_pattern_policy.rb | 6 | ||||
| -rw-r--r-- | app/policies/line_policy.rb | 6 | ||||
| -rw-r--r-- | app/policies/purchase_window_policy.rb | 8 | ||||
| -rw-r--r-- | app/policies/referential_policy.rb | 8 | ||||
| -rw-r--r-- | app/policies/route_policy.rb | 6 | ||||
| -rw-r--r-- | app/policies/routing_constraint_zone_policy.rb | 6 | ||||
| -rw-r--r-- | app/policies/time_table_combination_policy.rb | 2 | ||||
| -rw-r--r-- | app/policies/time_table_policy.rb | 10 | ||||
| -rw-r--r-- | app/policies/vehicle_journey_policy.rb | 6 | 
13 files changed, 45 insertions, 44 deletions
| diff --git a/app/policies/access_link_policy.rb b/app/policies/access_link_policy.rb index 1f1147f60..c9a48d61f 100644 --- a/app/policies/access_link_policy.rb +++ b/app/policies/access_link_policy.rb @@ -6,14 +6,14 @@ class AccessLinkPolicy < ApplicationPolicy    end    def create? -    !archived? && organisation_match? && user.has_permission?('access_links.create') +    !archived_or_finalised? && organisation_match? && user.has_permission?('access_links.create')    end    def update? -    !archived? && organisation_match? && user.has_permission?('access_links.update') +    !archived_or_finalised? && organisation_match? && user.has_permission?('access_links.update')    end    def destroy? -    !archived? && organisation_match? && user.has_permission?('access_links.destroy') +    !archived_or_finalised? && organisation_match? && user.has_permission?('access_links.destroy')    end  end diff --git a/app/policies/access_point_policy.rb b/app/policies/access_point_policy.rb index 41436e77c..469ed9739 100644 --- a/app/policies/access_point_policy.rb +++ b/app/policies/access_point_policy.rb @@ -6,14 +6,14 @@ class AccessPointPolicy < ApplicationPolicy    end    def create? -    !archived? && organisation_match? && user.has_permission?('access_points.create') +    !archived_or_finalised? && organisation_match? && user.has_permission?('access_points.create')    end    def update? -    !archived? && organisation_match? && user.has_permission?('access_points.update') +    !archived_or_finalised? && organisation_match? && user.has_permission?('access_points.update')    end    def destroy? -    !archived? && organisation_match? && user.has_permission?('access_points.destroy') +    !archived_or_finalised? && organisation_match? && user.has_permission?('access_points.destroy')    end  end diff --git a/app/policies/application_policy.rb b/app/policies/application_policy.rb index dbe4542e7..68007b133 100644 --- a/app/policies/application_policy.rb +++ b/app/policies/application_policy.rb @@ -76,11 +76,12 @@ class ApplicationPolicy    #  Custom Permissions    #  ------------------ -  def archived? -    return @is_archived if instance_variable_defined?(:@is_archived) -    @is_archived = is_archived +  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    end +    def organisation_match?      user.organisation_id == organisation_id    end @@ -116,12 +117,12 @@ class ApplicationPolicy    end    private -  def is_archived +  def is_archived_or_finalised      !!case referential      when Referential -      referential.archived_at +      referential.archived_at || referential.in_referential_suite?      else -      current_referential.try(:archived_at) +      current_referential.try(:archived_at) || current_referential.try(:in_referential_suite?)      end    end  end diff --git a/app/policies/connection_link_policy.rb b/app/policies/connection_link_policy.rb index 240c2a804..5a8e41ee8 100644 --- a/app/policies/connection_link_policy.rb +++ b/app/policies/connection_link_policy.rb @@ -6,14 +6,14 @@ class ConnectionLinkPolicy < ApplicationPolicy    end    def create? -    !archived? && organisation_match? && user.has_permission?('connection_links.create') +    !archived_or_finalised? && organisation_match? && user.has_permission?('connection_links.create')    end    def destroy? -    !archived? && organisation_match? && user.has_permission?('connection_links.destroy') +    !archived_or_finalised? && organisation_match? && user.has_permission?('connection_links.destroy')    end    def update? -    !archived? && organisation_match? && user.has_permission?('connection_links.update') +    !archived_or_finalised? && organisation_match? && user.has_permission?('connection_links.update')    end  end diff --git a/app/policies/journey_pattern_policy.rb b/app/policies/journey_pattern_policy.rb index 12bcced17..57220033d 100644 --- a/app/policies/journey_pattern_policy.rb +++ b/app/policies/journey_pattern_policy.rb @@ -7,14 +7,14 @@ class JourneyPatternPolicy < ApplicationPolicy    end    def create? -    !archived? && organisation_match? && user.has_permission?('journey_patterns.create') +    !archived_or_finalised? && organisation_match? && user.has_permission?('journey_patterns.create')    end    def destroy? -    !archived? && organisation_match? && user.has_permission?('journey_patterns.destroy') +    !archived_or_finalised? && organisation_match? && user.has_permission?('journey_patterns.destroy')    end    def update? -    !archived? && organisation_match? && user.has_permission?('journey_patterns.update') +    !archived_or_finalised? && organisation_match? && user.has_permission?('journey_patterns.update')    end  end diff --git a/app/policies/line_policy.rb b/app/policies/line_policy.rb index e7263cc3b..8028a063e 100644 --- a/app/policies/line_policy.rb +++ b/app/policies/line_policy.rb @@ -26,15 +26,15 @@ class LinePolicy < ApplicationPolicy    end    def create_footnote? -    !archived? && organisation_match? && user.has_permission?('footnotes.create') +    !archived_or_finalised? && organisation_match? && user.has_permission?('footnotes.create')    end    def edit_footnote? -    !archived? && organisation_match? && user.has_permission?('footnotes.update') +    !archived_or_finalised? && organisation_match? && user.has_permission?('footnotes.update')    end    def destroy_footnote? -    !archived? && organisation_match? && user.has_permission?('footnotes.destroy') +    !archived_or_finalised? && organisation_match? && user.has_permission?('footnotes.destroy')    end    def update_footnote?  ; edit_footnote? end diff --git a/app/policies/purchase_window_policy.rb b/app/policies/purchase_window_policy.rb index 75143a8bd..87cde4a7a 100644 --- a/app/policies/purchase_window_policy.rb +++ b/app/policies/purchase_window_policy.rb @@ -6,15 +6,15 @@ class PurchaseWindowPolicy < ApplicationPolicy    end    def create? -     !archived? && organisation_match? && user.has_permission?('purchase_windows.create') +     !archived_or_finalised? && organisation_match? && user.has_permission?('purchase_windows.create')    end    def update? -    !archived? && organisation_match? && user.has_permission?('purchase_windows.update') +    !archived_or_finalised? && organisation_match? && user.has_permission?('purchase_windows.update')    end    def destroy? -    !archived? && organisation_match? && user.has_permission?('purchase_windows.destroy') +    !archived_or_finalised? && organisation_match? && user.has_permission?('purchase_windows.destroy')    end -end
\ No newline at end of file +end diff --git a/app/policies/referential_policy.rb b/app/policies/referential_policy.rb index 253917509..ce4956460 100644 --- a/app/policies/referential_policy.rb +++ b/app/policies/referential_policy.rb @@ -10,19 +10,19 @@ class ReferentialPolicy < ApplicationPolicy    end    def destroy? -    !archived? && organisation_match? && user.has_permission?('referentials.destroy') +    !archived_or_finalised? && organisation_match? && user.has_permission?('referentials.destroy')    end    def update? -    !archived? && organisation_match? && user.has_permission?('referentials.update') +    !archived_or_finalised? && organisation_match? && user.has_permission?('referentials.update')    end    def clone? -    !archived? && create? +    !archived_or_finalised? && create?    end    def validate? -    !archived? && create? && organisation_match? +    !archived_or_finalised? && create? && organisation_match?    end    def archive? diff --git a/app/policies/route_policy.rb b/app/policies/route_policy.rb index 7e9fe251a..3e1d46c97 100644 --- a/app/policies/route_policy.rb +++ b/app/policies/route_policy.rb @@ -6,15 +6,15 @@ class RoutePolicy < ApplicationPolicy    end    def create? -    !archived? && organisation_match? && user.has_permission?('routes.create') +    !archived_or_finalised? && organisation_match? && user.has_permission?('routes.create')    end    def destroy? -    !archived? && organisation_match? && user.has_permission?('routes.destroy') +    !archived_or_finalised? && organisation_match? && user.has_permission?('routes.destroy')    end    def update? -    !archived? && organisation_match? && user.has_permission?('routes.update') +    !archived_or_finalised? && organisation_match? && user.has_permission?('routes.update')    end    def duplicate? diff --git a/app/policies/routing_constraint_zone_policy.rb b/app/policies/routing_constraint_zone_policy.rb index 3cfcf46ff..a903e3728 100644 --- a/app/policies/routing_constraint_zone_policy.rb +++ b/app/policies/routing_constraint_zone_policy.rb @@ -6,14 +6,14 @@ class RoutingConstraintZonePolicy < ApplicationPolicy    end    def create? -    !archived? && organisation_match? && user.has_permission?('routing_constraint_zones.create') +    !archived_or_finalised? && organisation_match? && user.has_permission?('routing_constraint_zones.create')    end    def destroy? -    !archived? && organisation_match? && user.has_permission?('routing_constraint_zones.destroy') +    !archived_or_finalised? && organisation_match? && user.has_permission?('routing_constraint_zones.destroy')    end    def update? -    !archived? && organisation_match? && user.has_permission?('routing_constraint_zones.update') +    !archived_or_finalised? && organisation_match? && user.has_permission?('routing_constraint_zones.update')    end  end diff --git a/app/policies/time_table_combination_policy.rb b/app/policies/time_table_combination_policy.rb index daa6808e4..25ac9df67 100644 --- a/app/policies/time_table_combination_policy.rb +++ b/app/policies/time_table_combination_policy.rb @@ -7,6 +7,6 @@ class TimeTableCombinationPolicy < ApplicationPolicy    end    def create? -    !archived? && organisation_match? && user.has_permission?('time_tables.update') +    !archived_or_finalised? && organisation_match? && user.has_permission?('time_tables.update')    end  end diff --git a/app/policies/time_table_policy.rb b/app/policies/time_table_policy.rb index 92d3aef3e..1f5a7a259 100644 --- a/app/policies/time_table_policy.rb +++ b/app/policies/time_table_policy.rb @@ -7,23 +7,23 @@ class TimeTablePolicy < ApplicationPolicy    end    def create? -    !archived? && organisation_match? && user.has_permission?('time_tables.create') +    !archived_or_finalised? && organisation_match? && user.has_permission?('time_tables.create')    end    def destroy? -    !archived? && organisation_match? && user.has_permission?('time_tables.destroy') +    !archived_or_finalised? && organisation_match? && user.has_permission?('time_tables.destroy')    end    def update? -    !archived? && organisation_match? && user.has_permission?('time_tables.update') +    !archived_or_finalised? && organisation_match? && user.has_permission?('time_tables.update')    end    def actualize? -    !archived? && organisation_match? && edit? +    !archived_or_finalised? && organisation_match? && edit?    end    def duplicate? -    !archived? && organisation_match? && create? +    !archived_or_finalised? && organisation_match? && create?    end    def month? diff --git a/app/policies/vehicle_journey_policy.rb b/app/policies/vehicle_journey_policy.rb index 24040455f..a7e0dfe03 100644 --- a/app/policies/vehicle_journey_policy.rb +++ b/app/policies/vehicle_journey_policy.rb @@ -6,14 +6,14 @@ class VehicleJourneyPolicy < ApplicationPolicy    end    def create? -    !archived? && organisation_match? && user.has_permission?('vehicle_journeys.create') +    !archived_or_finalised? && organisation_match? && user.has_permission?('vehicle_journeys.create')    end    def destroy? -    !archived? && organisation_match? && user.has_permission?('vehicle_journeys.destroy') +    !archived_or_finalised? && organisation_match? && user.has_permission?('vehicle_journeys.destroy')    end    def update? -    !archived? && organisation_match? && user.has_permission?('vehicle_journeys.update') +    !archived_or_finalised? && organisation_match? && user.has_permission?('vehicle_journeys.update')    end  end | 
