feat(scheduling): retire replaced participant responses
This commit is contained in:
@@ -67,7 +67,7 @@ from govoplan_scheduling.backend.service import (
|
||||
submit_scheduling_availability,
|
||||
submit_public_scheduling_participation,
|
||||
update_scheduling_candidate_slot,
|
||||
update_scheduling_request_with_invitation_tokens,
|
||||
update_scheduling_request_with_change_log,
|
||||
)
|
||||
|
||||
|
||||
@@ -431,7 +431,7 @@ def api_update_scheduling_request(
|
||||
request_id=request_id,
|
||||
)
|
||||
try:
|
||||
request, _invitation_tokens = update_scheduling_request_with_invitation_tokens(
|
||||
request, participant_mutations = update_scheduling_request_with_change_log(
|
||||
session,
|
||||
tenant_id=principal.tenant_id,
|
||||
request_id=request_id,
|
||||
@@ -439,6 +439,21 @@ def api_update_scheduling_request(
|
||||
)
|
||||
except SchedulingError as exc:
|
||||
raise _scheduling_http_error(exc) from exc
|
||||
for mutation in participant_mutations:
|
||||
_audit_invitation_action(
|
||||
session,
|
||||
principal=principal,
|
||||
request_id=request_id,
|
||||
participant_id=mutation.participant_id,
|
||||
action=mutation.action,
|
||||
details={
|
||||
"replacement_participant_id": mutation.replacement_participant_id,
|
||||
"changed_fields": list(mutation.changed_fields),
|
||||
"invitation_revoked": mutation.invitation_revoked,
|
||||
"retired_response_count": mutation.retired_response_count,
|
||||
"notification_id": mutation.notification_id,
|
||||
},
|
||||
)
|
||||
response = _request_response(request, principal=principal)
|
||||
session.commit()
|
||||
return response
|
||||
|
||||
Reference in New Issue
Block a user