diff --git a/scipost_django/careers/forms.py b/scipost_django/careers/forms.py index b849b56989dd6978b0313554097dbd5a2378a54b..e203c5dfaeb57170d9c205acbff9a9ac5993deff 100644 --- a/scipost_django/careers/forms.py +++ b/scipost_django/careers/forms.py @@ -20,6 +20,10 @@ class JobOpeningForm(forms.ModelForm): "application_deadline", "status", ] + widgets = { + "announced": forms.DateInput(attrs={"type": "date"}), + "application_deadline": forms.DateInput(attrs={"type": "date"}), + } class JobApplicationForm(forms.ModelForm): @@ -38,6 +42,10 @@ class JobApplicationForm(forms.ModelForm): "motivation", "cv", ] + widgets = { + "announced": forms.DateInput(attrs={"type": "date"}), + "application_deadline": forms.DateInput(attrs={"type": "date"}), + } def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/scipost_django/colleges/forms.py b/scipost_django/colleges/forms.py index 5faae48209f8850645bfbebb7d3896cc7b4887fd..a749a82ec35713cd5eb17ee7a5f19f6b12050313 100644 --- a/scipost_django/colleges/forms.py +++ b/scipost_django/colleges/forms.py @@ -144,6 +144,10 @@ class FellowshipForm(forms.ModelForm): help_texts = { "status": "[select if this is a regular, senior or guest Fellowship]" } + widgets = { + "start_date": forms.DateInput(attrs={"type": "date"}), + "until_date": forms.DateInput(attrs={"type": "date"}), + } def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -575,6 +579,9 @@ class FellowshipInvitationResponseForm(forms.ModelForm): "postpone_start_to", "comments", ] + widgets = { + "postpone_start_to": forms.DateInput(attrs={"type": "date"}), + } def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/scipost_django/ethics/forms.py b/scipost_django/ethics/forms.py index 5d6a7fd43f9ba644e51eda92cca47f923eae3694..d7eede36ad3466d948cdfdbb713c0e3b6e85919a 100644 --- a/scipost_django/ethics/forms.py +++ b/scipost_django/ethics/forms.py @@ -28,6 +28,8 @@ class SubmissionCompetingInterestForm(forms.ModelForm): widgets = { "profile": forms.HiddenInput(), "declared_by": forms.HiddenInput(), + "date_from": forms.DateInput(attrs={"type": "date"}), + "date_until": forms.DateInput(attrs={"type": "date"}), } def __init__(self, *args, **kwargs): diff --git a/scipost_django/finances/forms.py b/scipost_django/finances/forms.py index d4f418a94ef191d9500c7a1009d876e757698e53..c4ce038193eec632a2a6b87c490c2cf32fdd998a 100644 --- a/scipost_django/finances/forms.py +++ b/scipost_django/finances/forms.py @@ -47,6 +47,11 @@ class SubsidyForm(forms.ModelForm): "renewable", "renewal_of", ] + widgets = { + "paid_on": forms.DateInput(attrs={"type": "date"}), + "date_from": forms.DateInput(attrs={"type": "date"}), + "date_until": forms.DateInput(attrs={"type": "date"}), + } class SubsidySearchForm(forms.Form): @@ -121,6 +126,9 @@ class SubsidyPaymentForm(forms.ModelForm): "invoice", "proof_of_payment", ) + widgets = { + "date_scheduled": forms.DateInput(attrs={"type": "date"}), + } def __init__(self, *args, **kwargs): subsidy = kwargs.pop("subsidy") @@ -215,9 +223,9 @@ class LogsFilterForm(forms.Form): empty_label="All", ) start = forms.DateField( - required=True, widget=forms.TextInput(attrs={"type": "date"}) + required=True, widget=forms.DateInput(attrs={"type": "date"}) ) - end = forms.DateField(required=True, widget=forms.TextInput(attrs={"type": "date"})) + end = forms.DateField(required=True, widget=forms.DateInput(attrs={"type": "date"})) hourly_rate = forms.FloatField(min_value=0, initial=WorkLog.HOURLY_RATE) def __init__(self, *args, **kwargs): diff --git a/scipost_django/forums/forms.py b/scipost_django/forums/forms.py index 0424de85258fc0a9c9ec09397f1f8c2f116ec97b..784148d2b50057906ef2caa17c080b75f6c0a658 100644 --- a/scipost_django/forums/forms.py +++ b/scipost_django/forums/forms.py @@ -58,11 +58,15 @@ class MeetingForm(ForumForm): "preamble", "minutes", ] + widgets = { + "preamble": TextareaWithPreview(), + "minutes": TextareaWithPreview(), + "date_from": forms.DateInput(attrs={"type": "date"}), + "date_until": forms.DateInput(attrs={"type": "date"}), + } def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.fields["preamble"].widget = TextareaWithPreview() - self.fields["minutes"].widget = TextareaWithPreview() if self.instance: self.fields["parent"].initial = self.instance.parent diff --git a/scipost_django/journals/forms.py b/scipost_django/journals/forms.py index 1e91e33da4860cc39118a462111ff9c636464184..1163c95ad4763cb05b37c8328c61f337812f8a93 100644 --- a/scipost_django/journals/forms.py +++ b/scipost_django/journals/forms.py @@ -450,6 +450,12 @@ class DraftPublicationForm(forms.ModelForm): "publication_date", ] + widgets = { + "submission_date": forms.DateInput(attrs={"type": "date"}), + "acceptance_date": forms.DateInput(attrs={"type": "date"}), + "publication_date": forms.DateInput(attrs={"type": "date"}), + } + def __init__( self, data=None, identifier_w_vn_nr=None, issue_id=None, *args, **kwargs ): @@ -831,6 +837,10 @@ class VolumeForm(forms.ModelForm): "until_date", "doi_label", ) + widgets = { + "start_date": forms.DateInput(attrs={"type": "date"}), + "until_date": forms.DateInput(attrs={"type": "date"}), + } def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -865,6 +875,10 @@ class IssueForm(forms.ModelForm): "status", "doi_label", ) + widgets = { + "start_date": forms.DateInput(attrs={"type": "date"}), + "until_date": forms.DateInput(attrs={"type": "date"}), + } def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/scipost_django/organizations/forms.py b/scipost_django/organizations/forms.py index a09fdc7056ffb61fdd01ac4e44307ed1a3df216a..1927081459e5b73317a10d311f7836d315a12f2f 100644 --- a/scipost_django/organizations/forms.py +++ b/scipost_django/organizations/forms.py @@ -267,6 +267,10 @@ class ContactRoleForm(forms.ModelForm): class Meta: model = ContactRole fields = "__all__" + widgets = { + "date_from": forms.DateInput(attrs={"type": "date"}), + "date_until": forms.DateInput(attrs={"type": "date"}), + } def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/scipost_django/proceedings/forms.py b/scipost_django/proceedings/forms.py index 0ab15c35344ab4656590d595338c97ea30d85021..9346487554aae6f9dea6e5b147d043b825e27f90 100644 --- a/scipost_django/proceedings/forms.py +++ b/scipost_django/proceedings/forms.py @@ -23,3 +23,10 @@ class ProceedingsForm(forms.ModelForm): "submissions_close", "template_latex_tgz", ) + widgets = { + "submissions_open": forms.DateInput(attrs={"type": "date"}), + "submissions_deadline": forms.DateInput(attrs={"type": "date"}), + "submissions_close": forms.DateInput(attrs={"type": "date"}), + "event_start_date": forms.DateInput(attrs={"type": "date"}), + "event_end_date": forms.DateInput(attrs={"type": "date"}), + } diff --git a/scipost_django/profiles/forms.py b/scipost_django/profiles/forms.py index c0fb44e36fce0e0156baee473d57f7707042dfb0..2fc9a9a755c0dd91796ac883d504ce0e4562fe4d 100644 --- a/scipost_django/profiles/forms.py +++ b/scipost_django/profiles/forms.py @@ -280,7 +280,8 @@ class AffiliationForm(forms.ModelForm): "date_from", "date_until", ] - - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - self.fields["profile"].widget = forms.HiddenInput() + widgets = { + "profile": forms.HiddenInput(), + "date_from": forms.DateInput(attrs={"type": "date"}), + "date_until": forms.DateInput(attrs={"type": "date"}), + } diff --git a/scipost_django/scipost/forms.py b/scipost_django/scipost/forms.py index 6daea1fc8a0711643983eb88c850e148bc874e1b..c224243ae48df54812c702568ac8adb537742197 100644 --- a/scipost_django/scipost/forms.py +++ b/scipost_django/scipost/forms.py @@ -605,11 +605,13 @@ class UnavailabilityPeriodForm(forms.ModelForm): class Meta: model = UnavailabilityPeriod fields = ["start", "end"] + widgets = { + "start": forms.DateInput(attrs={"type": "date"}), + "end": forms.DateInput(attrs={"type": "date"}), + } def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.fields["start"].widget.attrs.update({"placeholder": "YYYY-MM-DD"}) - self.fields["end"].widget.attrs.update({"placeholder": "YYYY-MM-DD"}) self.helper = FormHelper() self.helper.layout = Layout( Div( diff --git a/scipost_django/submissions/forms/__init__.py b/scipost_django/submissions/forms/__init__.py index 934925e9fa945fefd14d0b824926f404fd6923d4..3c6276b36e72c6122f1a5cedabffcd435df9f9a6 100644 --- a/scipost_django/submissions/forms/__init__.py +++ b/scipost_django/submissions/forms/__init__.py @@ -2200,10 +2200,7 @@ class ConsiderRefereeInvitationForm(forms.Form): class SetRefereeingDeadlineForm(forms.Form): deadline = forms.DateField( label="", - widget=forms.SelectDateWidget( - years=[timezone.now().year + i for i in range(2)], - empty_label=("Year", "Month", "Day"), - ), + widget=forms.DateInput(attrs={"type": "date"}), ) def clean_deadline(self): diff --git a/scipost_django/theses/forms.py b/scipost_django/theses/forms.py index d1fc1d8828f6f8a1b4d9f7ac1b62da44a37665ea..bba87be50c4c4cfa81dee7d7530f4b1cd5aa5568 100644 --- a/scipost_django/theses/forms.py +++ b/scipost_django/theses/forms.py @@ -35,7 +35,7 @@ class BaseRequestThesisLinkForm(forms.ModelForm): "abstract", ] widgets = { - "defense_date": forms.SelectDateWidget(years=past_years(50)), + "defense_date": forms.DateInput(attrs={"type": "date"}), "pub_link": forms.TextInput(attrs={"placeholder": "Full URL"}), }