fix: user can restore a brouillon not modified for a long time

This commit is contained in:
Colin Darie 2024-12-06 16:58:55 +01:00
parent 335fc39d93
commit c38b4627b2
No known key found for this signature in database
GPG key ID: 4FB865FDBCA4BCC4
3 changed files with 18 additions and 2 deletions

View file

@ -505,7 +505,7 @@ module Users
if action_name == 'update' || action_name == 'champ'
Dossier.visible_by_user.or(Dossier.for_procedure_preview).or(Dossier.for_editing_fork)
elsif action_name == 'restore'
Dossier.hidden_by_user
Dossier.hidden_by_user.or(Dossier.hidden_by_not_modified_for_a_long_time)
elsif action_name == 'extend_conservation_and_restore' || (action_name == 'show' && request.format.pdf?)
Dossier.visible_by_user.or(Dossier.hidden_by_expired)
else

View file

@ -219,6 +219,7 @@ class Dossier < ApplicationRecord
scope :hidden_by_user, -> { where.not(hidden_by_user_at: nil) }
scope :hidden_by_administration, -> { where.not(hidden_by_administration_at: nil) }
scope :hidden_by_expired, -> { where.not(hidden_by_expired_at: nil) }
scope :hidden_by_not_modified_for_a_long_time, -> { hidden_by_expired.where(hidden_by_reason: :not_modified_for_a_long_time) }
scope :visible_by_user, -> { where(for_procedure_preview: false, hidden_by_user_at: nil, editing_fork_origin_id: nil, hidden_by_expired_at: nil) }
scope :visible_by_administration, -> {
state_not_brouillon
@ -852,7 +853,9 @@ class Dossier < ApplicationRecord
update(hidden_by_user_at: nil)
end
if !hidden_by_user? && !hidden_by_administration?
if is_user?(author) && hidden_by_reason&.to_sym == :not_modified_for_a_long_time
update(hidden_by_expired_at: nil)
elsif !hidden_by_user? && !hidden_by_administration?
update(hidden_by_reason: nil)
elsif hidden_by_user?
update(hidden_by_reason: :user_request)