From a44d945b701806af19bf93496179866174220668 Mon Sep 17 00:00:00 2001 From: HanseGucker <joniweth@gmx.de> Date: Sun, 9 Dec 2018 13:09:32 +0100 Subject: [PATCH] Delete function for menus --- schoolapps/helper.py | 4 ++-- schoolapps/mealplan/templates/menu/index.html | 15 ++++++++++++-- .../mealplan/templates/menu/upload.html | 8 ++++---- schoolapps/mealplan/urls.py | 1 + schoolapps/mealplan/views.py | 8 +++++++- schoolapps/templates/components/msgbox.html | 20 ++++++------------- 6 files changed, 33 insertions(+), 23 deletions(-) diff --git a/schoolapps/helper.py b/schoolapps/helper.py index 85f985096..7a7cb54e1 100644 --- a/schoolapps/helper.py +++ b/schoolapps/helper.py @@ -18,5 +18,5 @@ def path_and_rename(instance, filename): @register.inclusion_tag("components/msgbox.html") -def msg_box(msg, color="red"): - return {"msg": msg, "color": color} +def msg_box(msg, color="red", icon="info"): + return {"msg": msg, "color": color, "icon": icon} diff --git a/schoolapps/mealplan/templates/menu/index.html b/schoolapps/mealplan/templates/menu/index.html index e6eca6353..d3087ef69 100755 --- a/schoolapps/mealplan/templates/menu/index.html +++ b/schoolapps/mealplan/templates/menu/index.html @@ -3,6 +3,8 @@ <main> {% if msg == "success" %} {% msg_box "Der Speiseplan wurde erfolgreich hochgeladen." "green" %} + {% elif msg == "delete_success" %} + {% msg_box "Der Speiseplan wurde erfolgreich gelöscht." "green" %} {% endif %} <script type="text/javascript"> @@ -22,12 +24,21 @@ <span class="title">{{ menu }}</span> <p> <a class="btn-flat" href="/media/{{ menu.pdf }}" target="_blank"> - <i class="material-icons left">picture_as_pdf</i> PDF anzeigen + <i class="material-icons left">picture_as_pdf</i> Anzeigen + </a> + <a class="btn-flat delete-menu" href="{% url "menu_delete" menu.id %}"> + <i class="material-icons left">delete</i> Löschen </a> </p> - <a href="#!" class="secondary-content"><i class="material-icons">grade</i></a> </li> {% endfor %} </ul> + <script type="text/javascript"> + $(".delete-menu").click(function (e) { + if (!confirm("Wirklich löschen?")) { + e.preventDefault(); + } + }) + </script> </main> {% include 'partials/footer.html' %} diff --git a/schoolapps/mealplan/templates/menu/upload.html b/schoolapps/mealplan/templates/menu/upload.html index dc20877f3..f838228e8 100755 --- a/schoolapps/mealplan/templates/menu/upload.html +++ b/schoolapps/mealplan/templates/menu/upload.html @@ -5,10 +5,10 @@ {% csrf_token %} - <p class="red-text">{{ form.non_field_errors }}</p> + {% msg_box form.non_field_errors "red" "" %} <div class="row"> <div class="input-field col s5"> - <div class="red-text">{{ form.calendar_week.errors }}</div> + {% msg_box form.calendar_week.errors "red" "" %} {# <label for="{{ form.calendar_week.id_for_label }}">Kalenderwoche</label>#} <small>Kalenderwoche</small> {{ form.calendar_week }} @@ -18,7 +18,7 @@ <h4>/</h4> </div> <div class="input-field col s5"> - <div class="red-text">{{ form.year.errors }}</div> + {% msg_box form.year.errors "red" "" %} {# <label for="{{ form.year.id_for_label }}">Jahr</label>#} <small>Jahr</small> {{ form.year }} @@ -26,7 +26,7 @@ </div> <div class="file-field input-field"> <div class="red-text"> - {{ form.pdf.errors }} + {% msg_box form.pdf.errors "red" "" %} </div> <div class="btn"> <span><i class="material-icons center">cloud_upload</i> </span> diff --git a/schoolapps/mealplan/urls.py b/schoolapps/mealplan/urls.py index d34cda6c3..7e42ec018 100755 --- a/schoolapps/mealplan/urls.py +++ b/schoolapps/mealplan/urls.py @@ -4,6 +4,7 @@ from . import views urlpatterns = [ path('', views.index, name="menu_index"), path('upload/', views.upload, name="menu_upload"), + path('delete/<int:id>', views.delete, name="menu_delete"), path('current.pdf', views.show_current, name="menu_show_current"), path('<str:msg>', views.index, name="menu_index_msg"), ] diff --git a/schoolapps/mealplan/views.py b/schoolapps/mealplan/views.py index 4ba436044..8e745620a 100644 --- a/schoolapps/mealplan/views.py +++ b/schoolapps/mealplan/views.py @@ -9,7 +9,6 @@ from mealplan.models import MealPlan from .forms import MenuUploadForm -# Create your views here. def upload(request): if request.method == 'POST': form = MenuUploadForm(request.POST, request.FILES) @@ -24,6 +23,13 @@ def upload(request): }) +def delete(request, id): + print(id) + MealPlan.objects.get(id=id).delete() + + return redirect("menu_index_msg", msg="delete_success") + + def index(request, msg=None): menus = MealPlan.objects.all().order_by("calendar_week", "year") return render(request, 'menu/index.html', {"msg": msg, "menus": menus}) diff --git a/schoolapps/templates/components/msgbox.html b/schoolapps/templates/components/msgbox.html index fe165068c..96ce2a787 100644 --- a/schoolapps/templates/components/msgbox.html +++ b/schoolapps/templates/components/msgbox.html @@ -1,18 +1,10 @@ <div class="row" id="alert_box"> <div class="col s12 m12"> - <div class="card {{ color }} darken-1"> - <div class="row"> - <div class="col s12 m10"> - <div class="card-content white-text"> - {{ msg }} - </div> - </div> - <div class="col s12 m2"> - <a class="btn-flat right waves-effect waves-{{ color }}" id="alert_close"> - <i class="material-icons center white-text">close</i> - </a> - </div> - </div> - </div> + <p class="{{ color }}-text darken-1"> + {% if icon != "" %} + <i class="material-icons left">{{ icon }}</i> + {% endif %} + {{ msg }} + </p> </div> </div> \ No newline at end of file -- GitLab