diff --git a/src/backend/InvenTree/InvenTree/api_version.py b/src/backend/InvenTree/InvenTree/api_version.py index bc7f19bf6a..e28b6518c4 100644 --- a/src/backend/InvenTree/InvenTree/api_version.py +++ b/src/backend/InvenTree/InvenTree/api_version.py @@ -1,11 +1,14 @@ """InvenTree API version information.""" # InvenTree API version -INVENTREE_API_VERSION = 473 +INVENTREE_API_VERSION = 474 """Increment this API version number whenever there is a significant change to the API that any clients need to know about.""" INVENTREE_API_TEXT = """ +v474 -> 2026-04-08 : https://github.com/inventree/InvenTree/pull/11693 + - Adds DataImportMixin to the ManufacturerPartList API endpoint + v473 -> 2026-04-08 : https://github.com/inventree/InvenTree/pull/11692 - Adds "line" field to PurchaseOrderLineItem and PurchaseOrderExtraLineItem API endpoints - Adds "line" field to SalesOrderLineItem and SalesOrderExtraLineItem API endpoints diff --git a/src/backend/InvenTree/company/api.py b/src/backend/InvenTree/company/api.py index 9ce3eaf27c..feaca0a354 100644 --- a/src/backend/InvenTree/company/api.py +++ b/src/backend/InvenTree/company/api.py @@ -184,6 +184,7 @@ class ManufacturerPartMixin(SerializerContextMixin): class ManufacturerPartList( + DataExportViewMixin, ManufacturerPartMixin, SerializerContextMixin, OutputOptionsMixin, diff --git a/src/frontend/tests/pages/pui_purchase_order.spec.ts b/src/frontend/tests/pages/pui_purchasing.spec.ts similarity index 95% rename from src/frontend/tests/pages/pui_purchase_order.spec.ts rename to src/frontend/tests/pages/pui_purchasing.spec.ts index 81c582ed59..b451de8ce1 100644 --- a/src/frontend/tests/pages/pui_purchase_order.spec.ts +++ b/src/frontend/tests/pages/pui_purchasing.spec.ts @@ -82,6 +82,30 @@ test('Purchasing - Index', async ({ browser }) => { .waitFor(); }); +test('Purchasing - Manufacturer Parts', async ({ browser }) => { + const page = await doCachedLogin(browser, { + url: 'purchasing/index/manufacturer-parts' + }); + + await page + .getByRole('textbox', { name: 'table-search-input' }) + .fill('CPF0402B100KE1'); + await page.getByText('R_100K_0402_1%').first().waitFor(); + await page.getByRole('cell', { name: 'CPF0402B100KE1' }).waitFor(); + + // Check data exporter + await page.getByRole('button', { name: 'table-export-data' }).click(); + await page.getByText('Select export plugin').waitFor(); + await page + .getByRole('textbox', { name: 'choice-field-export_plugin' }) + .fill('CSV'); + await page.getByRole('button', { name: 'Export', exact: true }).click(); + await page.getByText('Process completed successfully').waitFor(); + + await loadTab(page, 'Manufacturers'); + await page.getByText('Murata Electronics').waitFor(); +}); + test('Purchase Orders - General', async ({ browser }) => { const page = await doCachedLogin(browser); diff --git a/src/frontend/tests/pages/pui_sales_order.spec.ts b/src/frontend/tests/pages/pui_sales.spec.ts similarity index 100% rename from src/frontend/tests/pages/pui_sales_order.spec.ts rename to src/frontend/tests/pages/pui_sales.spec.ts