Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Update the order of system user add/edit form fields and labels and remove NID field #7697

Merged
merged 7 commits into from
Oct 17, 2024

Conversation

Siyasanga
Copy link
Collaborator

Address the issues listed in ticket #6830 like:

  • Reordering the field to start with the user's surname
  • Rename "First name(s)" label to read "User's first name"
  • Rename "Last name" label to read as "User's surname"
  • Remove the NID field from the user's form
  • Write migration script to remove the NID value for all existing system Users

#6830

This comment has been minimized.

@Siyasanga Siyasanga self-assigned this Oct 1, 2024
@Siyasanga Siyasanga added this to the v1.7.0 milestone Oct 1, 2024
@ocrvs-bot
Copy link
Collaborator

Your environment is deployed to https://ocrvs-6830.opencrvs.dev.

@Siyasanga Siyasanga changed the title fix: Configurable human name formatting feat: Configurable human name formatting Oct 1, 2024
@Siyasanga Siyasanga marked this pull request as draft October 1, 2024 15:03
@Siyasanga
Copy link
Collaborator Author

Hi @rikukissa I've removed all references to the NID field, can you please have a look when you have some time. I'm currently writing the migration to remove the NID field for the already existing system users.

@@ -79,38 +78,38 @@ export function userSectionFormType(): ISerializedFormSection {
title: userFormMessages.userDetails,
fields: [
{
name: 'firstNamesEng',
name: 'familyNameEng',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be possible to change these to just familyName so dropping the Eng and En suffixes?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @rikukissa this is the problem that I was having with the test in relation to the request of renaming familyNameEng suffixes. In the mocked data example we already had familyName property and so trying to rename familyNameEng to FamilyName causes conflicts for the object.

Since we are not using it in the user-mgnt database anyways I thought deleting it familyName: 'হোসেন' and renaming the other to familyName: 'Hossain' would make sense would you agree?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree 👍

@Siyasanga Siyasanga changed the title feat: Configurable human name formatting feat: Remove the NID field from the system user add/edit form Oct 8, 2024
@Siyasanga Siyasanga force-pushed the ocrvs-6830 branch 2 times, most recently from fb328c8 to cea102f Compare October 9, 2024 08:26
@Siyasanga Siyasanga marked this pull request as ready for review October 9, 2024 08:26
Copy link
Collaborator

@Zangetsu101 Zangetsu101 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good otherwise 👍

Comment on lines 81 to 99
name: 'familyName',
type: TEXT,
label: userFormMessages.firstNameEn,
label: userFormMessages.lastName,
required: true,
initialValue: '',
validator: [{ operation: 'englishOnlyNameFormat' }],
mapping: {
mutation: {
operation: 'fieldToNameTransformer',
parameters: ['en', 'firstNames']
parameters: ['en', 'familyName']
},
query: {
operation: 'nameToFieldTransformer',
parameters: ['en', 'firstNames']
parameters: ['en', 'familyName']
}
}
},
{
name: 'familyNameEng',
name: 'firstNamesEng',
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any particular reason why one's called "familyName" while the other "firstNamesEng"? 😅

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @Zangetsu101, good question. I may have misunderstood @rikukissa requested change from above. How I understood it was that a person can have multiple names from different languages, is this interpretation correct?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Siyasanga Sorry, I should have been clearer! A user can only have one name, always in English. The -Eng suffix is technical debt from the past :) If we need to have multiple names in different scripts later on we can build a new solution. So for now, all En and Eng suffixes should be removed both from core and country config client.csv

@Siyasanga Siyasanga changed the title feat: Remove the NID field from the system user add/edit form feat: Update the order of system user add/edit form fields and labels and remove NID field Oct 17, 2024
Siyasanga and others added 7 commits October 17, 2024 14:57
we often receive requests from countries to have the surname first in this form, we have decided to satisfy that requirement by putting surname first for ALL countries.

#6830
A request came for the clients to change the labels for "First name(s)" to "User's first name". Also change "Last name" to "User's surname" for clarity and less confussion.

#6830
Remove the question that asks the user for a national ID number in this form as it is not required

#6830
We no longer need the suffixes for the FamilyName field since we not really using it anywhere

#6830
A requirement from client to remove the NID field since most of the contries are not really using it.

#6830
To keep track of changes done on this PR

#6830
We currently don't support milti language support for both surname and
first names so the ENG/EN suffixes are not needed. Also remove EN bits
that were left for the surname field

#6830
@Siyasanga Siyasanga enabled auto-merge (squash) October 17, 2024 12:58
@Siyasanga Siyasanga merged commit 1695fb1 into develop Oct 17, 2024
37 of 40 checks passed
Nil20 added a commit that referenced this pull request Oct 29, 2024
* /sendVerifyCode moved to gateway/config/routes.ts; dead code removed (#7763)

* /sendVerifyCode removed to gateway/config/routes.ts; dead code removed

* docs: mention email in description

---------

Co-authored-by: Tameem Bin Haider <[email protected]>

* fix: find office location from current task (#7765)

* fix: hide signature for duplicate record (#7773)

* feat: Update the order of system user add/edit form fields and labels and remove NID field  (#7697)

* Ask surname first in the User details form

we often receive requests from countries to have the surname first in this form, we have decided to satisfy that requirement by putting surname first for ALL countries.

#6830

* Change name and surname labels for User Details form

A request came for the clients to change the labels for "First name(s)" to "User's first name". Also change "Last name" to "User's surname" for clarity and less confussion.

#6830

* Remove NID field from the user details form

Remove the question that asks the user for a national ID number in this form as it is not required

#6830

* Remove lang suffix for FamilyName field

We no longer need the suffixes for the FamilyName field since we not really using it anywhere

#6830

* Add migration to remove NID field from user

A requirement from client to remove the NID field since most of the contries are not really using it.

#6830

* Record changes in the CHANGELOG

To keep track of changes done on this PR

#6830

* Remove Eng suffix for the firstName in user form

We currently don't support milti language support for both surname and
first names so the ENG/EN suffixes are not needed. Also remove EN bits
that were left for the surname field

#6830

---------

Co-authored-by: Siyasanga Mtshokotsha <[email protected]>
Co-authored-by: Siyasanga Mtshokotsha <[email protected]>

* fix: make all triggers which are pointing to the same http request touched on change request state

* chore: add a comment explaining the reason of the change that finds multiple buttons with the same trigger

* chore: show displayName of styled components in devtools (#7830)

* feat(auth): allow issuing single record specific tokens (#7728)

* refactor: move metrics out of authenticate

* feat: initial token exchange endpoint

* chore: update comment to be more specific

* fix: issue with calling metrics environment

* chore: amend changelog

* refactor: improve clarity

* fix: unused import

* chore: add missing schema inputs

* revert: revert mosip code removal to keep PR contained

* chore: add comment about more fine-grained control

* chore: fix test on gateway

* feat: actually check if the record id matches to confirm record

* revert: the confirm registration changes - lets do inanother pr

* refactor: update error messages

* fix: make the no-op simpler

* fix: the query params not passing properly via gateway

* refactor: remove unnecessary gql inputs

* fix: update audiences to include minimum

* fix: update the todo comment

* fix: disable `google translate` extension (#7842)

* chore(deps): update dependency eslint-plugin-import to v2.31.0

* chore(security): add pipeline to mirror trivy dbs

* fix(security): add missing script

* fix: add missing license

* Change security scanning so PR pipelines only error on vulnerabilities introduced in the PR (#7845)

* feat: Action Menu (#7633)

* feat: implement action menu

* chore: export `IProps`

* feat: enable keyboard navigation

* feat: implement `Dropdown` component

* feat: make dropdownMenu keyboard accessible

* feat: make dropdownMenu close on click outside and esc

* fix: make some props optional

* fix: close menu on ouside click

* feat: create actionMenu

* feat: add `Update`, `Print`, `Issue`, `Delete` items

* feat: implement delete declaration

* feat: redirect to home after deleting draft

* feat: add label for assigned to someone else

* refactor: move actionItems

* amend: add missing props

* feat: add scope and other checks for: correct record

* feat: add scope and other checks for: archive declaration

* feat: add scope and other checks for: reinstate declaration

* refactor: restructure types

* feat: add scope and other checks for: review

* chore: add todo

* feat: add scope and other checks for: update declaration

* feat: add scope and other checks for: print declaration

* chore: remove console.log

* feat: add scope and other checks for: issue certificate

* feat: add scope and other checks for: delete declaration

* refactor: change order of items

* wip

* Revert "wip"

This reverts commit b25bfa1.

* feat: implement unassign button

* fix: font and color

* fix: keyDown behaviour

* chore: remove record audit buttons

* refactor: use dropdownMenu to refactor toggleMenu

* chore: remove action from component

* chore: deprecate toggleMenu

* feat: move self unassign to actionMenu

* chore: dont unassign from download button

* chore: remove unused imports

* chore: update changelog

* fix: RA will see "correct record" button

* fix: add id in dropdown menu

* refactor: `isDownloadable` logic

* refactor: remove types from actionMessages

* refactor: use `useIntl` and `useDispatch` hooks instead of props drilling

* refactor: dont pass assignment to unassign comp

* refactor: use `offsetX` and `offsetY` instead of `offset_x` and `offset_y`

* refactor: use `<Button>` instead of `<PrimaryButton>`

* refactor: remove unnecessary `<div>`s

* feat: use `anchor` and `popover` api to toggle the dropdown visivility

* fix: focus

* chore: remove as string

* refactor: early return if condition fails

* refactor: move declaration status logic into declarations/utils

* refactor: change type of status to `SUBMISSION_STATUS`

* fix: handle multiple dropdown

* fix: styles

* fix: position options and story

* fix: close dropdown on action click

* refactor: align EVENT in common with Event in client

* refactor: pass id directly to provider

* test: add unit test for view action

* test: cover all statuses for view action

* test: add tests for review action

* test: add tests for update action

* test: add tests for archive action

* test: add tests for reinstate action

* test: add tests for print action

* test: add tests for issue action

* test: refactor:  centralize scoeps

* test: add test for not having scope

* test: add tests for correct action

* test: add tests for delete action

* test: add tests for unassign action

* test: add tests for assignment text

* fix: unhandled errors

* chore: remove old tests

* fix: use EVENT.Birth instead of "Birth"

* fix: use EVENT.Birth instead of "Birth"

* fix: eventToggle id in test

* fix: eventToggle id in test

* fix: ids in UserList.test

* fix: ids in UserAudit.test

* fix: import Event

* fix: remove unassign test from download button

* fix: ids in ProfileMenu.test

* fix: import Event

* fix: import Event

---------

Co-authored-by: Riku Rouvila <[email protected]>

* remove all fields from trivy result json that are dependent on file paths or image hashes

* fix(build): fix how base branch is resolved for PRs

* chore(renovate): never rebase PR branches automatically, keep only 3 PRs open at one time

* chore(renovate): keep only 3 PRs open at one time

* fix(trivy): fixes to trivy config syntax

* fix: update action menu scopes and role type of user

---------

Co-authored-by: Muhammed Tareq Aziz <[email protected]>
Co-authored-by: Tameem Bin Haider <[email protected]>
Co-authored-by: Siyasanga Mtshokotsha <[email protected]>
Co-authored-by: Siyasanga Mtshokotsha <[email protected]>
Co-authored-by: Siyasanga Mtshokotsha <[email protected]>
Co-authored-by: tahmidrahman-dsi <[email protected]>
Co-authored-by: Tahmid Rahman <[email protected]>
Co-authored-by: Jamil <[email protected]>
Co-authored-by: Pyry Rouvila <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Barry Dwyer <[email protected]>
Co-authored-by: Riku Rouvila <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants