diff --git a/package.json b/package.json index 65aff94340..7c87a4a09b 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "@hapi/boom": "^9.1.1", "@hapi/hapi": "^20.0.1", "@hapi/inert": "^6.0.3", - "@opencrvs/toolkit": "1.9.0-rc.dda3c71", + "@opencrvs/toolkit": "1.9.0-rc.74b7aa0", "@types/chalk": "^2.2.0", "@types/csv2json": "^1.4.0", "@types/fhir": "^0.0.30", diff --git a/src/api/workqueue/workqueueConfig.ts b/src/api/workqueue/workqueueConfig.ts index 733442ab10..d4634a8f33 100644 --- a/src/api/workqueue/workqueueConfig.ts +++ b/src/api/workqueue/workqueueConfig.ts @@ -418,5 +418,26 @@ export const Workqueues = defineWorkqueues([ value: event.field('updatedAt') } ] + }, + { + slug: 'late-registration-approval-required', + icon: 'FileSearch', + name: { + id: 'workqueues.requiresApproval.title', + defaultMessage: 'Pending approval', + description: 'Title of Pending approval workqueue' + }, + query: { + flags: { + anyOf: ['approval-required-for-late-registration'] + }, + updatedAtLocation: { type: 'exact', term: user('primaryOfficeId') } + }, + actions: [ + { + type: 'DEFAULT', + conditionals: [] + } + ] } ]) diff --git a/src/data-seeding/employees/source/default-employees.csv b/src/data-seeding/employees/source/default-employees.csv index c3e20cd24c..cd567c3a65 100644 --- a/src/data-seeding/employees/source/default-employees.csv +++ b/src/data-seeding/employees/source/default-employees.csv @@ -3,6 +3,7 @@ CRVS_OFFICE_JWMRGwDBXK,Kalusha,Bwalya,HOSPITAL_CLERK,+260911111111,k.bwalya,kalu CRVS_OFFICE_JWMRGwDBXK,Felix,Katongo,REGISTRATION_AGENT,+260922222222,f.katongo,kalushabwalya17+@gmail.com,test CRVS_OFFICE_JWMRGwDBXK,Kennedy,Mweene,LOCAL_REGISTRAR,+260933333333,k.mweene,kalushabwalya1.7@gmail.com,test CRVS_OFFICE_JWMRGwDBXK,Emmanuel,Mayuka,LOCAL_SYSTEM_ADMIN,+260921681112,e.mayuka,kalushabwalya.17@gmail.com,test +CRVS_OFFICE_JWMRGwDBXK,Mitchell,Owen,PROVINCIAL_REGISTRAR,+260915151516,m.owen,kalus.habwalya17@gmail.com,test CRVS_OFFICE_2OKicPQMNI,Jonathan,Campbell,NATIONAL_SYSTEM_ADMIN,+260921111111,j.campbell,kalushabwaly.a17@gmail.com,test CRVS_OFFICE_okQp4uKCz0,Patrick,Gondwe,COMMUNITY_LEADER,+260912121212,p.gondwe,kalushabwal.ya17@gmail.com,test CRVS_OFFICE_okQp4uKCz0,Joshua,Mutale,REGISTRATION_AGENT,+260923232323,j.mutale,kalushabwa.lya17@gmail.com,test diff --git a/src/data-seeding/roles/roles.ts b/src/data-seeding/roles/roles.ts index ec9ae77975..6c2779274c 100644 --- a/src/data-seeding/roles/roles.ts +++ b/src/data-seeding/roles/roles.ts @@ -221,8 +221,7 @@ export const roles: Role[] = [ 'record.register[event=birth|death|tennis-club-membership]', 'record.registered.print-certified-copies[event=birth|death|tennis-club-membership]', 'record.registered.correct[event=birth|death|tennis-club-membership]', - 'record.unassign-others[event=birth|death|tennis-club-membership]', - 'record.custom-action[event=birth,customActionType=Approve]' + 'record.unassign-others[event=birth|death|tennis-club-membership]' ] }, { @@ -253,8 +252,8 @@ export const roles: Role[] = [ }, scopes: [ SCOPES.USER_CREATE, - 'user.create[role=FIELD_AGENT|POLICE_OFFICER|HOSPITAL_CLERK|HEALTHCARE_WORKER|COMMUNITY_LEADER|REGISTRATION_AGENT|LOCAL_REGISTRAR|NATIONAL_REGISTRAR|LOCAL_SYSTEM_ADMIN|NATIONAL_SYSTEM_ADMIN|PERFORMANCE_MANAGER]', - 'user.edit[role=FIELD_AGENT|POLICE_OFFICER|HOSPITAL_CLERK|HEALTHCARE_WORKER|COMMUNITY_LEADER|REGISTRATION_AGENT|LOCAL_REGISTRAR|NATIONAL_REGISTRAR|LOCAL_SYSTEM_ADMIN|NATIONAL_SYSTEM_ADMIN|PERFORMANCE_MANAGER]', + 'user.create[role=FIELD_AGENT|POLICE_OFFICER|HOSPITAL_CLERK|HEALTHCARE_WORKER|COMMUNITY_LEADER|REGISTRATION_AGENT|LOCAL_REGISTRAR|NATIONAL_REGISTRAR|LOCAL_SYSTEM_ADMIN|NATIONAL_SYSTEM_ADMIN|PERFORMANCE_MANAGER|PROVINCIAL_REGISTRAR]', + 'user.edit[role=FIELD_AGENT|POLICE_OFFICER|HOSPITAL_CLERK|HEALTHCARE_WORKER|COMMUNITY_LEADER|REGISTRATION_AGENT|LOCAL_REGISTRAR|NATIONAL_REGISTRAR|LOCAL_SYSTEM_ADMIN|NATIONAL_SYSTEM_ADMIN|PERFORMANCE_MANAGER|PROVINCIAL_REGISTRAR]', SCOPES.USER_READ, SCOPES.USER_UPDATE, SCOPES.ORGANISATION_READ_LOCATIONS, @@ -326,5 +325,20 @@ export const roles: Role[] = [ 'record.registered.correct[event=birth|death|tennis-club-membership]', 'record.unassign-others[event=birth|death|tennis-club-membership]' ] + }, + { + id: 'PROVINCIAL_REGISTRAR', + label: { + defaultMessage: 'Provincial Registrar', + description: 'Name for user role Provincial Registrar', + id: 'userRole.provincialRegistrar' + }, + scopes: [ + 'record.read[event=birth|death|tennis-club-membership]', + 'record.custom-action[event=birth,customActionType=APPROVE_DECLARATION]', + 'workqueue[id=late-registration-approval-required|recent]', + 'search[event=birth,access=all]', + 'record.unassign-others[event=birth]' + ] } ] diff --git a/src/form/v2/birth/index.ts b/src/form/v2/birth/index.ts index 3a3065641b..a755482f74 100644 --- a/src/form/v2/birth/index.ts +++ b/src/form/v2/birth/index.ts @@ -15,6 +15,7 @@ import { defineConfig, field, flag, + InherentFlags, not } from '@opencrvs/toolkit/events' import { @@ -231,10 +232,10 @@ export const birthEvent = defineConfig({ }, { type: ActionType.CUSTOM, - customActionType: 'Approve', - icon: 'Globe', + customActionType: 'APPROVE_DECLARATION', + icon: 'Stamp', label: { - defaultMessage: 'Approve', + defaultMessage: 'Approve declaration', description: 'This is shown as the action name anywhere the user can trigger the action from', id: 'event.birth.action.approve.label' @@ -243,21 +244,25 @@ export const birthEvent = defineConfig({ { id: 'notes', type: 'TEXTAREA', - required: true, label: { - defaultMessage: 'Notes', + defaultMessage: 'Comments', description: 'This is the label for the field for a custom action', id: 'event.birth.custom.action.approve.field.notes.label' } } ], flags: [ + { id: InherentFlags.REJECTED, operation: 'remove' }, { id: 'approval-required-for-late-registration', operation: 'remove' } ], conditionals: [ { type: ConditionalType.SHOW, conditional: flag('approval-required-for-late-registration') + }, + { + type: ConditionalType.ENABLE, + conditional: not(flag(InherentFlags.POTENTIAL_DUPLICATE)) } ], auditHistoryLabel: { diff --git a/src/translations/client.csv b/src/translations/client.csv index 17e6e1dfab..b8e666bce7 100644 --- a/src/translations/client.csv +++ b/src/translations/client.csv @@ -18,6 +18,7 @@ actionModal.confirm,The label for confirm button of action modal,Confirm,Confirm actionModal.description,The description for action modal,The informant will be notified of this decision and a record of this decision will be recorded,L'informateur sera informé de cette décision et celle-ci sera consignée dans un dossier. actionModal.description.incomplete,Description shown in the action modal when a declaration is incomplete,This incomplete declaration will be submitted for review.,Cette déclaration incomplète sera soumise à l'examen. actionModal.title,The title for action modal,"{action, select, declare{Declare} other{{action}}} the member?","{action, select, declare{Declare} other{{action}}} the member?" +actions.notify,Notify action label,Notify,Notifier advancedSearch.accordion.hide,Label for hide button when accordion is closed,Hide,Cacher advancedSearch.accordion.show,Label for show button when accordion is closed,Show,Voir advancedSearch.form.childDetails,The title of Child details accordion,Child details,information de l'enfant @@ -26,7 +27,6 @@ advancedSearch.form.deceasedDetails,The title of Deceased details accordion,Dece advancedSearch.form.eventDetails,The title of event details accordion,Event details,Détails de l'évènement advancedSearch.form.fatherDetails,The title of Father details accordion,Father details,Information du père advancedSearch.form.informantDetails,The title informant details form,Informant details,information de l'informateur -event.birth.custom.action.approve.field.notes.label,This is the label for the field for a custom action,Notes,Remarques advancedSearch.form.motherDetails,The title of Mother details accordion,Mother details,Information de la mère advancedSearch.form.placeOfRegistration,Label for input Place of registration,Place of registration,Lieu d'enregistrement advancedSearch.form.placeOfRegistrationHelperText,Helper text for input Place of registration,"Search for a province, district or registration office","Rechercher une province, un district ou un bureau d'enregistrement" @@ -232,6 +232,7 @@ constants.application.title,Application title,Application,Application constants.applicationName,Declaration name of CRVS,OpenCRVS,OpenCRVS constants.archived_declaration,Application has been archived,Archived,Archivé constants.assignRecord,A label for the Assign record -button,Assign record,Affecter un enregistrement +constants.audit,Label for the audit header,Audit,Audit constants.averageRateOfRegistrations,A label for Average rate of registrations,Avg. {amount}%,Moyenne {amount}% de la valeur constants.birth,A label from the birth event,Birth,Naissance constants.births,A label from the births event,Births,Naissances @@ -354,7 +355,6 @@ constants.phoneNumber,Phone label,Phone number,Numéro de téléphone constants.policeOfficer,The description for Police Officer type,Police Officer,Agent de police constants.reason,Label for Reason the declaration was rejected,Reason,Raison constants.record,Label for header table header Record,Record,Dossier -constants.audit,Label for the audit header,Audit,Audit constants.refresh,label for refresh,refresh,Rafraîchir constants.registered,A label for registered,Registered,Enregistré constants.registered.status,A label for registered,Registered,Enregistré @@ -799,6 +799,8 @@ event.action.declare.form.section.person.field.age.error,Error message for inval event.action.notAvailableForEvent,Shown when user tries to perform an action that is not available for the event,The action you're trying to perform is not available for this event anymore,L'action que vous essayez d'effectuer n'est plus disponible pour cet événement event.action.outbox-retry.label,Label for retry button for outbox,Retry,Réessayer event.action.review-correction.label,Label for review correction button in dropdown menu,Review correction request,Revoir la demande de correction +event.birth.action.approve.confirmationText,This is the confirmation text for the approve action,This birth has been registered late. You are now approving it for further validation and registration.,Cette naissance a été enregistrée en retard. Vous l'approuvez maintenant pour une validation et un enregistrement supplémentaires. +event.birth.action.approve.label,This is shown as the action name anywhere the user can trigger the action from,Approve declaration,Approuver la déclaration event.birth.action.archive.label,Label for archive record button in dropdown menu,Archive,Aarchiver event.birth.action.certificate.form.section.collectPayment.data.label,Title for the data section,Payment details,Détails du paiement event.birth.action.certificate.form.section.collectPayment.fee.label,Title for the data entry,Fee,Frais @@ -857,14 +859,14 @@ event.birth.action.declare.form.section.person.field.nid.label,This is the label event.birth.action.declare.form.section.person.field.occupation.label,This is the label for the field,Occupation,Profession event.birth.action.declare.form.section.person.field.passport.label,This is the label for the field,ID Number,Numéro d'identification event.birth.action.declare.label,This is shown as the action name anywhere the user can trigger the action from,Declare,Declare -event.birth.action.reject.label,This is the label for the reject action,Reject,Rejeter event.birth.action.delete.label,Label for delete button in dropdown menu,Delete,Supprimer event.birth.action.form.section.collector.other.field.name.label,This is the label for the name field of OTHER collector,Collector's name,Nom du collecteur event.birth.action.mark-as-duplicate.label,Label for review potential duplicate button in dropdown menu,Review,Revoir event.birth.action.register.label,Label for review record button in dropdown menu,Register,Enregistrer +event.birth.action.reject.label,This is the label for the reject action,Reject,Rejeter event.birth.action.request-correction.label,This is shown as the action name anywhere the user can trigger the action from,Correct record,Enregistrement correct event.birth.action.validate.label,This is shown as the action name anywhere the user can trigger the action from,Validate,Valider -event.birth.action.approve.confirmationText,This is the confirmation text for the approve action,This birth has been registered late. You are now approving it for further validation and registration.,Cette naissance a été enregistrée en retard. Vous l'approuvez maintenant pour une validation et un enregistrement supplémentaires. +event.birth.custom.action.approve.field.notes.label,This is the label for the field for a custom action,Comments,Commentaires event.birth.label,This is what this event is referred as in the system,Birth,Naissance event.birth.summary.child.dob.empty,Label for date of birth not available,No date of birth,Pas de date de naissance event.birth.summary.child.placeOfBirth.empty,Label for place of birth not available,No place of birth,Pas de lieu de naissance @@ -1046,7 +1048,7 @@ event.death.summary.informant.contact.value,This is the contact value of the inf event.death.title,This is the title of the summary,{deceased.name.firstname} {deceased.name.surname},{deceased.name.firstname} {deceased.name.surname} event.default.action.certificate.template.type.label,Select certificate template,Type,Taper event.default.action.certificate.template.type.notFound,Select certificate template options not found,"No template available for this event, contact Admin","Aucun modèle disponible pour cette event, contactez l’admin" -event.history.role,Label for the role in event history,"{role, select, LOCAL_REGISTRAR {Local Registrar} FIELD_AGENT {Field Agent} POLICE_OFFICER {Police Officer} REGISTRATION_AGENT {Registration Agent} HEALTHCARE_WORKER {Healthcare Worker} HOSPITAL_CLERK {Hospital Clerk} LOCAL_SYSTEM_ADMIN {Administrator} NATIONAL_REGISTRAR {Registrar General} PERFORMANCE_MANAGER {Operations Manager} NATIONAL_SYSTEM_ADMIN {National Administrator} COMMUNITY_LEADER {Community Leader} HEALTH {Health integration} IMPORT {Import integration} NATIONAL_ID {National ID integration} RECORD_SEARCH {Record search integration} WEBHOOK {Webhook} other {Unknown}}","{role, select, LOCAL_REGISTRAR {Officier d'état civil local} POLICE_OFFICER {Agent de police} FIELD_AGENT {Agent de terrain} REGISTRATION_AGENT {Agent d'enregistrement} HEALTHCARE_WORKER {Professionnel de santé} PERFORMANCE_MANAGER {Responsable des opérations} LOCAL_SYSTEM_ADMIN {Administrateur} NATIONAL_SYSTEM_ADMIN {Administrateur national} NATIONAL_REGISTRAR {Registraire général} HOSPITAL_CLERK {Employé administratif à l'hôpital} HEALTH {Intégration santé} IMPORT {Intégration d'importation} NATIONAL_ID {Intégration ID nationale} RECORD_SEARCH {Intégration de recherche d'enregistrements} WEBHOOK {Webhook} COMMUNITY_LEADER {Responsable communautaire} other {Inconnu}}" +event.history.role,Label for the role in event history,"{role, select, LOCAL_REGISTRAR {Local Registrar} FIELD_AGENT {Field Agent} POLICE_OFFICER {Police Officer} REGISTRATION_AGENT {Registration Agent} HEALTHCARE_WORKER {Healthcare Worker} HOSPITAL_CLERK {Hospital Clerk} LOCAL_SYSTEM_ADMIN {Administrator} NATIONAL_REGISTRAR {Registrar General} PERFORMANCE_MANAGER {Operations Manager} NATIONAL_SYSTEM_ADMIN {National Administrator} COMMUNITY_LEADER {Community Leader} HEALTH {Health integration} IMPORT {Import integration} NATIONAL_ID {National ID integration} RECORD_SEARCH {Record search integration} WEBHOOK {Webhook} PROVINCIAL_REGISTRAR {Provincial Registrar} other {Unknown}}","{role, select, LOCAL_REGISTRAR {Officier d'état civil local} POLICE_OFFICER {Agent de police} FIELD_AGENT {Agent de terrain} REGISTRATION_AGENT {Agent d'enregistrement} HEALTHCARE_WORKER {Professionnel de santé} PERFORMANCE_MANAGER {Responsable des opérations} LOCAL_SYSTEM_ADMIN {Administrateur} NATIONAL_SYSTEM_ADMIN {Administrateur national} NATIONAL_REGISTRAR {Registraire général} HOSPITAL_CLERK {Employé administratif à l'hôpital} HEALTH {Intégration santé} IMPORT {Intégration d'importation} NATIONAL_ID {Intégration ID nationale} RECORD_SEARCH {Intégration de recherche d'enregistrements} WEBHOOK {Webhook} COMMUNITY_LEADER {Responsable communautaire} PROVINCIAL_REGISTRAR {Registraire provincial} other {Inconnu}}" event.history.system,Name for system initiated actions in the event history,System,System event.history.systemDefaultName,Fallback for system integration name in the event history,System integration,Intégration système event.not.downloaded,Shown when user tries to perform an action on event that is not available,Please ensure the event is first assigned and downloaded to the browser.,Veuillez vous assurer que l'événement est d'abord attribué et téléchargé dans le navigateur. @@ -1114,11 +1116,11 @@ event.tennis-club-membership.summary.field.recommender.firstname.empty,Shown whe event.tennis-club-membership.summary.field.recommender.firstname.label,Label for the recommender's first name field,Recommender's First Name,Recommender's First Name event.tennis-club-membership.summary.field.recommender.id.empty,Shown when the recommender id is missing in summary,Recommender's id missing,Recommender's id missing event.tennis-club-membership.summary.field.recommender.id.label,Label for the recommender's ID field,Recommender's ID,Recommender's ID -events.overview.tabs.record,Title of the Record tab,Record,Enregistrement -events.overview.tabs.audit,Title of the Audit tab,Audit,Audit events.history.status,Events status history,"{status, select, Requested {Waiting for external validation} other {{action, select, CREATE {Declaration started} NOTIFY {Notified} VALIDATE {Sent for approval} DRAFT {Draft} DECLARE {Sent for review} REGISTER {Registered} PRINT_CERTIFICATE {Certified} REJECT {Rejected} ARCHIVE {Archived} DUPLICATE_DETECTED {Flagged as potential duplicate} MARKED_AS_DUPLICATE {Marked as a duplicate} MARK_AS_NOT_DUPLICATE {Marked not a duplicate} CORRECTED {Record corrected} REQUEST_CORRECTION {Correction requested} APPROVE_CORRECTION {Correction approved} REJECT_CORRECTION {Correction rejected} READ {Viewed} ASSIGN {Assigned} UNASSIGN {Unassigned} UPDATE {Updated} other {Unknown}}}}","{status, select, Requested {En attente de validation externe} other {{action, select, CREATE {Déclaration commencée} NOTIFY {Envoyé incomplet} VALIDATE {Envoyé pour approbation} DRAFT {Brouillon} DECLARE {Envoyé pour révision} REGISTER {Enregistré} PRINT_CERTIFICATE {Certifié} REJECT {Rejeté} ARCHIVE {Archivé} DUPLICATE_DETECTED {Marqué comme doublon} MARKED_AS_DUPLICATE {Marqué comme doublon} MARK_AS_NOT_DUPLICATE {Marqué comme non en doublon} CORRECTED {Enregistrement corrigé} REQUEST_CORRECTION {Correction demandée} APPROVE_CORRECTION {Correction approuvée} REJECT_CORRECTION {Correction refusée} READ {Consulté} ASSIGN {Attribué} UNASSIGN {Désattribué} UPDATE {Mis à jour} other {Inconnu}}}}" events.outbox.processingAction,Message in outbox when processing action,"{action, select, DECLARE {Sending} REGISTER {Registering} VALIDATE {Sending for approval} NOTIFY {Sending} REJECT {Sending for updates} ARCHIVE {Archiving} PRINT_CERTIFICATE {Certifying} REQUEST_CORRECTION {Requesting correction} APPROVE_CORRECTION {Approving correction} REJECT_CORRECTION {Rejecting correction} ASSIGN {Assigning} UNASSIGN {Unassigning} other {processing action}}","{action, select, DECLARE {Envoi} REGISTER {Enregistrement} VALIDATE {Envoi pour approbation} NOTIFY {Envoi} REJECT {Envoi pour mise à jour} ARCHIVE {Archivage} PRINT_CERTIFICATE {Certification} REQUEST_CORRECTION {Demande de correction} APPROVE_CORRECTION {Approbation de la correction} REJECT_CORRECTION {Rejet de la correction} ASSIGN {Attribution} UNASSIGN {Désattribution} other {action en cours}}" events.outbox.waitingForAction,Message in outbox when waiting for action,"Waiting to {action, select, DECLARE {send} CREATE {send} REGISTER {register} VALIDATE {send for approval} NOTIFY {send} REJECT {send for updates} ARCHIVE {archive} PRINT_CERTIFICATE {certify} REQUEST_CORRECTION {request correction} APPROVE_CORRECTION {approve correction} REJECT_CORRECTION {reject correction} ASSIGN {assign} UNASSIGN {unassign} other {action}}","En attente de {action, select, DECLARE {l'envoi} CREATE {l'envoi} REGISTER {l'enregistrement} VALIDATE {l'envoi pour approbation} NOTIFY {l'envoi} REJECT {l'envoi pour mise à jour} ARCHIVE {l'archivage} PRINT_CERTIFICATE {la certification} REQUEST_CORRECTION {la demande de correction} APPROVE_CORRECTION {l'approbation de la correction} REJECT_CORRECTION {le rejet de la correction} ASSIGN {l'attribution} UNASSIGN {la désattribution} other {l'action}}" +events.overview.tabs.audit,Title of the Audit tab,Audit,Audit +events.overview.tabs.record,Title of the Record tab,Record,Enregistrement events.status,Dynamic event status,"{status, select, OUTBOX {Syncing..} CREATED {Draft} VALIDATED {Validated} DRAFT {Draft} DECLARED {Declared} REGISTERED {Registered} CERTIFIED {Certified} REJECTED {Rejected} ARCHIVED {Archived} MARKED_AS_DUPLICATE {Marked as a duplicate} MARK_AS_NOT_DUPLICATE {Marked not a duplicate} NOTIFIED {In progress} other {Unknown}}","{status, select, OUTBOX {Synchronisation..} CREATED {Brouillon} VALIDATED {Validé} DRAFT {Brouillon} DECLARED {Déclaré} REGISTERED {Enregistré} CERTIFIED {Certifié} REJECTED {Nécessite une mise à jour} ARCHIVED {Archivé} MARKED_AS_DUPLICATE {Marqué comme doublon} MARK_AS_NOT_DUPLICATE {Marqué comme non en doublon} NOTIFIED {Notifié} other {Inconnu}}" exitModal.cancel, Modal cancel button,Cancel,Annuler exitModal.exitWithoutSaving,exitmodal without saving label,Exit without saving changes?,Quitter sans enregistrer les modifications? @@ -2108,6 +2110,7 @@ team.user.buttons.reactivate,Label for confirmation modal for user reactivation, unlockApp.incorrectPin,The message displayed when a user enters an incorrect PIN,Incorrect pin. Please try again,Le code est incorrect. Veuillez réessayer unlockApp.lastTry,The message displayed before the 3rd attempt of an incorrect PIN,Last try,Dernier essai unlockApp.locked,The title displayed while creating a PIN,Your account has been locked. Please try again in 1 minute.,Votre compte a été verrouillé. Veuillez réessayer dans 1 minute. +user.avatar,Aria label for user avatar button,User avatar,Avatar utilisateur user.form.buttons.submit,Label for submit button of user creation form,Create user,Créer un utilisateur user.form.securityquestion.answer,,Answer,Répondre à user.form.securityquestion.description,,"From the drop down lists below, select questions that can be used later to confirm your identity should you forget your password.","Dans les listes déroulantes ci-dessous, sélectionnez des questions qui pourront être utilisées ultérieurement pour confirmer votre identité si vous oubliez votre mot de passe." @@ -2166,7 +2169,6 @@ user.profile.roleType,Title for roleType field,Role,Rôle/Type user.profile.sectionTitle.audit,Title for audit section,History,Historique user.profile.startDate,Title for startDate field,Start date,Date de début user.profile.userName,Title for userName field,Username,Nom d'utilisateur -user.avatar,Aria label for user avatar button,User avatar,Avatar utilisateur userRole.communityLeader,Name for user role Community Leader,Community Leader,Leader communautaire userRole.fieldAgent,Name for user role Field Agent,Field Agent,Agent de terrain userRole.healthcareWorker,Name for user role Healthcare Worker,Healthcare Worker,Personnel de santé @@ -2177,6 +2179,7 @@ userRole.nationalRegistrar,Name for user role National Registrar,National Regist userRole.nationalSystemAdmin,Name for user role National System Admin,National System Admin,Administrateur système national userRole.performanceManager,Name for user role Performance Manager,Performance Manager,Gestion des performances userRole.policeOfficer,Name for user role Police Officer,Police Officer,Officier de police +userRole.provincialRegistrar,Name for user role Provincial Registrar,Provincial Registrar,Registraire provincial userRole.registrationAgent,Name for user role Registration Agent,Registration Agent,Agent d'enregistrement userSetup.complete.instruction,Instruction for the setup complete,Login to your account with your username and newly created password,Connectez-vous maintenant à votre compte avec votre nom d'utilisateur et votre mot de passe nouvellement créé. userSetup.complete.title,Title for the setup complete page,Account setup complete,Configuration du compte terminée @@ -2262,7 +2265,6 @@ verifyCertificate.successTitle,title for success alert,Valid QR code,Code QR val verifyCertificate.successUrl,title for success alert for url validation,URL Verification,Vérification des URL verifyCertificate.timeOut,message when time out after few minute,You been timed out,Délais expirée verifyCertificate.toastMessage,Message for the toast when time spend 1 minute,"After verifying the certificate, please close the browser window","Après avoir vérifié le certificat, veuillez fermer la fenêtre du navigateur." -actions.notify,Notify action label,Notify,Notifier views.idReader.label.manualInput,Label that shows below the divider on the id reader component,Complete fields below,Remplissez les champs ci-dessous views.idReader.label.or,Label that shows on the divider,Or,Ou views.idVerification.banner.actions.reset,,Reset,Réinitialiser @@ -2289,6 +2291,7 @@ views.qrReader.tutorial.lightBalance,Light balance tutorial,Ensure the QR code i workqueues.dateOfEvent,Label for workqueue column: dateOfEvent,Date of Event,Date de l'événement workqueues.draft.title,Title of draft workqueue,My drafts,Mes brouillons workqueues.outbox.title,Title of outbox workqueue,Outbox,Boîte d'envoi +workqueues.requiresApproval.title,Title of pending approval workqueue,Pending approval,En attente d'approbation wq.noRecords.CREATED,No records messages for empty draft tab,No records in progress,Aucun enregistrement en cours wq.noRecords.DECLARED,No records messages for ready for review tab,No records ready for review,Aucun document prêt à être examiné wq.noRecords.REGISTERED,No records messages for ready to print tab,No records ready to print,Aucun document prêt à être imprimé diff --git a/yarn.lock b/yarn.lock index 2ff9f3a117..c7238dad61 100644 --- a/yarn.lock +++ b/yarn.lock @@ -834,10 +834,10 @@ dependencies: "@octokit/openapi-types" "^18.0.0" -"@opencrvs/toolkit@1.9.0-rc.dda3c71": - version "1.9.0-rc.dda3c71" - resolved "https://registry.yarnpkg.com/@opencrvs/toolkit/-/toolkit-1.9.0-rc.dda3c71.tgz#7c51138e44cf5a69b4a8cc5925277fa34ef430a6" - integrity sha512-gsm+Q0q7ZhKpBcWVDnnSS6LHsWkkH/gsWNlwbub0DxvC8znh/qOYY7bpFPR4377R3KfLYExuwsGadVS2CKPOig== +"@opencrvs/toolkit@1.9.0-rc.74b7aa0": + version "1.9.0-rc.74b7aa0" + resolved "https://registry.yarnpkg.com/@opencrvs/toolkit/-/toolkit-1.9.0-rc.74b7aa0.tgz#5a07c004a465df512e16e3a7e97fbcdf2d5abdf3" + integrity sha512-EXdY5SZdSecnRrxydP6vcDaXVzr6pz3TZNRlbnHuoK0omfmxgGE+p9jMvmdnVOh4QumIFm5EyJ+UIIkcXboxCQ== dependencies: "@trpc/client" "11.4.3" "@trpc/server" "11.4.3"