diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index 21abfb8195..211ab6058c 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -49,8 +49,8 @@ INSTALLED_APPS = [ 'bom.apps.BomConfig', 'supplier.apps.SupplierConfig', 'stock.apps.StockConfig', + 'track.apps.TrackConfig', #'project.apps.ProjectConfig', - #'track.apps.TrackConfig', ] MIDDLEWARE = [ diff --git a/InvenTree/part/templates/part/base.html b/InvenTree/part/templates/base.html similarity index 100% rename from InvenTree/part/templates/part/base.html rename to InvenTree/part/templates/base.html diff --git a/InvenTree/part/templates/part/detail.html b/InvenTree/part/templates/part/detail.html index 90c7cf2534..87de3e0b9e 100644 --- a/InvenTree/part/templates/part/detail.html +++ b/InvenTree/part/templates/part/detail.html @@ -9,4 +9,10 @@ Used in {{ part.usedInCount }} other parts.
There are {{ part.stock }} units in stock. +

+{% if part.trackable %} +Part tracking +{% else %} +{{ part.name }} does not have part tracking enabled +{% endif %} {% endblock %} \ No newline at end of file diff --git a/InvenTree/part/templates/part/index.html b/InvenTree/part/templates/part/index.html index 7363000601..f9458b56ce 100644 --- a/InvenTree/part/templates/part/index.html +++ b/InvenTree/part/templates/part/index.html @@ -1,4 +1,4 @@ -{% extends "part/base.html" %} +{% extends "base.html" %} {% block content %} diff --git a/InvenTree/part/templates/part/part_base.html b/InvenTree/part/templates/part/part_base.html index a54913aaa7..96d6c3a0c7 100644 --- a/InvenTree/part/templates/part/part_base.html +++ b/InvenTree/part/templates/part/part_base.html @@ -1,4 +1,4 @@ -{% extends "part/base.html" %} +{% extends "base.html" %} {% block content %} diff --git a/InvenTree/part/templates/part/track.html b/InvenTree/part/templates/part/track.html new file mode 100644 index 0000000000..3b281346b8 --- /dev/null +++ b/InvenTree/part/templates/part/track.html @@ -0,0 +1,20 @@ +{% extends "part/part_base.html" %} + +{% block details %} + +Part tracking for {{ part.name }} + + + + + + +{% for track in part.serials.all %} + + + + +{% endfor %} +
SerialStatus
{{ track.serial }}{{ track.status }}
+ +{% endblock %} \ No newline at end of file diff --git a/InvenTree/part/urls.py b/InvenTree/part/urls.py index 5184aef8d6..0a04241d5f 100644 --- a/InvenTree/part/urls.py +++ b/InvenTree/part/urls.py @@ -29,7 +29,7 @@ part_api_urls = [ ] part_detail_urls = [ - + url(r'^track/?', views.track, name='track'), url(r'^bom/?', views.bom, name='bom'), url(r'^stock/?', views.stock, name='stock'), url('', views.detail, name='detail'), diff --git a/InvenTree/part/views.py b/InvenTree/part/views.py index e0ca0ad9ad..a50114fe06 100644 --- a/InvenTree/part/views.py +++ b/InvenTree/part/views.py @@ -74,6 +74,11 @@ def stock(request, pk): return render(request, 'part/stock.html', {'part': part}) +def track(request, pk): + part = get_object_or_404(Part, pk=pk) + + return render(request, 'part/track.html', {'part': part}) + #def results(request, question_id): # response = "You're looking at the results of question %s." diff --git a/InvenTree/track/models.py b/InvenTree/track/models.py index b03cdae52c..4be11184d2 100644 --- a/InvenTree/track/models.py +++ b/InvenTree/track/models.py @@ -32,11 +32,12 @@ class UniquePart(models.Model): # Cannot have multiple parts with same serial number unique_together = ('part', 'serial') - part = models.ForeignKey(Part, on_delete=models.CASCADE) + part = models.ForeignKey(Part, on_delete=models.CASCADE, related_name='serials') creation_date = models.DateField(auto_now_add=True, editable=False) - serial = models.IntegerField() + + serial = models.PositiveIntegerField() # createdBy = models.ForeignKey(User)