[#2750] Sanity check procedure
This commit is contained in:
parent
30ef6e6d95
commit
667deae5cc
1 changed files with 9 additions and 0 deletions
|
@ -57,10 +57,12 @@ class ProcedurePresentation < ApplicationRecord
|
||||||
end
|
end
|
||||||
|
|
||||||
def displayed_field_values(dossier)
|
def displayed_field_values(dossier)
|
||||||
|
assert_matching_procedure(dossier)
|
||||||
displayed_fields.map { |field| get_value(dossier, field['table'], field['column']) }
|
displayed_fields.map { |field| get_value(dossier, field['table'], field['column']) }
|
||||||
end
|
end
|
||||||
|
|
||||||
def sorted_ids(dossiers, gestionnaire)
|
def sorted_ids(dossiers, gestionnaire)
|
||||||
|
dossiers.each { |dossier| assert_matching_procedure(dossier) }
|
||||||
table = sort['table']
|
table = sort['table']
|
||||||
column = sanitized_column(sort)
|
column = sanitized_column(sort)
|
||||||
order = sort['order']
|
order = sort['order']
|
||||||
|
@ -94,6 +96,7 @@ class ProcedurePresentation < ApplicationRecord
|
||||||
end
|
end
|
||||||
|
|
||||||
def filtered_ids(dossiers, statut)
|
def filtered_ids(dossiers, statut)
|
||||||
|
dossiers.each { |dossier| assert_matching_procedure(dossier) }
|
||||||
filters[statut].map do |filter|
|
filters[statut].map do |filter|
|
||||||
table = filter['table']
|
table = filter['table']
|
||||||
column = sanitized_column(filter)
|
column = sanitized_column(filter)
|
||||||
|
@ -170,6 +173,12 @@ class ProcedurePresentation < ApplicationRecord
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def assert_matching_procedure(dossier)
|
||||||
|
if dossier.procedure != procedure
|
||||||
|
raise "Procedure mismatch (expected #{procedure.id}, got #{dossier.procedure.id})"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def get_value(dossier, table, column)
|
def get_value(dossier, table, column)
|
||||||
case table
|
case table
|
||||||
when 'self'
|
when 'self'
|
||||||
|
|
Loading…
Add table
Reference in a new issue