From dd23556410db7d1a0ba0f3b9bbef5ca8a4f77f42 Mon Sep 17 00:00:00 2001 From: Jens Timmerman Date: Thu, 20 Sep 2018 22:14:05 +0200 Subject: [PATCH] added some views --- im/urls.py | 2 +- inventory/models.py | 9 +++++++ inventory/templates/inventory/base.html | 22 +++++++++++++++ .../templates/inventory/expirations.html | 13 +++++++++ inventory/templates/inventory/index.html | 8 ++++++ .../inventory/pantryitemline_detail.html | 5 ++++ inventory/urls.py | 9 +++++++ inventory/views.py | 27 +++++++++++++++++-- 8 files changed, 92 insertions(+), 3 deletions(-) create mode 100644 inventory/templates/inventory/base.html create mode 100644 inventory/templates/inventory/expirations.html create mode 100644 inventory/templates/inventory/index.html create mode 100644 inventory/templates/inventory/pantryitemline_detail.html diff --git a/im/urls.py b/im/urls.py index 0843cc3..3f15257 100644 --- a/im/urls.py +++ b/im/urls.py @@ -18,5 +18,5 @@ from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), - path('inventory/', include('inventory.urls')), + path('', include('inventory.urls')), ] diff --git a/inventory/models.py b/inventory/models.py index 5ac46c1..1441a29 100644 --- a/inventory/models.py +++ b/inventory/models.py @@ -27,8 +27,16 @@ UNITS = ( #class ShoppingList(models.Model): + # - pantryitems < min_quantity in pantryitemlists + # - shoppinglistitems + # - user ? + # info + # quantity + # unit + # name class PantryItem(models.Model): + # user? name = models.CharField(max_length=200) category = models.CharField(max_length=200, choices=CATEGORIES) min_quantity = models.IntegerField(default=1) #, decimal_places=3, max_digits=32) @@ -39,6 +47,7 @@ class PantryItem(models.Model): return self.name class PantryItemLine(models.Model): + # user? pantry_item = models.ForeignKey(PantryItem, on_delete=models.PROTECT, default='UN' ) quantity = models.IntegerField(default=1) expiry_date = models.DateField(null=True, blank=True) diff --git a/inventory/templates/inventory/base.html b/inventory/templates/inventory/base.html new file mode 100644 index 0000000..a2e84c0 --- /dev/null +++ b/inventory/templates/inventory/base.html @@ -0,0 +1,22 @@ + + + + + + + Pantry Inventory + + +
+
+
+

Pantry Inventory

+
+ {% block content %} + BASE TEMPLATE + {% endblock %} +
+
+
+ + diff --git a/inventory/templates/inventory/expirations.html b/inventory/templates/inventory/expirations.html new file mode 100644 index 0000000..9027bc0 --- /dev/null +++ b/inventory/templates/inventory/expirations.html @@ -0,0 +1,13 @@ +{% extends 'inventory/base.html' %} + +{% block content %} +{% if pis %} + +{% else %} +

No Pantry Items are available.

+{% endif %} +{% endblock %} diff --git a/inventory/templates/inventory/index.html b/inventory/templates/inventory/index.html new file mode 100644 index 0000000..098011d --- /dev/null +++ b/inventory/templates/inventory/index.html @@ -0,0 +1,8 @@ +{% extends 'inventory/base.html' %} + +{% block content %} +eat +shoppinglist +expirations +admin +{% endblock %} diff --git a/inventory/templates/inventory/pantryitemline_detail.html b/inventory/templates/inventory/pantryitemline_detail.html new file mode 100644 index 0000000..dc51b6f --- /dev/null +++ b/inventory/templates/inventory/pantryitemline_detail.html @@ -0,0 +1,5 @@ +{% extends 'inventory/base.html' %} + +{% block content %} +{{ pantryitemline }} +{% endblock %} diff --git a/inventory/urls.py b/inventory/urls.py index 6e21aeb..0fa00a7 100644 --- a/inventory/urls.py +++ b/inventory/urls.py @@ -1,6 +1,15 @@ from django.urls import path from . import views +app_name = 'im' urlpatterns = [ path('', views.index, name='index'), + path('eat/', views.eat, name='eat'), + path('shoppinglist/', views.shoppinglist, name='shoppinglist'), + # TODO: add exiperes before X date? + # TODO: add categories + # TODO: add pantry item selection + path('expirations/', views.Expirations.as_view(), name='expirations'), + #TODO: later: add edit views instead of admin edits + path('item//', views.DetailView.as_view(), name='pantryitemlinedetail'), ] diff --git a/inventory/views.py b/inventory/views.py index 0355ab9..ab3e8c9 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -1,8 +1,31 @@ -from django.shortcuts import render +from django.shortcuts import render, get_object_or_404 from django.http import HttpResponse +from django.views import generic + +from .models import PantryItemLine # Create your views here. def index(request): - return HttpResponse("TODO: implement web interface") + return render(request, "inventory/index.html") + + +def eat(request): + return HttpResponse("TODO: implement web interface voor eten") + + +def shoppinglist(request): + return HttpResponse("TODO: implement web interface voor shoppinglijst") + + +class Expirations(generic.ListView): + template_name = "inventory/expirations.html" + context_object_name = 'pis' + + def get_queryset(self): + return PantryItemLine.objects.order_by('-expiry_date') + + +class DetailView(generic.DetailView): + model = PantryItemLine