mirror of
https://github.com/inventree/InvenTree.git
synced 2026-06-11 19:27:02 +00:00
Machine fixes (#12154)
* Handle missing machine location - e.g. if location PK is invalid or has been deleted * Add spotlight action for machine management panel * Add unit test for code change
This commit is contained in:
@@ -267,4 +267,4 @@ class LabelPrinterMachine(BaseMachineType):
|
||||
if not location_pk:
|
||||
return None
|
||||
|
||||
return StockLocation.objects.get(pk=location_pk)
|
||||
return StockLocation.objects.filter(pk=location_pk).first()
|
||||
|
||||
@@ -297,6 +297,14 @@ class TestLabelPrinterMachineType(InvenTreeAPITestCase):
|
||||
|
||||
self.assertIn('is not a valid choice', str(response.data['machine']))
|
||||
|
||||
def test_location_invalid_pk(self):
|
||||
"""Test that location property returns None for an invalid PK without raising."""
|
||||
machine = self.create_machine()
|
||||
|
||||
machine.set_setting('LOCATION', 'M', 999999)
|
||||
|
||||
self.assertIsNone(machine.location)
|
||||
|
||||
|
||||
class AdminTest(AdminTestCase):
|
||||
"""Tests for the admin interface integration."""
|
||||
|
||||
@@ -2,6 +2,7 @@ import { t } from '@lingui/core/macro';
|
||||
import type { SpotlightActionData } from '@mantine/spotlight';
|
||||
import {
|
||||
IconBarcode,
|
||||
IconDevicesPc,
|
||||
IconLink,
|
||||
IconPlug,
|
||||
IconPointer,
|
||||
@@ -234,6 +235,16 @@ export function getActions(navigate: NavigateFunction) {
|
||||
leftSection: <IconPlug size='1.2rem' />
|
||||
});
|
||||
|
||||
staff &&
|
||||
user?.hasViewPermission(ModelType.pluginconfig) &&
|
||||
_actions.push({
|
||||
id: 'machine-management',
|
||||
label: t`Machines`,
|
||||
description: t`Manage machines and machine types`,
|
||||
onClick: () => navigate('/settings/admin/machine'),
|
||||
leftSection: <IconDevicesPc size='1.2rem' />
|
||||
});
|
||||
|
||||
staff &&
|
||||
user?.hasViewPermission(ModelType.reporttemplate) &&
|
||||
_actions.push({
|
||||
|
||||
Reference in New Issue
Block a user