diff --git a/visits/admin.py b/visits/admin.py index 34672c6e4d45574f60b614655934c0b816aa8166..6877065d9b39af00a50fa6bd5baa019b74b6431b 100644 --- a/visits/admin.py +++ b/visits/admin.py @@ -16,7 +16,7 @@ class RegistrationsOpenFilter(admin.SimpleListFilter): https://docs.djangoproject.com/fr/2.0/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_filter """ - title = "état des inscriptions" + title = 'état des inscriptions' parameter_name = 'registrations_open' def lookups(self, request, model_admin): @@ -47,23 +47,27 @@ class VisitForm(forms.ModelForm): - Deadline must be before the date - End time must be after start time + + Keep in mind that values may be `None` if not provided in the form. """ cleaned_data = super().clean() date = cleaned_data.get('date') deadline = cleaned_data.get('deadline') start_time = cleaned_data.get('start_time') end_time = cleaned_data.get('end_time') - if deadline.date() >= date: - error = forms.ValidationError( - "La date limite d'inscription doit être avant la " - "date de la sortie." - ) - self.add_error('deadline', error) - if end_time <= start_time: - error = forms.ValidationError( - "L'heure de fin doit être après l'heure de début.") - self.add_error('start_time', error) - self.add_error('end_time', error) + if deadline is not None: + if deadline.date() >= date: + error = forms.ValidationError( + "La date limite d'inscription doit être avant la " + "date de la sortie." + ) + self.add_error('deadline', error) + if end_time is not None and start_time is not None: + if end_time <= start_time: + error = forms.ValidationError( + "L'heure de fin doit être après l'heure de début.") + self.add_error('start_time', error) + self.add_error('end_time', error) class ParticipationInline(admin.StackedInline):