diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-06-25 11:17:25 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-06-25 11:21:32 +0200 |
commit | 2f042e2dc4e94d09a961bb54b608e48f25a4c5c8 (patch) | |
tree | c58e7555f9ad0c0d0846583ae7d089738315ad82 /ishtar_common | |
parent | 6fac36e62049aedcf50b1f22a1f0b22ba9941c75 (diff) | |
download | Ishtar-2f042e2dc4e94d09a961bb54b608e48f25a4c5c8.tar.bz2 Ishtar-2f042e2dc4e94d09a961bb54b608e48f25a4c5c8.zip |
🐛 Forms: fix date validation not possible when switching to english (refs #5837)
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/forms.py | 9 | ||||
-rw-r--r-- | ishtar_common/forms_common.py | 43 | ||||
-rw-r--r-- | ishtar_common/views_item.py | 9 |
3 files changed, 22 insertions, 39 deletions
diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index ec2603bb9..9ee241919 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -26,6 +26,7 @@ from markdown import markdown import re import types +from bootstrap_datepicker.widgets import DateField from django import forms from django.apps import apps from django.conf import settings @@ -958,9 +959,7 @@ class HistorySelect(CustomForm, TableSelect): ), required=False, ) - created = forms.DateField( - label=_("Created"), widget=DatePicker, required=False - ) + created = DateField(label=_("Created"), required=False) history_modifier = forms.IntegerField( label=_("Last modified by"), widget=widgets.JQueryAutoComplete( @@ -968,9 +967,7 @@ class HistorySelect(CustomForm, TableSelect): ), required=False, ) - modified = forms.DateField( - label=_("Modified"), widget=DatePicker, required=False - ) + modified = DateField(label=_("Modified"), required=False) locked = forms.NullBooleanField(label=_("Is locked?")) _explicit_ordering = True diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 672acfae1..261bba4af 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -29,8 +29,8 @@ import tempfile from urllib.parse import urlparse, quote import zipfile +from bootstrap_datepicker.widgets import DateField from django import forms -from django.apps import apps from django.conf import settings from django.contrib.auth import password_validation from django.contrib.auth.models import User @@ -54,7 +54,6 @@ from django.utils.translation import ugettext_lazy as _, pgettext from . import models, models_rest from .models_imports import FORMATER_WIDGETS_DCT from . import widgets -from bootstrap_datepicker.widgets import DatePicker from ishtar_common.templatetags.link_to_window import simple_link_to_window from .forms import ( FinalForm, @@ -2157,15 +2156,9 @@ class DocumentForm(forms.ModelForm, CustomForm, ManageOldType): validators=[validators.MaxLengthValidator(100)], required=False, ) - receipt_date = forms.DateField( - label=_("Receipt date"), required=False, widget=DatePicker - ) - creation_date = forms.DateField( - label=_("Creation date"), required=False, widget=DatePicker - ) - receipt_date_in_documentation = forms.DateField( - label=_("Receipt date in documentation"), required=False, widget=DatePicker - ) + receipt_date = DateField(label=_("Receipt date"), required=False) + creation_date = DateField(label=_("Creation date"), required=False) + receipt_date_in_documentation = DateField(label=_("Receipt date in documentation"), required=False) comment = forms.CharField(label=_("Comment"), widget=forms.Textarea, required=False) description = forms.CharField( label=_("Description"), widget=forms.Textarea, required=False @@ -2566,24 +2559,12 @@ class DocumentSelect(HistorySelect): ) town = get_town_field() area = widgets.Select2SimpleField(label=_("Area")) - receipt_date__before = forms.DateField( - label=_("Receipt date before"), widget=DatePicker - ) - receipt_date__after = forms.DateField( - label=_("Receipt date after"), widget=DatePicker - ) - creation_date__before = forms.DateField( - label=_("Creation date before"), widget=DatePicker - ) - creation_date__after = forms.DateField( - label=_("Creation date after"), widget=DatePicker - ) - receipt_date_in_documentation__before = forms.DateField( - label=_("Receipt date before"), widget=DatePicker - ) - receipt_date_in_documentation__after = forms.DateField( - label=_("Receipt date after"), widget=DatePicker - ) + receipt_date__before = DateField(label=_("Receipt date before")) + receipt_date__after = DateField(label=_("Receipt date after")) + creation_date__before = DateField(label=_("Creation date before")) + creation_date__after = DateField(label=_("Creation date after")) + receipt_date_in_documentation__before = DateField(label=_("Receipt date before")) + receipt_date_in_documentation__after = DateField(label=_("Receipt date after")) TYPES = [ FieldType("source_type", models.SourceType), @@ -2665,9 +2646,7 @@ class QADocumentFormMulti(QAForm): qa_authors = widgets.ModelJQueryAutocompleteField( model=models.Author, label=_("Author"), new=True, required=False ) - qa_creation_date = forms.DateField( - label=_("Creation date"), widget=DatePicker, required=False - ) + qa_creation_date = DateField(label=_("Creation date"), required=False) qa_format_type = forms.ChoiceField(label=_("Format"), choices=[], required=False) qa_support_type = forms.ChoiceField(label=_("Medium"), choices=[], required=False) qa_scale = forms.CharField(label=_("Scale"), max_length=30, required=False) diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index f6d61cc1a..6f99ba7a2 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -1098,7 +1098,14 @@ def _manage_date(k, dct): "%Y-%m-%d" ))) except ValueError: - pass + try: + # try US format + results.append(( + date_type, + datetime.datetime(*map(lambda x: int(x), reversed(items))).strftime("%Y-%m-%d") + )) + except ValueError: + pass mins = [value for dt, value in results if dt == "gte"] maxs = [value for dt, value in results if dt == "lte"] eqs = [value for dt, value in results if dt == "eq"] |