summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
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
commit2f042e2dc4e94d09a961bb54b608e48f25a4c5c8 (patch)
treec58e7555f9ad0c0d0846583ae7d089738315ad82 /ishtar_common
parent6fac36e62049aedcf50b1f22a1f0b22ba9941c75 (diff)
downloadIshtar-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.py9
-rw-r--r--ishtar_common/forms_common.py43
-rw-r--r--ishtar_common/views_item.py9
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"]