From 736e2525669d6f7d7633b8cef7503b5750212f91 Mon Sep 17 00:00:00 2001 From: Ipula Indeewara Date: Thu, 27 Feb 2025 23:11:13 +0100 Subject: [PATCH] add user extended meta data in edit user and edit invitation (#537) * add user extended meta data in edit user and edit invitation * use show more component in user meta data show * add new prop for html tag in form item display * use updated form item display component for user meta data * add existing user homepage URL locale --- public/globals.js | 8 ++ .../FormDisplay/FormDisplayItemBasic.vue | 4 +- .../UserAccessManager/UserAccessManager.vue | 4 +- .../UserAccessManagerCellActions.vue | 4 +- .../UserAccessManagerStore.js | 4 +- .../UserInvitationDetailsFormStep.vue | 13 ++- .../UserInvitationExtendedMetaData.vue | 84 +++++++++++++++++++ 7 files changed, 111 insertions(+), 10 deletions(-) create mode 100644 src/pages/userInvitation/UserInvitationExtendedMetaData.vue diff --git a/public/globals.js b/public/globals.js index c98002744..64f9c381e 100644 --- a/public/globals.js +++ b/public/globals.js @@ -894,6 +894,14 @@ window.pkp = { 'workflow.submissionNextReviewRoundInFutureStage': 'The submission advanced to the next review round, was accepted, and is currently in the {$stage} stage.', 'workflow.uploadRevisions': 'Upload revisions', + 'grid.user.grid.user.enableReasonDescription': + "Once the user is enabled, they will regain access to OJS, and you'll be able to invite them to roles as needed.", + 'grid.user.grid.user.disableReasonDescription': + "Please note that once a user is disabled, you won't be able to add them to any roles until they are enabled again.", + 'user.url':'Homepage URL', + 'user.workingLanguages':'Working Languages', + 'user.bioStatement':'Bio Statement', + 'common.viewMoreDetails':'View more details', }, tinyMCE: { skinUrl: '/styles/tinymce', diff --git a/src/components/FormDisplay/FormDisplayItemBasic.vue b/src/components/FormDisplay/FormDisplayItemBasic.vue index 098aeb98e..d3622946b 100644 --- a/src/components/FormDisplay/FormDisplayItemBasic.vue +++ b/src/components/FormDisplay/FormDisplayItemBasic.vue @@ -2,7 +2,8 @@ {{ heading }} -

{{ value }}

+

{{ value }}

+

diff --git a/src/managers/UserAccessManager/UserAccessManager.vue b/src/managers/UserAccessManager/UserAccessManager.vue index 9a59043e6..74495efb1 100755 --- a/src/managers/UserAccessManager/UserAccessManager.vue +++ b/src/managers/UserAccessManager/UserAccessManager.vue @@ -46,7 +46,7 @@ import TableBody from '@/components/Table/TableBody.vue'; import TableRow from '@/components/Table/TableRow.vue'; import {useUserAccessManagerStore} from './UserAccessManagerStore.js'; import TablePagination from '@/components/Table/TablePagination.vue'; -import {useTranslation} from '@/composables/useTranslation'; +import {useLocalize} from '@/composables/useLocalize'; import Search from '@/components/Search/Search.vue'; import {ref} from 'vue'; import UserAccessManagerCellStartDate from './UserAccessManagerCellStartDate.vue'; @@ -66,6 +66,6 @@ const Components = { }; const store = useUserAccessManagerStore(); -const {t} = useTranslation(); +const {t} = useLocalize(); const searchPhrase = ref(''); diff --git a/src/managers/UserAccessManager/UserAccessManagerCellActions.vue b/src/managers/UserAccessManager/UserAccessManagerCellActions.vue index d5494fbec..f1407ea95 100644 --- a/src/managers/UserAccessManager/UserAccessManagerCellActions.vue +++ b/src/managers/UserAccessManager/UserAccessManagerCellActions.vue @@ -14,12 +14,12 @@ import TableCell from '@/components/Table/TableCell.vue'; import DropdownActions from '@/components/DropdownActions/DropdownActions.vue'; import {useUserAccessManagerStore} from './UserAccessManagerStore.js'; -import {useTranslation} from '@/composables/useTranslation'; +import {useLocalize} from '@/composables/useLocalize'; defineProps({ user: {type: Object, required: true}, }); const store = useUserAccessManagerStore(); -const {t} = useTranslation(); +const {t} = useLocalize(); diff --git a/src/managers/UserAccessManager/UserAccessManagerStore.js b/src/managers/UserAccessManager/UserAccessManagerStore.js index 20060187e..5595b4333 100755 --- a/src/managers/UserAccessManager/UserAccessManagerStore.js +++ b/src/managers/UserAccessManager/UserAccessManagerStore.js @@ -2,7 +2,7 @@ import {defineComponentStore} from '@/utils/defineComponentStore'; import {useApiUrl} from '@/composables/useApiUrl'; import {useUrl} from '@/composables/useUrl'; import {useAnnouncer} from '@/composables/useAnnouncer'; -import {useTranslation} from '@/composables/useTranslation'; +import {useLocalize} from '@/composables/useLocalize'; import {useFetchPaginated} from '@/composables/useFetchPaginated'; import {ref, watch} from 'vue'; import {useUserAccessManagerActions} from './useUserAccessManagerActions'; @@ -10,7 +10,7 @@ import {useUserAccessManagerActions} from './useUserAccessManagerActions'; export const useUserAccessManagerStore = defineComponentStore( 'userAccessManager', () => { - const {t} = useTranslation(); + const {t} = useLocalize(); /** Announcer */ const {announce} = useAnnouncer(); diff --git a/src/pages/userInvitation/UserInvitationDetailsFormStep.vue b/src/pages/userInvitation/UserInvitationDetailsFormStep.vue index 22ef3f4e1..b4dbeb67e 100644 --- a/src/pages/userInvitation/UserInvitationDetailsFormStep.vue +++ b/src/pages/userInvitation/UserInvitationDetailsFormStep.vue @@ -22,7 +22,7 @@ >
-
+
+
+ + + +
@@ -71,11 +76,13 @@ import {defineProps, computed} from 'vue'; import FormDisplayItemBasic from '@/components/FormDisplay/FormDisplayItemBasic.vue'; import Icon from '@/components/Icon/Icon.vue'; import PkpForm from '@/components/Form/Form.vue'; -import {useTranslation} from '@/composables/useTranslation'; +import {useLocalize} from '@/composables/useLocalize'; import UserInvitationUserGroupsTable from './UserInvitationUserGroupsTable.vue'; import {useUserInvitationPageStore} from './UserInvitationPageStore'; import {useForm} from '@/composables/useForm'; import FormErrorSummary from '@/components/Form/FormErrorSummary.vue'; +import UserInvitationExtendedMetaData from './UserInvitationExtendedMetaData.vue'; +import ShowMore from '@/components/ShowMore/ShowMore.vue'; /** * Update the payload by using form values on multilingual or not @@ -102,7 +109,7 @@ function updateUserForm(id, form, c, d) { } } -const {t} = useTranslation(); +const {t} = useLocalize(); const store = useUserInvitationPageStore(); const props = defineProps({ diff --git a/src/pages/userInvitation/UserInvitationExtendedMetaData.vue b/src/pages/userInvitation/UserInvitationExtendedMetaData.vue new file mode 100644 index 000000000..9d2ca4ec0 --- /dev/null +++ b/src/pages/userInvitation/UserInvitationExtendedMetaData.vue @@ -0,0 +1,84 @@ + + +