@@ -, +, @@ --- acqui/vendors.pl | 3 ++- .../prog/en/modules/acqui/vendors.tt | 1 + .../js/vue/components/ERM/AgreementsList.vue | 7 ++++++ .../js/vue/components/ERM/LicensesFormAdd.vue | 4 ++-- .../js/vue/components/ERM/LicensesList.vue | 11 ++++++++- .../js/vue/components/Islands/VendorMenu.vue | 24 +++++++++++++++++++ .../prog/js/vue/components/Vendors/Main.vue | 1 + 7 files changed, 47 insertions(+), 4 deletions(-) --- a/acqui/vendors.pl +++ a/acqui/vendors.pl @@ -48,7 +48,8 @@ $template->param( user_permissions => $user_permissions, currencies => Koha::Acquisition::Currencies->search->unblessed, gst_values => \@gst_values, - edifact => C4::Context->preference('EDIFACT') + edifact => C4::Context->preference('EDIFACT'), + erm_module => C4::Context->preference('ERMModule') ); output_html_with_http_headers $query, $cookie, $template->output; --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/vendors.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/vendors.tt @@ -33,6 +33,7 @@ const currencies = [% To.json(currencies) | $raw %]; const gstValues = [% To.json(gst_values) | $raw %]; const edifact = [% To.json(edifact) | $raw %]; + const ermModule = [% To.json(erm_module) | $raw %]; --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue +++ a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsList.vue @@ -234,6 +234,13 @@ export default { if (this.filters.by_expired) url += "?max_expiration_date=" + this.filters.max_expiration_date + + const vendorId = this.$route.query.vendor_id + if (vendorId) { + url = this.filters.by_expired + ? url + "&vendor_id=" + vendorId + : url + "?vendor_id=" + vendorId + } return url }, filter_table: async function () { --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesFormAdd.vue +++ a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesFormAdd.vue @@ -152,12 +152,12 @@ import { storeToRefs } from "pinia" export default { setup() { const AVStore = inject("AVStore") - const { av_license_types, av_license_statuses, av_user_roles } = + const { av_license_statuses, av_license_types, av_user_roles } = storeToRefs(AVStore) return { - av_license_types, av_license_statuses, + av_license_types, av_user_roles, max_allowed_packet, } --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue +++ a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/LicensesList.vue @@ -69,7 +69,7 @@ export default { searchable_av_options: [], tableOptions: { columns: this.getTableColumns(), - url: this.getResourceTableUrl(), + url: this.tableURL(), options: { embed: "vendor,extended_attributes,+strings" }, table_settings: this.license_table_settings, add_filters: true, @@ -113,6 +113,15 @@ export default { error => {} ) }, + tableURL() { + let url = this.getResourceTableUrl() + + const vendorId = this.$route.query.vendor_id + if (vendorId) { + url += "?vendor_id=" + vendorId + } + return url + }, async getSearchableAdditionalFields() { const client = APIClient.additional_fields await client.additional_fields.getAll("license").then( --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Islands/VendorMenu.vue +++ a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Islands/VendorMenu.vue @@ -68,6 +68,17 @@ >{{ $__("Uncertain prices") }} +