This commit is contained in:
relikd
2023-05-29 15:20:07 +02:00
commit 1380b156d8
126 changed files with 3612 additions and 0 deletions

View File

View File

@@ -0,0 +1,14 @@
from django import forms
class DateWithNow(forms.DateInput):
template_name = 'forms/widgets/date.html'
def __init__(self, attrs=None, format=None):
rv = attrs or {}
rv['type'] = 'date'
super().__init__(rv, format='%Y-%m-%d')
# OR: prevent super from converting dateformat.date to str
# def format_value(self, value: date) -> date:
# return value

View File

@@ -0,0 +1,22 @@
from django import forms
from django.forms.utils import to_current_timezone
from django.http.request import QueryDict
from datetime import datetime
class DateTimeWithNow(forms.DateTimeInput):
template_name = 'forms/widgets/datetime.html'
def format_value(self, value: datetime) -> datetime:
return to_current_timezone(value)
def value_from_datadict(self, data: QueryDict, files, name: str) \
-> 'datetime|None':
day, time = data.getlist(name)
if not day:
return None
y, m, d = day.split('-')
h, i, *s = time.split(':') if time else (0, 0, 0)
return datetime(
int(y), int(m), int(d), int(h), int(i), int(s[0] if s else 0))