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

@@ -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;
}

View File

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

View File

@@ -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__'

View File

@@ -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__)

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

View File

@@ -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):