UPD: dav_submission: included some feedback from manu.
This commit is contained in:
@@ -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),
|
||||
|
||||
@@ -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<br />%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'<br />%s' % (ugettext(u'Lade bis zu %d Dateien hoch')
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
{
|
||||
"url_prefix": "150"
|
||||
"url_prefix": "einreichung"
|
||||
}
|
||||
@@ -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 %}
|
||||
<div class="container">
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
{% load bootstrap3 %}
|
||||
|
||||
{% block page-container %}
|
||||
<h3 class="top-most">Lorem</h3>
|
||||
<h3 class="top-most">150 Jahre DAV Karlsruhe - Einreichung</h3>
|
||||
<div class="well">
|
||||
<p class="lead">Lorem ipsum dolor</p>
|
||||
<p class="lead"><i>Zeig uns Deinen DAV!</i></p>
|
||||
{% lorem %}
|
||||
</div>
|
||||
|
||||
{% if show_upload_form %}
|
||||
{% bootstrap_form_errors form %}
|
||||
|
||||
<form action="" method="post" class="form-horizontal" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
<div class="col-md-10">
|
||||
{% 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' %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -67,4 +68,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endblock page-container %}
|
||||
|
||||
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user