Moved event specific code from ChainedForm to EventCreateForm via

ModelMixin.
This commit is contained in:
2018-02-25 17:04:32 +01:00
parent b1cdfe4803
commit e669d5b55b
3 changed files with 36 additions and 30 deletions

View File

@@ -12,7 +12,7 @@ from datetimewidget.widgets import DateWidget, TimeWidget, DateTimeWidget
from .. import choices
from .. import config
from .. import models
from .generic import ChainedForm
from .generic import ChainedForm, ModelMixin
app_config = apps.get_containing_app_config(__package__)
logger = logging.getLogger(__name__)
@@ -74,10 +74,21 @@ class EventUpdateForm(forms.ModelForm):
'published', 'published_at', 'published_by',)
class EventCreateForm(ChainedForm):
class EventCreateForm(ModelMixin, ChainedForm):
_model = models.Event
_initial_form_name = 'ModeForm'
def _get_instance_kwargs(self):
kwargs = self._session_data.copy()
if 'deadline' in kwargs:
buf = kwargs['deadline']
if isinstance(buf, basestring):
deadline_choice = buf.lower()
deadline_field = 'deadline_{}'.format(deadline_choice)
if deadline_field in kwargs:
kwargs['deadline'] = kwargs[deadline_field]
return kwargs
def _get_matrix_config(self, session_data):
mode = session_data.get('mode', None)
sport = session_data.get('sport', None)