From d8919f33943670a2287c9bc29e1c8c0fb8502000 Mon Sep 17 00:00:00 2001 From: Jens Kleineheismann Date: Wed, 15 May 2019 13:04:41 +0200 Subject: [PATCH] UPD: dav_submission: included some feedback from manu. --- dav_submission/apps.py | 2 +- dav_submission/forms.py | 18 +++++++++++++++--- dav_submission/module.json | 2 +- .../templates/dav_submission/base.html | 2 +- .../templates/dav_submission/upload_form.html | 8 +++++--- dav_submission/views.py | 14 ++++++++++++++ 6 files changed, 37 insertions(+), 9 deletions(-) diff --git a/dav_submission/apps.py b/dav_submission/apps.py index 31fed4e..bf87975 100644 --- a/dav_submission/apps.py +++ b/dav_submission/apps.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- import os from django.conf import settings -from django.core.exceptions import ImproperlyConfigured from dav_base.config.apps import AppConfig as _AppConfig, DefaultSetting DEFAULT_SETTINGS = ( + DefaultSetting('enable_upload', True), DefaultSetting('upload_path', os.path.join(settings.BASE_VAR_DIR, 'lib', 'dav_submission', 'submissions')), DefaultSetting('max_files', 100), DefaultSetting('max_file_size_mib', 50), diff --git a/dav_submission/forms.py b/dav_submission/forms.py index 0411c7f..f773ea5 100644 --- a/dav_submission/forms.py +++ b/dav_submission/forms.py @@ -11,7 +11,12 @@ class UploadForm(forms.Form): label=_(u'Dein Name'), help_text=_(u'Wenn wir wissen, wie du heißt, wird uns das echt weiter helfen')) email_address = forms.EmailField(label=_(u'Deine E-Mail-Adresse'), - help_text=_(u'Lorem')) + help_text=_(u'Damit wir dich für Rückfragen kontaktieren können')) + + group = forms.CharField(max_length=1024, + required=False, + label=_(u'DAV Gruppe'), + help_text=_(u'Optional, falls du aktiv in einer der Sektionsgruppen bist')) title = forms.CharField(max_length=60, label=_(u'Titel deines Beitrags / Stichwort'), @@ -20,8 +25,12 @@ class UploadForm(forms.Form): _(u'Maximal 60 Zeichen') )) - description = forms.CharField(label=_(u'Beschreibung'), - help_text=_(u'Lorem'), + description = forms.CharField(max_length=150, + label=_(u'Beschreibung'), + help_text=u'%s
%s' % ( + _(u'kommt zum Bild, falls es ausgestellt wird'), + _(u'Maximal 150 Zeichen') + ), widget=forms.Textarea(attrs={'rows': 2})) files = forms.FileField(label=_(u'Dateien'), @@ -37,6 +46,9 @@ class UploadForm(forms.Form): self.fields['title'].widget.attrs['placeholder'] = \ u'Climb & Bold - Nacktbesteigung der Nose'[:self.fields['title'].max_length] + self.fields['group'].widget.attrs['placeholder'] = \ + ugettext(u'Kann frei gelassen werden')[:self.fields['title'].max_length] + help_text = self.fields['files'].help_text if app_config.settings.max_files: help_text += u'
%s' % (ugettext(u'Lade bis zu %d Dateien hoch') diff --git a/dav_submission/module.json b/dav_submission/module.json index 6fe2ea8..690955e 100644 --- a/dav_submission/module.json +++ b/dav_submission/module.json @@ -1,3 +1,3 @@ { - "url_prefix": "150" + "url_prefix": "einreichung" } \ No newline at end of file diff --git a/dav_submission/templates/dav_submission/base.html b/dav_submission/templates/dav_submission/base.html index 16f4455..edc0d69 100644 --- a/dav_submission/templates/dav_submission/base.html +++ b/dav_submission/templates/dav_submission/base.html @@ -1,7 +1,7 @@ {% extends "dav_base/base.html" %} {% load bootstrap3 %} -{% block project-name %}150 Jahre DAV - Einreichung{% endblock %} +{% block project-name %}150 Jahre Sektion Karlsruhe des Deutschen Alpenvereins{% endblock %} {% block messages %}
diff --git a/dav_submission/templates/dav_submission/upload_form.html b/dav_submission/templates/dav_submission/upload_form.html index bbcd62e..f14feb6 100644 --- a/dav_submission/templates/dav_submission/upload_form.html +++ b/dav_submission/templates/dav_submission/upload_form.html @@ -2,14 +2,14 @@ {% load bootstrap3 %} {% block page-container %} -

Lorem

+

150 Jahre DAV Karlsruhe - Einreichung

-

Lorem ipsum dolor

+

Zeig uns Deinen DAV!

{% lorem %}
+{% if show_upload_form %} {% bootstrap_form_errors form %} -
{% csrf_token %} @@ -17,6 +17,7 @@
{% bootstrap_field form.name layout='horizontal' %} {% bootstrap_field form.email_address layout='horizontal' %} + {% bootstrap_field form.group layout='horizontal' %} {% bootstrap_field form.title layout='horizontal' %}
@@ -67,4 +68,5 @@ +{% endif %} {% endblock page-container %} diff --git a/dav_submission/views.py b/dav_submission/views.py index 286ce35..d74077b 100644 --- a/dav_submission/views.py +++ b/dav_submission/views.py @@ -5,6 +5,7 @@ import logging import os from django.apps import apps from django.contrib import messages +from django.core.exceptions import PermissionDenied from django.urls import reverse_lazy from django.utils.translation import ugettext as _ from django.views import generic @@ -19,6 +20,7 @@ class UploadView(generic.edit.FormView): initial = { # 'name': u'heinzel', # 'email_address': 'heinzel@heinzelwelt.de', + # 'group': 'Alte Maschinen', # 'title': u'Mein Beitrag', # 'description': 'Foobar', # 'accepted': True, @@ -57,6 +59,11 @@ class UploadView(generic.edit.FormView): return r[:max_length] + def get_context_data(self, **kwargs): + c = super(UploadView, self).get_context_data(**kwargs) + c['show_upload_form'] = app_config.settings.enable_upload + return c + def form_valid(self, form): base_path = app_config.settings.upload_path @@ -81,6 +88,7 @@ class UploadView(generic.edit.FormView): try: metadata_format_str = u"""Absender: {name} <{email_address}> +Gruppe: {group} Datum: {date} {time} Titel: {title} Beschreibung: @@ -91,6 +99,7 @@ Beschreibung: 'time': now.strftime('%H:%M:%S'), 'name': form.cleaned_data['name'], 'email_address': form.cleaned_data['email_address'], + 'group': form.cleaned_data['group'], 'title': form.cleaned_data['title'], 'description': form.cleaned_data['description'], } @@ -139,6 +148,11 @@ Beschreibung: return super(UploadView, self).form_valid(form) + def post(self, request, *args, **kwargs): + if not app_config.settings.enable_upload: + raise PermissionDenied(_(u'Der Upload ist noch nicht freigeschaltet.')) + return super(UploadView, self).post(request, *args, **kwargs) + class SuccessView(generic.TemplateView): template_name = 'dav_submission/success.html'