From f28b8f381ba2fb5ed9dc91437e11c84381a77abe Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Thu, 16 Jan 2020 19:35:15 +0100 Subject: [PATCH] Use material form to render upload form --- aleksis/apps/mensa/forms.py | 8 +++- .../apps/mensa/templates/mensa/upload.html | 39 ++++--------------- 2 files changed, 13 insertions(+), 34 deletions(-) diff --git a/aleksis/apps/mensa/forms.py b/aleksis/apps/mensa/forms.py index 1a3afd6..fa698b5 100644 --- a/aleksis/apps/mensa/forms.py +++ b/aleksis/apps/mensa/forms.py @@ -1,6 +1,7 @@ from django import forms from django.core.validators import FileExtensionValidator from django.utils import timezone +from material import Layout, Row from .models import Menu @@ -15,12 +16,15 @@ class MenuUploadForm(forms.ModelForm): year = forms.ChoiceField( initial=timezone.datetime.now().year, choices=options_for_year ) - pdf = forms.FileField( - label="PDF-Datei", validators=[FileExtensionValidator(allowed_extensions=["pdf"])], ) + layout = Layout( + Row("calendar_week", "year"), + Row("pdf") + ) + class Meta: model = Menu fields = ("calendar_week", "year", "pdf") diff --git a/aleksis/apps/mensa/templates/mensa/upload.html b/aleksis/apps/mensa/templates/mensa/upload.html index 55d6cc4..9179ff7 100644 --- a/aleksis/apps/mensa/templates/mensa/upload.html +++ b/aleksis/apps/mensa/templates/mensa/upload.html @@ -1,46 +1,21 @@ {% extends "core/base.html" %} -{% load msg_box %} +{% load msg_box i18n material_form %} + +{% block page_title %}{% trans "Upload menu" %}{% endblock %} {% block content %} - <h5>Speiseplan hochladen</h5> <form method="post" enctype="multipart/form-data"> - {% csrf_token %} - {% msg_box form.non_field_errors "error" "error" %} - <div class="row"> - <div class="input-field col s5"> - {% msg_box form.calendar_week.errors "error" "error" %} - <small>Kalenderwoche</small> - {{ form.calendar_week }} - </div> - <div class="col s2 center-align"> - <small> </small> - <h4>/</h4> - </div> - <div class="input-field col s5"> - {% msg_box form.year.errors "error" "error" %} - <small>Jahr</small> - {{ form.year }} - </div> - </div> - <div class="file-field input-field"> - {% msg_box form.pdf.errors "error" "error" %} - <div class="btn"> - <span><i class="material-icons center">cloud_upload</i></span> - <input type="file" name="{{ form.pdf.html_name }}"> - </div> - <div class="file-path-wrapper"> - <input class="file-path validate" type="text"> - </div> - </div> + {% form form=form %}{% endform %} + <button class="waves-effect waves-light btn green" type="submit"> <i class="material-icons left">cloud_upload</i> - Speiseplan hochladen und veröffentlichen + {% trans "Upload and publish menu" %} </button> </form> <p> - <a href="{% url 'menu_index' %}" class="waves-effect waves-teal btn-flat">Zurück zur Übersicht</a> + <a href="{% url 'menu_index' %}" class="waves-effect waves-teal btn-flat">{% trans "Back to overview" %}</a> </p> {% endblock %} -- GitLab