Bulk delete line items (#12391)

* Add bulk-delete mixin for order line items

* Add unit tests

* Enable frontend support

* Add CHANGELOG entry

* Add locking control for TransferOrder

* Fix playwright tests

* Fix playwright tests
This commit is contained in:
Oliver
2026-07-16 11:55:34 +10:00
committed by GitHub
parent 8407f63656
commit 3fd0e9d304
17 changed files with 252 additions and 23 deletions
+1 -1
View File
@@ -283,7 +283,7 @@ test('Build Order - Build Outputs', async ({ browser }) => {
await page.waitForLoadState('networkidle');
// Check the "printing" actions for the selected outputs
await page.getByRole('checkbox', { name: 'Select all records' }).check();
await page.getByRole('checkbox', { name: 'Select all records' }).click();
await page
.getByRole('tabpanel', { name: 'Incomplete Outputs' })
.getByLabel('action-menu-printing-actions')
@@ -507,7 +507,12 @@ test('Purchase Orders - Receive Items', async ({ browser }) => {
await loadTab(page, 'Line Items');
await page.getByRole('cell', { name: '002.02-PCB' }).waitFor();
await page.getByLabel('Select all records').click();
// Select all line items to receive
await page
.getByRole('region', { name: 'Line Items', exact: true })
.getByLabel('Select all records')
.click();
await page.waitForTimeout(100);
await page.getByLabel('action-button-receive-items').click();
@@ -619,7 +624,10 @@ test('Purchase Orders - Receive Virtual Items', async ({ browser }) => {
await loadTab(page, 'Line Items');
await page.getByRole('cell', { name: 'Thumbnail CRM license' }).waitFor();
await page.getByRole('checkbox', { name: 'Select all records' }).click();
await page
.getByRole('region', { name: 'Line Items', exact: true })
.getByLabel('Select all records')
.click();
await page
.getByRole('button', { name: 'action-button-receive-items' })
.click();
+4 -1
View File
@@ -14,7 +14,10 @@ test('Return Orders - Receive Items', async ({ browser }) => {
await page.getByRole('cell', { name: 'WID-REV-A' }).first().waitFor();
await page.getByRole('checkbox', { name: 'Select all records' }).click();
await page
.getByRole('region', { name: 'Line Items', exact: true })
.getByLabel('Select all records')
.click();
await page.getByRole('button', { name: 'action-button-receive-' }).click();
await page.getByRole('banner').getByText('Receive Items').waitFor();
await page.getByRole('button', { name: 'Cancel' }).click();