opencrvs / opencrvs-core

A global solution to civil registration
https://www.opencrvs.org
Other
85 stars 67 forks source link

Revoke a registration #4569

Open euanmillar opened 1 year ago

euanmillar commented 1 year ago

Description

Once a record has been registered we need a mechanism to revoke it.

As it is possible for a Registrar to make a duplicate intentionally either because of a mistake or because they have been defrauded.

And as it is possible for a death registration to be made against an individual who has not actually died, either by mistake or fraudulently

This ticket is to:

Design

Status flow diagram: https://www.figma.com/board/MpIAfLSCAGAVKBbciSNHrT/Status-WorkFlow?node-id=1630-615&t=EulDkkq8ncWcuBZH-1 Template design with Farajaland configuration: TBD

ACs

GIVEN I have the scope Revoke Registration WHEN a record has the status Registered THEN i can select Revoke registration form the action menu

GIVEN WHEN THEN

GIVEN I am performing an Advanced Search WHEN I select the status THEN I can select Revoked and search for revoke registrations

Tech tasks

REVOKED will become a new record status that the record can move to from a REGISTERED status.

Before a record is revoked

const form = props.form.concat(DEFAULT_VIEWS_AND_INPUTS.filter(sectionNotIn(props.form)))
<FormFieldGenerator fields={form} />
const { revoke } = useRevoke()

it triggers a GraphQL mutation sent to the Outbox. The caller of this method can then redirect the user to the home screen, but let's keep the actions themselves simple.

After a record is revoked

Tests

rikukissa commented 2 months ago

Questions:

jpye-finch commented 2 months ago

Added ACs for your first bullet. Will be adding more as this is flecthed out