From d55ff39cd6623000e19793798b65c8691707f6cb Mon Sep 17 00:00:00 2001 From: agp8x Date: Wed, 4 Dec 2019 23:29:15 +0100 Subject: [PATCH] add part view, use url patterns --- partdoc/parts/templates/parts/part.html | 20 ++++++++++++++++++++ partdoc/parts/templates/parts/parts.html | 2 +- partdoc/parts/templates/parts/product.html | 6 +++--- partdoc/parts/templates/parts/products.html | 4 ++-- partdoc/parts/templates/parts/sketch.html | 3 ++- partdoc/parts/urls.py | 4 +++- partdoc/parts/views.py | 13 +++++++++++++ 7 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 partdoc/parts/templates/parts/part.html diff --git a/partdoc/parts/templates/parts/part.html b/partdoc/parts/templates/parts/part.html new file mode 100644 index 0000000..ca9d8b2 --- /dev/null +++ b/partdoc/parts/templates/parts/part.html @@ -0,0 +1,20 @@ +

part {{part.number}}

+

{{part.name}}

+ + + + + + + + +{% for s in sketches %} + + + + + + +{% endfor %} + +
ProduktZeichnungPos.Anzahl
{{s.sketch__product__name}}{{s.sketch__name}}{{s.sketch_number}}{{s.qty}}
diff --git a/partdoc/parts/templates/parts/parts.html b/partdoc/parts/templates/parts/parts.html index 75c1310..21fe47e 100644 --- a/partdoc/parts/templates/parts/parts.html +++ b/partdoc/parts/templates/parts/parts.html @@ -12,7 +12,7 @@ {% for part in quantities %} - {{part.number}} + {{part.number}} {{part.name}} {% for product in part.quantities %} {{product}} diff --git a/partdoc/parts/templates/parts/product.html b/partdoc/parts/templates/parts/product.html index ea3e8c5..3e2d6e6 100644 --- a/partdoc/parts/templates/parts/product.html +++ b/partdoc/parts/templates/parts/product.html @@ -3,13 +3,13 @@

explicit sketches

implicit sketches

\ No newline at end of file + diff --git a/partdoc/parts/templates/parts/products.html b/partdoc/parts/templates/parts/products.html index 3cf1fee..9ce0ba9 100644 --- a/partdoc/parts/templates/parts/products.html +++ b/partdoc/parts/templates/parts/products.html @@ -1,6 +1,6 @@

Available products:

\ No newline at end of file + diff --git a/partdoc/parts/templates/parts/sketch.html b/partdoc/parts/templates/parts/sketch.html index cc4fb29..cc1f785 100644 --- a/partdoc/parts/templates/parts/sketch.html +++ b/partdoc/parts/templates/parts/sketch.html @@ -3,9 +3,10 @@

{{sketch.get_brand}}

{{sketch.get_brand.name.foo}}

-Edit \ No newline at end of file +Edit diff --git a/partdoc/parts/urls.py b/partdoc/parts/urls.py index 91dadcf..11c3e83 100644 --- a/partdoc/parts/urls.py +++ b/partdoc/parts/urls.py @@ -5,9 +5,11 @@ from . import views app_name = "parts" urlpatterns = [ path('', views.index, name="index"), - path('product//', views.product, name="detail"), + path('product//', views.product, name="product"), path('sketch//', views.sketch, name="sketch"), path('parts', views.parts, name="parts"), + path('part/by_number/', views.part_by_number, name="part_num"), + path('part/', views.part, name="part"), path('add//sketch/', views.sketch_add, name="continue_sketch"), path('add//sketch', views.sketch_add, name="new_sketch"), path('search/part/', views.part_search, name="part_search"), diff --git a/partdoc/parts/views.py b/partdoc/parts/views.py index bb5074e..0b77aa8 100644 --- a/partdoc/parts/views.py +++ b/partdoc/parts/views.py @@ -28,6 +28,18 @@ def sketch(request, sketch_id): context = {'sketch': sketch} return render(request, 'parts/sketch.html', context) +def __part_view(request, part): + sketches = part.usage_set.values('sketch', 'sketch_number', 'sketch__name', 'sketch__product__name', 'sketch__product__id').annotate(qty=Sum('productusage__quantity')) + context = {'part': part, 'sketches': sketches} + return render(request, 'parts/part.html', context) + +def part(request, part_id): + part = BrandedPart.objects.get(id=part_id) + return __part_view(request, part) + +def part_by_number(request, part_number): + part = BrandedPart.objects.get(number=part_number) + return __part_view(request, part) def parts(request): products = Product.objects.order_by('name') @@ -49,6 +61,7 @@ def parts(request): "number": part.number, "quantities": prod_qtys, "sum": sum(prod_qtys), + "id": part.id, }) context = {'products': products, 'parts': parts, 'quantities': quantities, 'len': len(quantities)}