From d4bf57554b1ced9a22d7af87eae323975d5ca2b8 Mon Sep 17 00:00:00 2001 From: Matt Blenkinsop Date: Fri, 17 Jan 2025 17:05:46 +0000 Subject: [PATCH] Bug 38930: (DO NOT PUSH) Add an example to ERM --- .../prog/js/vue/components/ERM/AgreementsList.vue | 6 ++++++ .../intranet-tmpl/prog/js/vue/components/ERM/Main.vue | 10 ++++++++-- koha-tmpl/intranet-tmpl/prog/js/vue/modules/erm.ts | 3 +++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue index 5b150a94f3c..24862db2472 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue @@ -6,6 +6,9 @@ :to="{ name: 'AgreementsFormAdd' }" icon="plus" :title="$__('New agreement')" + v-if=" + isUserPermitted('CAN_user_suggestions_suggestions_create') + " />
@@ -72,6 +75,8 @@ export default { const vendorStore = inject("vendorStore"); const { vendors } = storeToRefs(vendorStore); + const { isUserPermitted } = inject("permissionsStore"); + const { setConfirmationDialog, setMessage } = inject("mainStore"); const { get_lib_from_av, map_av_dt_filter } = inject("ERMStore"); @@ -94,6 +99,7 @@ export default { escape_str, agreement_table_settings, filters, + isUserPermitted, }; }, data: function () { diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/Main.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/Main.vue index f2a7d0b75c7..f3a3e053a01 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/Main.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/Main.vue @@ -50,6 +50,9 @@ export default { const { config, authorisedValues } = storeToRefs(ERMStore); const { loadAuthorisedValues } = ERMStore; + const permissionsStore = inject("permissionsStore"); + const { loadUserPermissions } = permissionsStore; + return { vendorStore, ERMStore, @@ -59,6 +62,7 @@ export default { loaded, loadAuthorisedValues, authorisedValues, + loadUserPermissions, }; }, data() { @@ -82,8 +86,10 @@ export default { this.authorisedValues, this.ERMStore ).then(() => { - this.loaded(); - this.initialized = true; + this.loadUserPermissions().then(() => { + this.loaded(); + this.initialized = true; + }); }); }; diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/modules/erm.ts b/koha-tmpl/intranet-tmpl/prog/js/vue/modules/erm.ts index 4dcca91eddc..775f771e621 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/modules/erm.ts +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/modules/erm.ts @@ -24,6 +24,7 @@ import { useVendorStore } from "../stores/vendors"; import { useERMStore } from "../stores/erm"; import { useNavigationStore } from "../stores/navigation"; import { useReportsStore } from "../stores/usage-reports"; +import { usePermissionsStore } from "../stores/permissions"; import i18n from "../i18n"; const pinia = createPinia(); @@ -31,6 +32,7 @@ const pinia = createPinia(); const mainStore = useMainStore(pinia); const navigationStore = useNavigationStore(pinia); const routes = navigationStore.setRoutes(routesDef); +const permissionsStore = usePermissionsStore(pinia); const router = createRouter({ history: createWebHistory(), @@ -50,6 +52,7 @@ const rootComponent = app app.config.unwrapInjectedRef = true; app.provide("vendorStore", useVendorStore(pinia)); app.provide("mainStore", mainStore); +app.provide("permissionsStore", permissionsStore); app.provide("navigationStore", navigationStore); const ERMStore = useERMStore(pinia); app.provide("ERMStore", ERMStore); -- 2.48.1