diff --git a/app/decorators/authorization_request_event_decorator.rb b/app/decorators/authorization_request_event_decorator.rb
index eff5f197a..48bb8f638 100644
--- a/app/decorators/authorization_request_event_decorator.rb
+++ b/app/decorators/authorization_request_event_decorator.rb
@@ -36,6 +36,8 @@ def text
end
alias comment text # see WebhookEventSerializer
+ delegate :previous_request_id, to: :entity
+
private
def humanized_changelog
diff --git a/app/models/authorization_request_event.rb b/app/models/authorization_request_event.rb
index 1dd0eab57..a0b149808 100644
--- a/app/models/authorization_request_event.rb
+++ b/app/models/authorization_request_event.rb
@@ -10,6 +10,8 @@ class AuthorizationRequestEvent < ApplicationRecord
submit
update
+ copy
+
applicant_message
instructor_message
diff --git a/app/views/instruction/authorization_request_events/_authorization_request_event.html.erb b/app/views/instruction/authorization_request_events/_authorization_request_event.html.erb
index dd5446a11..6de266155 100644
--- a/app/views/instruction/authorization_request_events/_authorization_request_event.html.erb
+++ b/app/views/instruction/authorization_request_events/_authorization_request_event.html.erb
@@ -16,6 +16,7 @@
**{
user_full_name: authorization_request_event.user_full_name,
text: simple_format(authorization_request_event.text),
+ previous_request_id: authorization_request_event.previous_request_id,
}.compact
).html_safe
%>
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index cca87b625..60c61a08d 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -467,6 +467,10 @@ fr:
icon: close-circle-line
color: error
+ copy:
+ text: |
+ %{user_full_name} a copié la demande %{previous_request_id}
+
reopen:
text: "%{user_full_name} a réouvert l'habilitation"
diff --git a/spec/factories/authorization_request_events.rb b/spec/factories/authorization_request_events.rb
index a018fde1b..ab219511b 100644
--- a/spec/factories/authorization_request_events.rb
+++ b/spec/factories/authorization_request_events.rb
@@ -104,6 +104,23 @@
end
end
+ trait :copy do
+ entity_is_authorization_request
+
+ name { 'copy' }
+
+ after(:build) do |authorization_request_event|
+ authorization_request = authorization_request_event.entity
+ authorization_request_trait = authorization_request.type.split('::').last.underscore.to_sym
+
+ previous_authorization_request = create(:authorization_request, :validated, authorization_request_trait, applicant: authorization_request.applicant)
+
+ authorization_request_event.entity.update!(
+ previous_request_id: previous_authorization_request.id,
+ )
+ end
+ end
+
trait :applicant_message do
name { 'applicant_message' }