Reject Invalid Activity Registration with Documented Reason
When a coordinator determines a registration is invalid and cannot be salvaged through correction (e.g., it is a clear duplicate, submitted for the wrong organization, or represents activity that did not occur), they use the rejection flow. The Rejection Reason Dialog presents a mandatory text field for the rejection reason and an optional checkbox to notify the submitter via push notification. The Activity Approval Service transitions the registration to 'rejected' status and the Activity Correction Repository stores the rejection reason and coordinator identity in the audit record. The rejected record is retained in the database for compliance purposes but excluded from all active Bufdir reporting queries.
User Story
Acceptance Criteria
- Given a coordinator taps 'Reject' on a pending registration, when the dialog opens, then the Rejection Reason Dialog is displayed with a mandatory text field and an optional 'Notify submitter' toggle
- Given the rejection dialog is open, when the coordinator attempts to confirm rejection without entering a reason, then the confirm button remains disabled and a validation hint is displayed
- Given the coordinator submits a rejection with a reason, when the transaction completes, then the registration status is set to 'rejected' and the reason, coordinator identity, and timestamp are stored in the audit record
- Given the 'Notify submitter' toggle is enabled, when rejection is confirmed, then a push notification is sent to the original submitter informing them of the rejection
- Given a registration is rejected, when Bufdir report data is generated, then the rejected registration is excluded from all active reporting aggregations
- Given a rejection is saved, when the registration queue refreshes, then the rejected item is removed from the pending queue and the coordinator sees the updated count
Business Value
Without a formal rejection mechanism with documented reasons, invalid registrations either accumulate in the pending queue indefinitely or are deleted without audit trail — both outcomes are unacceptable for Bufdir grant compliance. Retaining rejected records with reasons enables coordinators to respond to auditors, prevents recurring invalid submissions from the same submitter, and maintains the integrity of the historical activity database.