Skip to content
Snippets Groups Projects
Commit 7311df9a authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Add deleting and editing to hint management

parent 56cbf9d2
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,13 @@
{% load widget_tweaks %}
<main>
<h4>Neuen Hinweis erstellen</h4>
<h4>
{% if mode == "new" %}
Neuen Hinweis erstellen
{% else %}
Hinweis bearbeiten
{% endif %}
</h4>
{% if msg == "success" %}
<div class="alert success">
......@@ -100,7 +106,8 @@
<button type="submit" class="waves-effect waves-light btn green">
<i class="material-icons left">add</i> Hinweis erstellen und veröffentlichen
<i class="material-icons left">save</i> Hinweis {% if mode == "new" %} erstellen und
veröffentlichen {% else %} aktualisieren {% endif %}
</button>
</form>
......
......@@ -3,6 +3,15 @@
{% load martortags %}
<main>
{% if msg %}
<div class="alert success">
<p>
<i class="material-icons left">check_circle</i>
Der Hinweis wurde erfolgreich {% if msg == "success_edit" %}gespeichert. {% else %}
gelöscht. {% endif %}
</p>
</div>
{% endif %}
<h4>Hinweise</h4>
......@@ -55,11 +64,13 @@
<div class="collapsible-body row">
{# <div class="col s12 m4">#}
<div class="right">
<a class="btn-flat waves-effect waves-teal green-text">
<a class="btn-flat waves-effect waves-teal green-text"
href="{% url "timetable_edit_hint" hint.id %}">
<i class="material-icons left">edit</i>
<span class="hide-on-small-only">Bearbeiten</span>
</a>
<a class="btn-flat waves-effect waves-teal red-text">
<a class="btn-flat waves-effect waves-teal red-text delete-button"
href="{% url "timetable_delete_hint" hint.id %}">
<i class="material-icons left">delete</i>
<span class="hide-on-small-only">Löschen</span>
</a>
......
......@@ -2,6 +2,10 @@ from django.urls import path
from . import views
urlpatterns = [
path('hints', views.hints, name="timetable_hints"),
path('hints/add', views.add_hint, name="timetable_add_hint"),
path('hints/<int:id>/edit', views.edit_hint, name="timetable_edit_hint"),
path('hints/<int:id>/delete', views.delete_hint, name="timetable_delete_hint"),
path('', views.all, name='timetable_admin_all'),
path('my', views.my_plan, name='timetable_my_plan'),
path('my/<int:year>/<int:month>/<int:day>/', views.my_plan, name='timetable_my_plan'),
......@@ -14,6 +18,5 @@ urlpatterns = [
path('substitutions/', views.substitutions, name='timetable_substitutions'),
path('substitutions/<int:year>/<int:month>/<int:day>/', views.substitutions, name='timetable_substitutions_date'),
path('class.pdf', views.sub_pdf, name="timetable_substitutions_pdf"),
path('hints', views.hints, name="timetable_hints"),
path('hints/add', views.add_hint, name="timetable_add_hint"),
]
......@@ -4,7 +4,7 @@ import os
from PyPDF2 import PdfFileMerger
from django.contrib.auth.decorators import login_required, permission_required
from django.http import Http404, FileResponse
from django.shortcuts import render, redirect
from django.shortcuts import render, redirect, get_object_or_404
from django.utils import timezone
from material import Fieldset, Row
......@@ -261,8 +261,12 @@ def substitutions(request, year=None, day=None, month=None):
@permission_required("timetable.can_view_hint")
def hints(request):
f = HintFilter(request.GET, queryset=Hint.objects.all())
msg = None
if request.session.get("msg", False):
msg = request.session["msg"]
request.session["msg"] = None
# f.form.layout = Fieldset("Hi", Row("from_date", "to_date", "classes", "teachers"))
return render(request, "timetable/hints.html", {"f": f})
return render(request, "timetable/hints.html", {"f": f, "msg": msg})
@login_required
......@@ -280,4 +284,30 @@ def add_hint(request):
else:
form = HintForm()
return render(request, 'timetable/addhint.html', {'form': form, "martor": True, "msg": msg})
return render(request, 'timetable/hintform.html', {'form': form, "martor": True, "msg": msg, "mode": "new"})
@login_required
@permission_required("timetable.can_edit_hint")
def edit_hint(request, id):
hint = get_object_or_404(Hint, pk=id)
if request.method == 'POST':
form = HintForm(request.POST, instance=hint)
if form.is_valid():
form.save()
request.session["msg"] = "success_edit"
return redirect('timetable_hints')
else:
form = HintForm(instance=hint)
return render(request, 'timetable/hintform.html', {'form': form, "martor": True, "mode": "edit"})
@login_required
@permission_required("timetable.can_delete_hint")
def delete_hint(request, id):
hint = get_object_or_404(Hint, pk=id)
hint.delete()
request.session["msg"] = "success_delete"
return redirect('timetable_hints')
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment