diff --git a/dav_events/forms/events.py b/dav_events/forms/events.py index 77624de..4908e92 100644 --- a/dav_events/forms/events.py +++ b/dav_events/forms/events.py @@ -897,6 +897,8 @@ class SummaryForm(EventCreateForm): widget=forms.Textarea(attrs={'rows': 5})) def proceed_session_data(self, session_data): + super(SummaryForm, self).proceed_session_data(session_data) + registration_required = self._session_data.get('registration_required', False) if registration_required: deadline = self._session_data.get('deadline', None) diff --git a/dav_events/forms/generic.py b/dav_events/forms/generic.py index e21224f..ecf2fff 100644 --- a/dav_events/forms/generic.py +++ b/dav_events/forms/generic.py @@ -164,7 +164,9 @@ class ModelMixin(object): raise TypeError('Expected %s' % model.__class__.__name__) data = {} for field in instance._meta.get_fields(): - data[field.name] = getattr(instance, field.name) + v = getattr(instance, field.name) + if v is not None: + data[field.name] = getattr(instance, field.name) self.is_bound = True self.data = data return data diff --git a/dav_events/views/events.py b/dav_events/views/events.py index 0dad282..0d942b0 100644 --- a/dav_events/views/events.py +++ b/dav_events/views/events.py @@ -312,9 +312,11 @@ class EventCreateView(EventPermissionMixin, generic.FormView): 'publication_confirmed_at', 'publication_confirmed_by', 'number', 'planned_publication_date', 'internal_note',): - setattr(event, field, None) + if hasattr(event, field): + setattr(event, field, None) for field in ('accepted', 'publication_confirmed'): - setattr(event, field, False) + if hasattr(event, field): + setattr(event, field, False) initial_form_name = self.form_class.get_initial_form_name() form_class = getattr(forms.events, initial_form_name)