2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-12-16 09:18:10 +00:00

Enable parameters for Company model

This commit is contained in:
Oliver Walters
2025-11-24 09:25:15 +00:00
parent e9b5dde992
commit daea1706a2
4 changed files with 37 additions and 12 deletions

View File

@@ -77,6 +77,7 @@ class CompanyReportContext(report.mixins.BaseReportContext):
class Company( class Company(
InvenTree.models.InvenTreeAttachmentMixin, InvenTree.models.InvenTreeAttachmentMixin,
InvenTree.models.InvenTreeParameterMixin,
InvenTree.models.InvenTreeNotesMixin, InvenTree.models.InvenTreeNotesMixin,
report.mixins.InvenTreeReportMixin, report.mixins.InvenTreeReportMixin,
InvenTree.models.InvenTreeImageMixin, InvenTree.models.InvenTreeImageMixin,

View File

@@ -0,0 +1,26 @@
import type { ModelType } from '@lib/enums/ModelType';
import { t } from '@lingui/core/macro';
import { Skeleton } from '@mantine/core';
import { IconList } from '@tabler/icons-react';
import { ParameterTable } from '../../tables/general/ParameterTable';
import type { PanelType } from './Panel';
export default function ParametersPanel({
model_type,
model_id
}: {
model_type: ModelType;
model_id: number | undefined;
}): PanelType {
return {
name: 'parameters',
label: t`Parameters`,
icon: <IconList />,
content:
model_type && model_id ? (
<ParameterTable modelType={model_type} modelId={model_id} />
) : (
<Skeleton />
)
};
}

View File

@@ -39,6 +39,7 @@ import AttachmentPanel from '../../components/panels/AttachmentPanel';
import NotesPanel from '../../components/panels/NotesPanel'; import NotesPanel from '../../components/panels/NotesPanel';
import type { PanelType } from '../../components/panels/Panel'; import type { PanelType } from '../../components/panels/Panel';
import { PanelGroup } from '../../components/panels/PanelGroup'; import { PanelGroup } from '../../components/panels/PanelGroup';
import ParametersPanel from '../../components/panels/ParametersPanel';
import { companyFields } from '../../forms/CompanyForms'; import { companyFields } from '../../forms/CompanyForms';
import { import {
useDeleteApiFormModal, useDeleteApiFormModal,
@@ -265,6 +266,10 @@ export default function CompanyDetail(props: Readonly<CompanyDetailProps>) {
icon: <IconMap2 />, icon: <IconMap2 />,
content: company?.pk && <AddressTable companyId={company.pk} /> content: company?.pk && <AddressTable companyId={company.pk} />
}, },
ParametersPanel({
model_type: ModelType.company,
model_id: company?.pk
}),
AttachmentPanel({ AttachmentPanel({
model_type: ModelType.company, model_type: ModelType.company,
model_id: company.pk model_id: company.pk

View File

@@ -22,7 +22,6 @@ import {
IconExclamationCircle, IconExclamationCircle,
IconInfoCircle, IconInfoCircle,
IconLayersLinked, IconLayersLinked,
IconList,
IconListCheck, IconListCheck,
IconListTree, IconListTree,
IconLock, IconLock,
@@ -74,6 +73,7 @@ import AttachmentPanel from '../../components/panels/AttachmentPanel';
import NotesPanel from '../../components/panels/NotesPanel'; import NotesPanel from '../../components/panels/NotesPanel';
import type { PanelType } from '../../components/panels/Panel'; import type { PanelType } from '../../components/panels/Panel';
import { PanelGroup } from '../../components/panels/PanelGroup'; import { PanelGroup } from '../../components/panels/PanelGroup';
import ParametersPanel from '../../components/panels/ParametersPanel';
import { RenderPart } from '../../components/render/Part'; import { RenderPart } from '../../components/render/Part';
import { RenderUser } from '../../components/render/User'; import { RenderUser } from '../../components/render/User';
import OrderPartsWizard from '../../components/wizards/OrderPartsWizard'; import OrderPartsWizard from '../../components/wizards/OrderPartsWizard';
@@ -97,7 +97,6 @@ import { useUserState } from '../../states/UserState';
import { BomTable } from '../../tables/bom/BomTable'; import { BomTable } from '../../tables/bom/BomTable';
import { UsedInTable } from '../../tables/bom/UsedInTable'; import { UsedInTable } from '../../tables/bom/UsedInTable';
import { BuildOrderTable } from '../../tables/build/BuildOrderTable'; import { BuildOrderTable } from '../../tables/build/BuildOrderTable';
import { ParameterTable } from '../../tables/general/ParameterTable';
import PartPurchaseOrdersTable from '../../tables/part/PartPurchaseOrdersTable'; import PartPurchaseOrdersTable from '../../tables/part/PartPurchaseOrdersTable';
import PartTestResultTable from '../../tables/part/PartTestResultTable'; import PartTestResultTable from '../../tables/part/PartTestResultTable';
import PartTestTemplateTable from '../../tables/part/PartTestTemplateTable'; import PartTestTemplateTable from '../../tables/part/PartTestTemplateTable';
@@ -788,16 +787,10 @@ export default function PartDetail() {
icon: <IconInfoCircle />, icon: <IconInfoCircle />,
content: detailsPanel content: detailsPanel
}, },
{ ParametersPanel({
name: 'parameters', model_type: ModelType.part,
label: t`Parameters`, model_id: part?.pk
icon: <IconList />, }),
content: part?.pk ? (
<ParameterTable modelType={ModelType.part} modelId={part?.pk} />
) : (
<Skeleton />
)
},
{ {
name: 'stock', name: 'stock',
label: t`Stock`, label: t`Stock`,