diff --git a/InvenTree/order/migrations/0023_auto_20200420_2309.py b/InvenTree/order/migrations/0023_auto_20200420_2309.py new file mode 100644 index 0000000000..32d47f593a --- /dev/null +++ b/InvenTree/order/migrations/0023_auto_20200420_2309.py @@ -0,0 +1,20 @@ +# Generated by Django 3.0.5 on 2020-04-20 23:09 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('part', '0035_auto_20200406_0045'), + ('order', '0022_salesorderlineitem_part'), + ] + + operations = [ + migrations.AlterField( + model_name='salesorderlineitem', + name='part', + field=models.ForeignKey(help_text='Part', limit_choices_to={'salable': True}, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sales_order_line_items', to='part.Part'), + ), + ] diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index a01ab0caed..2e5cdc3372 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -370,5 +370,5 @@ class SalesOrderLineItem(OrderLineItem): order = models.ForeignKey(SalesOrder, on_delete=models.CASCADE, related_name='lines', help_text=_('Sales Order')) - part = models.ForeignKey(Part, on_delete=models.SET_NULL, related_name='sales_orders', null=True, help_text=_('Part'), limit_choices_to={'salable': True}) + part = models.ForeignKey(Part, on_delete=models.SET_NULL, related_name='sales_order_line_items', null=True, help_text=_('Part'), limit_choices_to={'salable': True}) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index ca5b8f11c2..8405afd972 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -924,6 +924,17 @@ class Part(models.Model): return n + def sales_orders(self): + """ Return a list of sales orders which reference this part """ + + orders = [] + + for line in self.sales_order_line_items.all().prefetch_related('order'): + if line.order not in orders: + orders.append(line.order) + + return orders + def purchase_orders(self): """ Return a list of purchase orders which reference this part """ diff --git a/InvenTree/part/templates/part/orders.html b/InvenTree/part/templates/part/orders.html index d53c6ca04f..82f759b82c 100644 --- a/InvenTree/part/templates/part/orders.html +++ b/InvenTree/part/templates/part/orders.html @@ -1,16 +1,17 @@ {% extends "part/part_base.html" %} {% load static %} +{% load i18n %} {% block details %} {% include 'part/tabs.html' with tab='orders' %} -