diff --git a/InvenTree/customer/templates/customer/index.html b/InvenTree/customer/templates/customer/index.html index 2987484fc7..8665cf17b9 100644 --- a/InvenTree/customer/templates/customer/index.html +++ b/InvenTree/customer/templates/customer/index.html @@ -3,9 +3,16 @@ {% block content %} -{% if customer_orders.all|length > 0 %} -

Customer Orders

- {% include "customer_orders/customer_orders_list.html" with customer_orders=customer_orders %} -{% endif %} +

Customers

+ + {% endblock %} \ No newline at end of file diff --git a/InvenTree/customer/views.py b/InvenTree/customer/views.py index 5d82964b06..9dbf7ca94a 100644 --- a/InvenTree/customer/views.py +++ b/InvenTree/customer/views.py @@ -10,13 +10,15 @@ from .models import Customer, CustomerOrder class CustomerIndex(ListView): model = Customer template_name = 'customer/index.html' - context_obect_name = 'customers' + context_object_name = 'customers' + def get_queryset(self): + return Customer.objects.order_by('name') class CustomerOrderIndex(ListView): model = CustomerOrder template_name = 'customer/order_index.html' - context_object_name = 'customer_orders' + context_object_name = 'orders' class CustomerDetail(DetailView): diff --git a/InvenTree/part/forms.py b/InvenTree/part/forms.py index dce4f007d7..cc9355e4cc 100644 --- a/InvenTree/part/forms.py +++ b/InvenTree/part/forms.py @@ -31,6 +31,7 @@ class EditPartForm(forms.ModelForm): 'trackable', 'purchaseable', 'salable', + 'notes', ] diff --git a/InvenTree/part/migrations/0023_part_notes.py b/InvenTree/part/migrations/0023_part_notes.py new file mode 100644 index 0000000000..62eb70fb5e --- /dev/null +++ b/InvenTree/part/migrations/0023_part_notes.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.12 on 2018-04-17 15:34 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('part', '0022_auto_20180417_0819'), + ] + + operations = [ + migrations.AddField( + model_name='part', + name='notes', + field=models.TextField(blank=True), + ), + ] diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 262c582ea7..0409d2ecf5 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -139,6 +139,8 @@ class Part(models.Model): # Can this part be sold to customers? salable = models.BooleanField(default=False, help_text="Can this part be sold to customers?") + notes = models.TextField(blank=True) + def __str__(self): if self.IPN: return "{name} ({ipn})".format( diff --git a/InvenTree/part/templates/part/detail.html b/InvenTree/part/templates/part/detail.html index b45d62aa15..4dc00f96a0 100644 --- a/InvenTree/part/templates/part/detail.html +++ b/InvenTree/part/templates/part/detail.html @@ -63,6 +63,13 @@ {% endif %} +{% if part.notes %} +
+
Notes
+
{{ part.notes }}
+
+{% endif %} +
diff --git a/InvenTree/stock/migrations/0017_auto_20180417_1536.py b/InvenTree/stock/migrations/0017_auto_20180417_1536.py new file mode 100644 index 0000000000..0dc9676068 --- /dev/null +++ b/InvenTree/stock/migrations/0017_auto_20180417_1536.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.12 on 2018-04-17 15:36 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('stock', '0016_auto_20180417_1516'), + ] + + operations = [ + migrations.RemoveField( + model_name='stockitemtracking', + name='description', + ), + migrations.AddField( + model_name='stockitemtracking', + name='notes', + field=models.TextField(blank=True), + ), + ] diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 0d509cab5c..43893fff69 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -210,7 +210,7 @@ class StockItemTracking(models.Model): title = models.CharField(max_length=250) # Optional longer description - description = models.CharField(max_length=1024, blank=True) + notes = models.TextField(blank=True) # Which user created this tracking entry? user = models.ForeignKey(User, on_delete=models.SET_NULL, blank=True, null=True) diff --git a/InvenTree/supplier/models.py b/InvenTree/supplier/models.py index bcfb8e62b2..c11015546a 100644 --- a/InvenTree/supplier/models.py +++ b/InvenTree/supplier/models.py @@ -25,6 +25,14 @@ class Supplier(Company): def has_parts(self): return self.part_count > 0 + @property + def order_count(self): + return self.orders.count() + + @property + def has_orders(self): + return self.order_count > 0 + class Manufacturer(Company): """ Represents a manfufacturer @@ -176,4 +184,4 @@ class SupplierOrderLineItem(models.Model): notes = models.TextField(blank=True) - received = models.BooleanField(default=False) + received = models.BooleanField(default=False) diff --git a/InvenTree/supplier/templates/supplier/order_detail.html b/InvenTree/supplier/templates/supplier/order_detail.html index 1aa3d8c8e9..34c9071e38 100644 --- a/InvenTree/supplier/templates/supplier/order_detail.html +++ b/InvenTree/supplier/templates/supplier/order_detail.html @@ -41,10 +41,9 @@
Notes
{{ order.notes }}
+{% endif %}

TODO

Here we list all the line ites which exist under this order... -{% endif %} - {% endblock %} \ No newline at end of file diff --git a/InvenTree/supplier/templates/supplier/orders.html b/InvenTree/supplier/templates/supplier/orders.html index 29ac20dad0..519035f5c6 100644 --- a/InvenTree/supplier/templates/supplier/orders.html +++ b/InvenTree/supplier/templates/supplier/orders.html @@ -23,4 +23,9 @@ {% endfor %} +
+ + + + {% endblock %} \ No newline at end of file diff --git a/InvenTree/supplier/templates/supplier/tabs.html b/InvenTree/supplier/templates/supplier/tabs.html index d3b446fc27..559e83f9f0 100644 --- a/InvenTree/supplier/templates/supplier/tabs.html +++ b/InvenTree/supplier/templates/supplier/tabs.html @@ -1,6 +1,6 @@ \ No newline at end of file diff --git a/InvenTree/supplier/views.py b/InvenTree/supplier/views.py index c49b18586e..8e3d5e4735 100644 --- a/InvenTree/supplier/views.py +++ b/InvenTree/supplier/views.py @@ -25,6 +25,16 @@ class SupplierOrderCreate(CreateView): context_object_name = 'supplier' template_name = 'supplier/order_create.html' + def get_initial(self): + initials = super(SupplierOrderCreate, self).get_initial().copy() + + s_id = self.request.GET.get('supplier', None) + + if s_id: + initials['supplier'] = get_object_or_404(Supplier, pk=s_id) + + return initials + class SupplierIndex(ListView): model = Supplier