UPD: improved Event Update Form.

This commit is contained in:
2019-03-01 17:04:15 +01:00
parent baf959760d
commit bc9575a9b3
7 changed files with 598 additions and 20 deletions

View File

@@ -14,7 +14,6 @@
{% bootstrap_field form.location %}
</div>
</div>
<div class="row">&nbsp;</div>
<div class="row">
<div class="col-sm-12">
<h3>An- und Abreise - Teil 1</h3>

View File

@@ -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">