diff --git a/la_chariotte/order/forms.py b/la_chariotte/order/forms.py index c504496..9a962aa 100644 --- a/la_chariotte/order/forms.py +++ b/la_chariotte/order/forms.py @@ -1,20 +1,38 @@ +import datetime + from django import forms from django.contrib.auth import get_user_model from django.core.exceptions import NON_FIELD_ERRORS, ValidationError from django.db import IntegrityError +from la_chariotte import settings from la_chariotte.order.models import GroupedOrder, Item class GroupedOrderForm(forms.ModelForm): + deadline_date = forms.DateField( + label="Date limite de commande", widget=forms.DateInput(attrs={"type": "date"}) + ) + deadline_time = forms.TimeField( + label="Heure limite de commande", + widget=forms.TimeInput(attrs={"type": "time"}), + initial=datetime.time(hour=23, minute=59, second=59), + ) + class Meta: model = GroupedOrder - fields = ["name", "deadline", "delivery_date", "place", "description"] + fields = [ + "name", + "deadline_date", + "deadline_time", + "delivery_date", + "place", + "description", + ] widgets = { "name": forms.TextInput( attrs={"placeholder": "ex : Des oranges pour Noël"} ), - "deadline": forms.DateTimeInput(attrs={"type": "datetime-local"}), "delivery_date": forms.DateInput(attrs={"type": "date"}), "place": forms.TextInput(attrs={"placeholder": "(facultatif)"}), "description": forms.Textarea( @@ -34,6 +52,9 @@ class GroupedOrderForm(forms.ModelForm): def clean(self): cleaned_data = self.cleaned_data + self.instance.deadline = datetime.datetime.combine( + self.cleaned_data["deadline_date"], self.cleaned_data["deadline_time"] + ) try: GroupedOrder.objects.get( diff --git a/la_chariotte/order/templates/order/grouped_order_create.html b/la_chariotte/order/templates/order/grouped_order_create.html index 19f15d9..f61a8ca 100644 --- a/la_chariotte/order/templates/order/grouped_order_create.html +++ b/la_chariotte/order/templates/order/grouped_order_create.html @@ -8,12 +8,16 @@
Nouvelle commande
-