aboutsummaryrefslogtreecommitdiff
path: root/web_interface/drinks
diff options
context:
space:
mode:
authoruser@node5.net <user@node5.net>2025-12-07 14:25:09 +0100
committeruser@node5.net <user@node5.net>2025-12-07 14:25:09 +0100
commitb00da901a46b0710ad8bd29522e33bed2c4a1c77 (patch)
tree364541e3d9c300d26271ab0aabfe8056663e595a /web_interface/drinks
parente0ffa5be9133ab27f1e077ec884946bd5d347554 (diff)
You can create drinks and they will be displayed
Diffstat (limited to 'web_interface/drinks')
-rw-r--r--web_interface/drinks/models.py12
-rw-r--r--web_interface/drinks/templates/base.html23
-rw-r--r--web_interface/drinks/templates/drinks_overview.html41
-rw-r--r--web_interface/drinks/views.py11
4 files changed, 82 insertions, 5 deletions
diff --git a/web_interface/drinks/models.py b/web_interface/drinks/models.py
index bb4b48a..8f3fcf6 100644
--- a/web_interface/drinks/models.py
+++ b/web_interface/drinks/models.py
@@ -146,6 +146,16 @@ class Ingredient(models.Model):
on_delete=models.CASCADE,
)
+ @property
+ def name(self) -> str:
+ """
+ e.g: 3cl. Jägermeister
+ """
+ return f"{self.amount}{self.unit} {self.bottle}"
+
def __str__(self) -> str:
- return f"{self.drink} {self.amount}{self.unit} {self.bottle}"
+ """
+ Name with drink context, for admin overview. E.g: Kung Fu 3cl. Jägermeister
+ """
+ return f"{self.drink} {self.name}"
diff --git a/web_interface/drinks/templates/base.html b/web_interface/drinks/templates/base.html
new file mode 100644
index 0000000..8a60bab
--- /dev/null
+++ b/web_interface/drinks/templates/base.html
@@ -0,0 +1,23 @@
+{% load static %}
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta http-equiv="X-UA-Compatible" content="ie=edge">
+ <title>Drinks machine</title>
+ <link rel="stylesheet" href="{% static 'style/main.css' %}">
+ <link rel="stylesheet" href="{% static 'beer_css/beer.min.css' %}">
+ <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🍸</text></svg>">
+ {% block head %}
+ {% endblock %}
+ </head>
+ <body>
+ <main class="responsive">
+ {% block content %}
+ {% endblock %}
+ </main>
+ </body>
+</html>
+
diff --git a/web_interface/drinks/templates/drinks_overview.html b/web_interface/drinks/templates/drinks_overview.html
new file mode 100644
index 0000000..0de4504
--- /dev/null
+++ b/web_interface/drinks/templates/drinks_overview.html
@@ -0,0 +1,41 @@
+{% extends 'base.html' %}
+
+{% block content %}
+
+ <div class="grid">
+
+ {% for drink in drinks %}
+
+ <div id="drinks" class="s12 l6">
+
+ <article class="no-padding">
+ <div class="grid no-space">
+ <div class="s6">
+ <img class="responsive" src="{{ drink.picture.url }}">
+ </div>
+ <div class="s6">
+ <div class="padding">
+ <h4>{{ drink.name }}</h4>
+ <p>{{ drink.description }}</p>
+
+ <h5>Ingredients</h5>
+ <ul>
+ {% for ingredient in drink.ingredient_set.all %}
+ <li>{{ ingredient.name }}</li>
+ {% endfor %}
+ </ul>
+ <nav>
+ <button class="border round">Create drink</button>
+ </nav>
+ </div>
+ </div>
+ </div>
+ </article>
+
+ </div>
+
+ {% endfor %}
+
+ </div>
+
+{% endblock %}
diff --git a/web_interface/drinks/views.py b/web_interface/drinks/views.py
index 8c5ef2b..be87d8f 100644
--- a/web_interface/drinks/views.py
+++ b/web_interface/drinks/views.py
@@ -1,7 +1,10 @@
from django.shortcuts import render
-from django.http import HttpResponse
+from django.http import HttpRequest, HttpResponse
-# Create your views here.
+from .models import Drink
+
+
+def index(request: HttpRequest) -> HttpResponse:
+ drinks = Drink.objects.all()
+ return render(request=request, template_name="drinks_overview.html", context={'drinks': drinks})
-def index(request):
- return HttpResponse("🍺🍸🍻")