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

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