From beec919b2e9dfd1992f3764e6098f99d1b228997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kucharczyk?= Date: Mon, 16 Jan 2023 22:05:02 +0100 Subject: [PATCH] Add date and time pickers to forms --- CHANGELOG.md | 1 + src/web/tracker/forms.py | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a0ccb1..5a8f884 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ * New * When adding session, pre-select game with the last session + * Date and time input fields now have proper pickers ## 0.2.4 / 2023-01-16 19:39+01:00 diff --git a/src/web/tracker/forms.py b/src/web/tracker/forms.py index 7cfda40..5e2c1e3 100644 --- a/src/web/tracker/forms.py +++ b/src/web/tracker/forms.py @@ -13,12 +13,26 @@ class SessionForm(forms.ModelForm): "duration_manual", "note", ] + custom_datetime_widget = forms.SplitDateTimeWidget( + date_attrs={"type": "date"}, time_attrs={"type": "time"} + ) + widgets = { + "timestamp_start": custom_datetime_widget, + "timestamp_end": custom_datetime_widget, + } class PurchaseForm(forms.ModelForm): class Meta: model = Purchase fields = ["game", "platform", "date_purchased", "date_refunded"] + custom_date_widget = forms.DateInput( + format=("%d-%m-%Y"), attrs={"type": "date"} + ) + widgets = { + "date_purchased": custom_date_widget, + "date_refunded": custom_date_widget, + } class GameForm(forms.ModelForm): @@ -31,3 +45,7 @@ class PlatformForm(forms.ModelForm): class Meta: model = Platform fields = ["name", "group"] + + +class UnifiedGameForm(forms.ModelForm): + GameFormSet = forms.inlineformset_factory(Game, Purchase)