From 8708ec9bac492bb26e4d8d4f309d6df959a7c6e1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 23:53:27 +1100 Subject: [PATCH] Fix resource classes for order models (#6188) (#6190) - PurchaseOrder - ReturnOrder - SalesOrder Fixes https://github.com/inventree/InvenTree/issues/6155 (cherry picked from commit 73cc39bb6822a59f9206c31e2d502a0f7a731bc7) Co-authored-by: Oliver --- InvenTree/order/admin.py | 82 +++++++++++++++++++++------------------- 1 file changed, 44 insertions(+), 38 deletions(-) diff --git a/InvenTree/order/admin.py b/InvenTree/order/admin.py index b432e36154..842ea2045e 100644 --- a/InvenTree/order/admin.py +++ b/InvenTree/order/admin.py @@ -79,9 +79,30 @@ class PurchaseOrderLineItemInlineAdmin(admin.StackedInline): extra = 0 +class PurchaseOrderResource(ProjectCodeResourceMixin, TotalPriceResourceMixin, InvenTreeResource): + """Class for managing import / export of PurchaseOrder data.""" + + class Meta: + """Metaclass""" + model = models.PurchaseOrder + skip_unchanged = True + clean_model_instances = True + exclude = [ + 'metadata', + ] + + # Add number of line items + line_items = Field(attribute='line_count', widget=widgets.IntegerWidget(), readonly=True) + + # Is this order overdue? + overdue = Field(attribute='is_overdue', widget=widgets.BooleanWidget(), readonly=True) + + class PurchaseOrderAdmin(ImportExportModelAdmin): """Admin class for the PurchaseOrder model""" + resource_class = PurchaseOrderResource + exclude = [ 'reference_int', ] @@ -107,9 +128,30 @@ class PurchaseOrderAdmin(ImportExportModelAdmin): autocomplete_fields = ('supplier',) +class SalesOrderResource(ProjectCodeResourceMixin, TotalPriceResourceMixin, InvenTreeResource): + """Class for managing import / export of SalesOrder data.""" + + class Meta: + """Metaclass options""" + model = models.SalesOrder + skip_unchanged = True + clean_model_instances = True + exclude = [ + 'metadata', + ] + + # Add number of line items + line_items = Field(attribute='line_count', widget=widgets.IntegerWidget(), readonly=True) + + # Is this order overdue? + overdue = Field(attribute='is_overdue', widget=widgets.BooleanWidget(), readonly=True) + + class SalesOrderAdmin(ImportExportModelAdmin): """Admin class for the SalesOrder model""" + resource_class = SalesOrderResource + exclude = [ 'reference_int', ] @@ -131,25 +173,6 @@ class SalesOrderAdmin(ImportExportModelAdmin): autocomplete_fields = ('customer',) -class PurchaseOrderResource(ProjectCodeResourceMixin, TotalPriceResourceMixin, InvenTreeResource): - """Class for managing import / export of PurchaseOrder data.""" - - class Meta: - """Metaclass""" - model = models.PurchaseOrder - skip_unchanged = True - clean_model_instances = True - exclude = [ - 'metadata', - ] - - # Add number of line items - line_items = Field(attribute='line_count', widget=widgets.IntegerWidget(), readonly=True) - - # Is this order overdue? - overdue = Field(attribute='is_overdue', widget=widgets.BooleanWidget(), readonly=True) - - class PurchaseOrderLineItemResource(PriceResourceMixin, InvenTreeResource): """Class for managing import / export of PurchaseOrderLineItem data.""" @@ -184,25 +207,6 @@ class PurchaseOrderExtraLineResource(PriceResourceMixin, InvenTreeResource): model = models.PurchaseOrderExtraLine -class SalesOrderResource(ProjectCodeResourceMixin, TotalPriceResourceMixin, InvenTreeResource): - """Class for managing import / export of SalesOrder data.""" - - class Meta: - """Metaclass options""" - model = models.SalesOrder - skip_unchanged = True - clean_model_instances = True - exclude = [ - 'metadata', - ] - - # Add number of line items - line_items = Field(attribute='line_count', widget=widgets.IntegerWidget(), readonly=True) - - # Is this order overdue? - overdue = Field(attribute='is_overdue', widget=widgets.BooleanWidget(), readonly=True) - - class SalesOrderLineItemResource(PriceResourceMixin, InvenTreeResource): """Class for managing import / export of SalesOrderLineItem data.""" @@ -334,6 +338,8 @@ class ReturnOrderResource(ProjectCodeResourceMixin, TotalPriceResourceMixin, Inv class ReturnOrderAdmin(ImportExportModelAdmin): """Admin class for the ReturnOrder model""" + resource_class = ReturnOrderResource + exclude = [ 'reference_int', ]