UPD: improved Event Update Form.
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
/*
|
||||
* General elements
|
||||
*/
|
||||
html, body {
|
||||
height: 100%;
|
||||
}
|
||||
@@ -7,6 +10,13 @@ thead input {
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
/*
|
||||
* Specific areas
|
||||
*/
|
||||
|
||||
/*
|
||||
* Whole Page
|
||||
*/
|
||||
#page {
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
@@ -14,6 +24,9 @@ thead input {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/*
|
||||
* Page Header
|
||||
*/
|
||||
#page-header {
|
||||
/* position: relative; */
|
||||
padding-top: 0.6rem;
|
||||
@@ -48,26 +61,29 @@ thead input {
|
||||
float: right;
|
||||
}
|
||||
|
||||
/*
|
||||
* Messages
|
||||
*/
|
||||
#messages div.alert {
|
||||
margin-top: 1.2rem;
|
||||
margin-bottom: 0rem;
|
||||
}
|
||||
|
||||
/*
|
||||
* Page Body
|
||||
*/
|
||||
#page-body {
|
||||
padding-top: 2.4rem;
|
||||
padding-bottom: 4.8rem;
|
||||
}
|
||||
|
||||
#page-body h3 {
|
||||
margin-top: -1rem;
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
#page-body h5 {
|
||||
margin-top: 0px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/*
|
||||
* Page footer
|
||||
*/
|
||||
#page-footer {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
@@ -95,6 +111,24 @@ thead input {
|
||||
color: #e3e3e3;
|
||||
}
|
||||
|
||||
/*
|
||||
* Misc
|
||||
*/
|
||||
.container > .jumbotron,
|
||||
.container-fluid > .jumbotron {
|
||||
margin-top: 2.4rem;
|
||||
}
|
||||
|
||||
.action-tabs {
|
||||
margin-top: 2.4rem;
|
||||
margin-bottom: 1.2rem;
|
||||
}
|
||||
|
||||
.panel-heading h3, .panel-heading h4 {
|
||||
font-wight: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
.panel-group .panel-footer {
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
@@ -21,8 +21,7 @@
|
||||
{{ form.media }}
|
||||
{% endblock head-media %}
|
||||
|
||||
{% block head-additional %}
|
||||
{% endblock head-additional %}
|
||||
{% block head-additional %}{% endblock %}
|
||||
|
||||
<title>
|
||||
{% block head-title %}Alpenverein Karlsruhe{% endblock head-title %}
|
||||
@@ -48,16 +47,13 @@
|
||||
</div>
|
||||
|
||||
<div id="page-body">
|
||||
{% block modals %}
|
||||
{% endblock modals %}
|
||||
{% block modals %}{% endblock %}
|
||||
{% block page-body %}
|
||||
<div class="container-fluid">
|
||||
{% block page-container-fluid %}
|
||||
{% endblock page-container-fluid %}
|
||||
{% block page-container-fluid %}{% endblock %}
|
||||
</div>
|
||||
<div class="container">
|
||||
{% block page-container %}
|
||||
{% endblock page-container %}
|
||||
{% block page-container %}{% endblock %}
|
||||
</div>
|
||||
{% endblock page-body %}
|
||||
</div>
|
||||
|
||||
@@ -86,6 +86,63 @@ class EventListExportForm(forms.Form):
|
||||
|
||||
|
||||
class EventUpdateForm(forms.ModelForm):
|
||||
requirements = forms.CharField(required=False,
|
||||
label=_(u'Anforderungen / Voraussetzungen'),
|
||||
widget=forms.Textarea(attrs={'rows': 2}))
|
||||
|
||||
equipment = forms.CharField(required=False,
|
||||
label=_(u'Ausrüstung'),
|
||||
widget=forms.Textarea(attrs={'rows': 2}))
|
||||
|
||||
registration_howto = forms.CharField(required=False,
|
||||
label=_(u'Anmeldungshinweis'),
|
||||
widget=forms.Textarea(attrs={'rows': 2}))
|
||||
|
||||
course_topic_1 = forms.CharField(required=False,
|
||||
label=u'%s - %s 1' % (_(u'Kursinhalt'), _(u'Absatz')),
|
||||
widget=forms.Textarea(attrs={'rows': 2}))
|
||||
course_topic_2 = forms.CharField(required=False,
|
||||
label=u'%s - %s 2' % (_(u'Kursinhalt'), _(u'Zeile')),
|
||||
widget=forms.TextInput())
|
||||
course_topic_3 = forms.CharField(required=False,
|
||||
label=u'%s - %s 3' % (_(u'Kursinhalt'), _(u'Zeile')),
|
||||
widget=forms.TextInput())
|
||||
course_topic_4 = forms.CharField(required=False,
|
||||
label=u'%s - %s 4' % (_(u'Kursinhalt'), _(u'Zeile')),
|
||||
widget=forms.TextInput())
|
||||
course_topic_5 = forms.CharField(required=False,
|
||||
label=u'%s - %s 5' % (_(u'Kursinhalt'), _(u'Zeile')),
|
||||
widget=forms.TextInput())
|
||||
course_topic_6 = forms.CharField(required=False,
|
||||
label=u'%s - %s 6' % (_(u'Kursinhalt'), _(u'Zeile')),
|
||||
widget=forms.TextInput())
|
||||
|
||||
course_goal_1 = forms.CharField(required=False,
|
||||
label=u'%s - %s 1' % (_(u'Kursziel'), _(u'Absatz')),
|
||||
widget=forms.Textarea(attrs={'rows': 2}))
|
||||
course_goal_2 = forms.CharField(required=False,
|
||||
label=u'%s - %s 2' % (_(u'Kursziel'), _(u'Zeile')),
|
||||
widget=forms.TextInput())
|
||||
course_goal_3 = forms.CharField(required=False,
|
||||
label=u'%s - %s 3' % (_(u'Kursziel'), _(u'Zeile')),
|
||||
widget=forms.TextInput())
|
||||
course_goal_4 = forms.CharField(required=False,
|
||||
label=u'%s - %s 4' % (_(u'Kursziel'), _(u'Zeile')),
|
||||
widget=forms.TextInput())
|
||||
course_goal_5 = forms.CharField(required=False,
|
||||
label=u'%s - %s 5' % (_(u'Kursziel'), _(u'Zeile')),
|
||||
widget=forms.TextInput())
|
||||
course_goal_6 = forms.CharField(required=False,
|
||||
label=u'%s - %s 6' % (_(u'Kursziel'), _(u'Zeile')),
|
||||
widget=forms.TextInput())
|
||||
|
||||
description = forms.CharField(label=_(u'Beschreibung'),
|
||||
widget=forms.Textarea(attrs={'rows': 5}))
|
||||
|
||||
internal_note = forms.CharField(required=False,
|
||||
label=_(u'Bearbeitungshinweis'),
|
||||
widget=forms.Textarea(attrs={'rows': 5}))
|
||||
|
||||
class Meta:
|
||||
model = models.Event
|
||||
fields = '__all__'
|
||||
|
||||
@@ -20,9 +20,6 @@ from .. import signals
|
||||
from ..utils import get_ghost_user
|
||||
from ..workflow import DefaultWorkflow
|
||||
|
||||
from .eventflag import EventFlag
|
||||
from .eventstatus import EventStatus, get_or_create_event_status
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
{% bootstrap_field form.location %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<h3>An- und Abreise - Teil 1</h3>
|
||||
|
||||
@@ -4,6 +4,35 @@
|
||||
|
||||
{% block head-title %}{{ event }} - {{ block.super }}{% endblock head-title %}
|
||||
|
||||
{% block head-additional %}
|
||||
<script type="text/javascript">
|
||||
function nextAccordionPanel(event) {
|
||||
var sender = $(event.srcElement);
|
||||
var current_panel = sender.closest(".panel");
|
||||
var next_panel = current_panel.next();
|
||||
var current_collapse = sender.closest(".panel-collapse");
|
||||
var next_collapse = next_panel.find(".panel-collapse");
|
||||
current_collapse.collapse("hide");
|
||||
next_collapse.collapse("show");
|
||||
$('html, body').animate({
|
||||
scrollTop: current_collapse.offset().top
|
||||
},'slow');
|
||||
}
|
||||
function previousAccordionPanel(event) {
|
||||
var sender = $(event.srcElement);
|
||||
var current_panel = sender.closest(".panel");
|
||||
var previous_panel = current_panel.prev();
|
||||
var current_collapse = sender.closest(".panel-collapse");
|
||||
var previous_collapse = previous_panel.find(".panel-collapse");
|
||||
current_collapse.collapse("hide");
|
||||
previous_collapse.collapse("show");
|
||||
$('html, body').animate({
|
||||
scrollTop: previous_panel.offset().top
|
||||
},'slow');
|
||||
}
|
||||
</script>
|
||||
{% endblock head-additional %}
|
||||
|
||||
{% block page-container-fluid %}
|
||||
<div class="action-tabs">
|
||||
<ul class="nav nav-tabs" role="tablist">
|
||||
@@ -40,10 +69,458 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger">
|
||||
Bitte überprüfe deine Eingaben!
|
||||
{{ form.non_field_errors }}
|
||||
<ul>
|
||||
{% for field in form %}
|
||||
{% if field.errors %}
|
||||
<li>
|
||||
{{ field.label }}:
|
||||
{{ field.errors }}
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><h4 class="panel-title">{{ event }}</h4></div>
|
||||
<div class="panel-heading"><h3 class="panel-title">{{ event }}</h3></div>
|
||||
<div class="panel-body">
|
||||
{% bootstrap_form form layout='horizontal' %}
|
||||
<div class="panel-group" id="form-accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel panel-default">
|
||||
<div id="headingModusForm" class="panel-heading" role="tab">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" href="#collapseModusForm" data-toggle="collapse" data-parent="#accordion"
|
||||
aria-expanded="true" aria-controls="collapseModusForm">
|
||||
Veranstaltungsmodus / Termin
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseModusForm" class="panel-collapse collapse{% if decollapseModusForm or decollapseAllForms or decollapseFirstForm %} in{% endif %}"
|
||||
role="tabpanel" aria-labelledby="headingModusForm">
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
{% bootstrap_field form.mode %}
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
{% bootstrap_field form.sport %}
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.level %}
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.ski_lift %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.first_day %}
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.last_day %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.alt_first_day %}
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.alt_last_day %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<a class="btn btn-default" href="#" onclick="nextAccordionPanel(event)">{% trans 'Nächster Abschnitt' %} {% bootstrap_icon 'arrow-down' %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div id="headingLocationForm" class="panel-heading" role="tab">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" href="#collapseLocationForm" data-toggle="collapse" data-parent="#accordion"
|
||||
aria-expanded="true" aria-controls="collapseLocationForm">
|
||||
Ort
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseLocationForm" class="panel-collapse collapse{% if decollapseLocationForm or decollapseAllForms %} in{% endif %}"
|
||||
role="tabpanel" aria-labelledby="headingLocationForm">
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.country %}
|
||||
{% bootstrap_field form.terrain %}
|
||||
{% bootstrap_field form.location %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<a class="btn btn-default" href="#" onclick="nextAccordionPanel(event)">{% trans 'Nächster Abschnitt' %} {% bootstrap_icon 'arrow-down' %}</a>
|
||||
<a class="btn btn-default" href="#" onclick="previousAccordionPanel(event)">{% trans 'Vorheriger Abschnitt' %} {% bootstrap_icon 'arrow-up' %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div id="headingJourneyForm" class="panel-heading" role="tab">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" href="#collapseJourneyForm" data-toggle="collapse" data-parent="#accordion"
|
||||
aria-expanded="true" aria-controls="collapseJourneyForm">
|
||||
An- und Abreise
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseJourneyForm" class="panel-collapse collapse{% if decollapseJourneyForm or decollapseAllForms %} in{% endif %}"
|
||||
role="tabpanel" aria-labelledby="headingJourneyForm">
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.transport %}
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.transport_other %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.meeting_point %}
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.meeting_point_other %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.meeting_time %}
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.departure_time %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.departure_ride %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.return_departure_time %}
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.return_arrival_time %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.arrival_previous_day %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<a class="btn btn-default" href="#" onclick="nextAccordionPanel(event)">{% trans 'Nächster Abschnitt' %} {% bootstrap_icon 'arrow-down' %}</a>
|
||||
<a class="btn btn-default" href="#" onclick="previousAccordionPanel(event)">{% trans 'Vorheriger Abschnitt' %} {% bootstrap_icon 'arrow-up' %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div id="headingAccommodationForm" class="panel-heading" role="tab">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" href="#collapseAccommodationForm" data-toggle="collapse" data-parent="#accordion"
|
||||
aria-expanded="true" aria-controls="collapseAccommodationForm">
|
||||
Unterkunft
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseAccommodationForm" class="panel-collapse collapse{% if decollapseAccommodationForm or decollapseAllForms %} in{% endif %}"
|
||||
role="tabpanel" aria-labelledby="headingAccommodationForm">
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.basecamp %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.accommodation %}
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.accommodation_other %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.meals %}
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.meals_other %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<a class="btn btn-default" href="#" onclick="nextAccordionPanel(event)">{% trans 'Nächster Abschnitt' %} {% bootstrap_icon 'arrow-down' %}</a>
|
||||
<a class="btn btn-default" href="#" onclick="previousAccordionPanel(event)">{% trans 'Vorheriger Abschnitt' %} {% bootstrap_icon 'arrow-up' %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div id="headingRequirementsForm" class="panel-heading" role="tab">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" href="#collapseRequirementsForm" data-toggle="collapse" data-parent="#accordion"
|
||||
aria-expanded="true" aria-controls="collapseRequirementsForm">
|
||||
Voraussetzungen / Vorbedingungen
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseRequirementsForm" class="panel-collapse collapse{% if decollapseRequirementsForm or decollapseAllForms %} in{% endif %}"
|
||||
role="tabpanel" aria-labelledby="headingRequirementsForm">
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.requirements %}
|
||||
{% bootstrap_field form.equipment %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.pre_meeting_1 %}
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.pre_meeting_2 %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<a class="btn btn-default" href="#" onclick="nextAccordionPanel(event)">{% trans 'Nächster Abschnitt' %} {% bootstrap_icon 'arrow-down' %}</a>
|
||||
<a class="btn btn-default" href="#" onclick="previousAccordionPanel(event)">{% trans 'Vorheriger Abschnitt' %} {% bootstrap_icon 'arrow-up' %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div id="headingTrainerForm" class="panel-heading" role="tab">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" href="#collapseTrainerForm" data-toggle="collapse" data-parent="#accordion"
|
||||
aria-expanded="true" aria-controls="collapseTrainerForm">
|
||||
Tourenleitung
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseTrainerForm" class="panel-collapse collapse{% if decollapseTrainerForm or decollapseAllForms %} in{% endif %}"
|
||||
role="tabpanel" aria-labelledby="headingTrainerForm">
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.trainer_firstname %}
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.trainer_familyname %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.trainer_email %}
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.trainer_phone %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.trainer_2_fullname %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.trainer_3_fullname %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<a class="btn btn-default" href="#" onclick="nextAccordionPanel(event)">{% trans 'Nächster Abschnitt' %} {% bootstrap_icon 'arrow-down' %}</a>
|
||||
<a class="btn btn-default" href="#" onclick="previousAccordionPanel(event)">{% trans 'Vorheriger Abschnitt' %} {% bootstrap_icon 'arrow-up' %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div id="headingRegistrationForm" class="panel-heading" role="tab">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" href="#collapseRegistrationForm" data-toggle="collapse" data-parent="#accordion"
|
||||
aria-expanded="true" aria-controls="collapseRegistrationForm">
|
||||
Teilnehmer / Anmeldung
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseRegistrationForm" class="panel-collapse collapse{% if decollapseRegistrationForm or decollapseAllForms %} in{% endif %}"
|
||||
role="tabpanel" aria-labelledby="headingRegistrationForm">
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<label>{% trans 'Teilnehmerzahl' %}</label> (0 = {% trans 'unreglementiert' %})
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.min_participants %}
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
{% bootstrap_field form.max_participants %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<label>{% trans 'Anmeldung' %}</label>
|
||||
{% bootstrap_field form.registration_required %}
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="row registration_settings">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.deadline %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row registration_settings">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.registration_howto %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<a class="btn btn-default" href="#" onclick="nextAccordionPanel(event)">{% trans 'Nächster Abschnitt' %} {% bootstrap_icon 'arrow-down' %}</a>
|
||||
<a class="btn btn-default" href="#" onclick="previousAccordionPanel(event)">{% trans 'Vorheriger Abschnitt' %} {% bootstrap_icon 'arrow-up' %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div id="headingChargesForm" class="panel-heading" role="tab">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" href="#collapseChargesForm" data-toggle="collapse" data-parent="#accordion"
|
||||
aria-expanded="true" aria-controls="collapseChargesForm">
|
||||
Kosten
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseChargesForm" class="panel-collapse collapse{% if decollapseChargesForm or decollapseAllForms %} in{% endif %}"
|
||||
role="tabpanel" aria-labelledby="headingChargesForm">
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.charge %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.additional_costs %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<a class="btn btn-default" href="#" onclick="nextAccordionPanel(event)">{% trans 'Nächster Abschnitt' %} {% bootstrap_icon 'arrow-down' %}</a>
|
||||
<a class="btn btn-default" href="#" onclick="previousAccordionPanel(event)">{% trans 'Vorheriger Abschnitt' %} {% bootstrap_icon 'arrow-up' %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div id="headingTrainingForm" class="panel-heading" role="tab">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" href="#collapseTrainingForm" data-toggle="collapse" data-parent="#accordion"
|
||||
aria-expanded="true" aria-controls="collapseTrainingForm">
|
||||
Kursinhalte / Kursziele
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseTrainingForm" class="panel-collapse collapse{% if decollapseTrainingForm or decollapseAllForms %} in{% endif %}"
|
||||
role="tabpanel" aria-labelledby="headingTrainingForm">
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.course_topic_1 %}
|
||||
{% bootstrap_field form.course_topic_2 %}
|
||||
{% bootstrap_field form.course_topic_3 %}
|
||||
{% bootstrap_field form.course_topic_4 %}
|
||||
{% bootstrap_field form.course_topic_5 %}
|
||||
{% bootstrap_field form.course_topic_6 %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.course_goal_1 %}
|
||||
{% bootstrap_field form.course_goal_2 %}
|
||||
{% bootstrap_field form.course_goal_3 %}
|
||||
{% bootstrap_field form.course_goal_4 %}
|
||||
{% bootstrap_field form.course_goal_5 %}
|
||||
{% bootstrap_field form.course_goal_6 %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<a class="btn btn-default" href="#" onclick="nextAccordionPanel(event)">{% trans 'Nächster Abschnitt' %} {% bootstrap_icon 'arrow-down' %}</a>
|
||||
<a class="btn btn-default" href="#" onclick="previousAccordionPanel(event)">{% trans 'Vorheriger Abschnitt' %} {% bootstrap_icon 'arrow-up' %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div id="headingDescriptionForm" class="panel-heading" role="tab">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" href="#collapseDescriptionForm" data-toggle="collapse" data-parent="#accordion"
|
||||
aria-expanded="true" aria-controls="collapseDescriptionForm">
|
||||
Titel / Beschreibung
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseDescriptionForm" class="panel-collapse collapse{% if decollapseDescriptionForm or decollapseAllForms %} in{% endif %}"
|
||||
role="tabpanel" aria-labelledby="headingDescriptionForm">
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.title %}
|
||||
{% bootstrap_field form.description %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<a class="btn btn-default" href="#" onclick="nextAccordionPanel(event)">{% trans 'Nächster Abschnitt' %} {% bootstrap_icon 'arrow-down' %}</a>
|
||||
<a class="btn btn-default" href="#" onclick="previousAccordionPanel(event)">{% trans 'Vorheriger Abschnitt' %} {% bootstrap_icon 'arrow-up' %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default">
|
||||
<div id="headingWorkflowForm" class="panel-heading" role="tab">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" href="#collapseWorkflowForm" data-toggle="collapse" data-parent="#accordion"
|
||||
aria-expanded="true" aria-controls="collapseWorkflowForm">
|
||||
Bearbeitungshinweis / Workflow
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseWorkflowForm" class="panel-collapse collapse{% if decollapseWorkflowForm or decollapseAllForms %} in{% endif %}"
|
||||
role="tabpanel" aria-labelledby="headingWorkflowForm">
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.internal_note %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.planned_publication_date %}
|
||||
{% bootstrap_field form.number %}
|
||||
{% bootstrap_field form.owner %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<a class="btn btn-default" href="#" onclick="previousAccordionPanel(event)">{% trans 'Vorheriger Abschnitt' %} {% bootstrap_icon 'arrow-up' %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<button type="submit" class="btn btn-success">
|
||||
|
||||
@@ -211,6 +211,18 @@ class EventUpdateView(EventPermissionMixin, generic.UpdateView):
|
||||
self.enforce_permission(obj)
|
||||
return obj
|
||||
|
||||
def get_form(self, form_class=None):
|
||||
form = super(EventUpdateView, self).get_form(form_class)
|
||||
if not self.has_permission('accept', self.object):
|
||||
form.fields['registration_howto'].disabled = True
|
||||
form.fields['planned_publication_date'].disabled = True
|
||||
form.fields['planned_publication_date'].widget = forms.generic.forms.HiddenInput()
|
||||
form.fields['number'].disabled = True
|
||||
form.fields['number'].widget = forms.generic.forms.HiddenInput()
|
||||
form.fields['owner'].disabled = True
|
||||
form.fields['owner'].widget = forms.generic.forms.HiddenInput()
|
||||
return form
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(EventUpdateView, self).get_context_data(**kwargs)
|
||||
obj = context.get('event')
|
||||
@@ -221,6 +233,12 @@ class EventUpdateView(EventPermissionMixin, generic.UpdateView):
|
||||
context['is_publishing'] = obj.workflow.has_reached_status('publishing')
|
||||
context['is_publishing_any'] = obj.workflow.has_reached_status('publishing*')
|
||||
context['is_accepted'] = obj.workflow.has_reached_status('accepted')
|
||||
|
||||
if 'form' in kwargs and kwargs['form'].errors:
|
||||
context['decollapseAllForms'] = True
|
||||
else:
|
||||
context['decollapseFirstForm'] = True
|
||||
|
||||
return context
|
||||
|
||||
def form_valid(self, form):
|
||||
|
||||
Reference in New Issue
Block a user