From f4048ece0c7003b6367629781fb0e33c00c1d13a Mon Sep 17 00:00:00 2001 From: Matt Blenkinsop Date: Tue, 1 Oct 2024 10:31:02 +0000 Subject: [PATCH] Bug 38010: Fix vendors search bar --- .../prog/en/includes/acquisitions-search.inc | 2 +- .../intranet-tmpl/prog/en/modules/acqui/acqui-home.tt | 8 ++++++-- .../prog/js/vue/components/Vendors/VendorList.vue | 7 +++++++ koha-tmpl/intranet-tmpl/prog/js/vue/stores/navigation.js | 6 ++++++ t/cypress/integration/Acquisitions/Vendors_spec.ts | 6 +++--- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/acquisitions-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/acquisitions-search.inc index 86ca5e0204d..c08ae702059 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/acquisitions-search.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/acquisitions-search.inc @@ -6,7 +6,7 @@ [% WRAPPER tab_panels %] [% WRAPPER tab_panel tabname="supplier_search" bt_active= 1 %] -
+
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/acqui-home.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/acqui-home.tt index c8e18c09156..ff59a2f4cd0 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/acqui-home.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/acqui-home.tt @@ -49,8 +49,12 @@
- View vendors - Vendor list + Search vendors + +

+ +

+
diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorList.vue b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorList.vue index 25b1a94f0a7..530a99ebb14 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorList.vue +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/components/Vendors/VendorList.vue @@ -59,6 +59,7 @@ export default { fp_config: flatpickr_defaults, vendor_count: 0, initialized: false, + searchTerm: null, tableOptions: { columns: this.getTableColumns(), options: { embed: "aliases,baskets,subscriptions" }, @@ -97,6 +98,9 @@ export default { beforeRouteEnter(to, from, next) { next(vm => { vm.getVendorCount().then(() => (vm.initialized = true)) + if (to.query.supplier) { + vm.searchTerm = to.query.supplier + } }) }, methods: { @@ -155,6 +159,9 @@ export default { }, tableURL() { let url = "/api/v1/acquisitions/vendors" + if (this.searchTerm) { + url += "?name=" + this.searchTerm + } return url }, getTableColumns() { diff --git a/koha-tmpl/intranet-tmpl/prog/js/vue/stores/navigation.js b/koha-tmpl/intranet-tmpl/prog/js/vue/stores/navigation.js index 1e3ecb58b36..d46e97c0bbb 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/vue/stores/navigation.js +++ b/koha-tmpl/intranet-tmpl/prog/js/vue/stores/navigation.js @@ -152,6 +152,12 @@ export const useNavigationStore = defineStore("navigation", { } }, leftNavigation() { + const currentRoute = this.current[this.current.length - 1]; + if (currentRoute) { + const alternateMenuRequired = + currentRoute.meta.self.alternateLeftMenu; + if (alternateMenuRequired) return alternateMenuRequired; + } return _getNavigationElements(this.routeState); // Function declarations diff --git a/t/cypress/integration/Acquisitions/Vendors_spec.ts b/t/cypress/integration/Acquisitions/Vendors_spec.ts index 23f9ad69bef..482c1633f5f 100644 --- a/t/cypress/integration/Acquisitions/Vendors_spec.ts +++ b/t/cypress/integration/Acquisitions/Vendors_spec.ts @@ -64,7 +64,6 @@ describe("Vendor CRUD operations", () => { it("should list vendors", () => { cy.visit("/cgi-bin/koha/acqui/acqui-home.pl"); - cy.get("#acqui_acqui_home_order").contains("Vendor list").click(); cy.intercept("GET", "/api/v1/acquisitions/vendors*", []); cy.visit("/cgi-bin/koha/vendors"); @@ -282,9 +281,9 @@ describe("External URLs", () => { it("should navigate to the receive shipments page", () => { cy.visit("/cgi-bin/koha/acqui/acqui-home.pl"); - cy.get("#acqui_acqui_home_order").contains("Vendor list").click(); const vendor = getVendor(); + cy.intercept("GET", "/api/v1/acquisitions/vendors*", { statusCode: 200, body: [vendor], @@ -293,13 +292,14 @@ describe("External URLs", () => { "X-Total-Count": "1", }, }); - cy.intercept("GET", "/api/v1/acquisitions/vendors/*", vendor); cy.visit("/cgi-bin/koha/vendors"); const name_link = cy.get( "#vendors_list table tbody tr:first td:first a" ); name_link.should("have.text", vendor.name + " (#" + vendor.id + ")"); name_link.click(); + cy.wait(500); + cy.get("#vendors_show h1").contains(vendor.name); cy.get("#vendors_show").contains("Receive shipments").click(); cy.get("h1").contains("Receive shipment from vendor " + vendor.name); -- 2.39.3 (Apple Git-146)