Merge pull request #2752 from betagouv/frederic/fix_missing_sort_columns
Fix missing sort columns
This commit is contained in:
commit
fa359a5ea8
2 changed files with 8 additions and 1 deletions
|
@ -1,4 +1,9 @@
|
||||||
class ProcedurePresentation < ApplicationRecord
|
class ProcedurePresentation < ApplicationRecord
|
||||||
|
EXTRA_SORT_COLUMNS = {
|
||||||
|
'notifications' => Set['notifications'],
|
||||||
|
'self' => Set['id', 'state']
|
||||||
|
}
|
||||||
|
|
||||||
belongs_to :assign_to
|
belongs_to :assign_to
|
||||||
|
|
||||||
delegate :procedure, to: :assign_to
|
delegate :procedure, to: :assign_to
|
||||||
|
@ -40,6 +45,6 @@ class ProcedurePresentation < ApplicationRecord
|
||||||
private
|
private
|
||||||
|
|
||||||
def valid_sort_column?(procedure, table, column)
|
def valid_sort_column?(procedure, table, column)
|
||||||
DossierFieldService.valid_column?(procedure, table, column) || (table == 'notifications' && column == 'notifications')
|
DossierFieldService.valid_column?(procedure, table, column) || EXTRA_SORT_COLUMNS[table]&.include?(column)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -37,6 +37,8 @@ describe ProcedurePresentation do
|
||||||
|
|
||||||
context 'of sort' do
|
context 'of sort' do
|
||||||
it { expect(build(:procedure_presentation, sort: { "table" => "notifications", "column" => "notifications", "order" => "asc" })).to be_valid }
|
it { expect(build(:procedure_presentation, sort: { "table" => "notifications", "column" => "notifications", "order" => "asc" })).to be_valid }
|
||||||
|
it { expect(build(:procedure_presentation, sort: { "table" => "self", "column" => "id", "order" => "asc" })).to be_valid }
|
||||||
|
it { expect(build(:procedure_presentation, sort: { "table" => "self", "column" => "state", "order" => "asc" })).to be_valid }
|
||||||
it { expect(build(:procedure_presentation, sort: { "table" => "user", "column" => "reset_password_token", "order" => "asc" })).to be_invalid }
|
it { expect(build(:procedure_presentation, sort: { "table" => "user", "column" => "reset_password_token", "order" => "asc" })).to be_invalid }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue