Compare commits

..

No commits in common. "6b248ef1406305d3c5cef66f5e98cbbb3409a59c" and "a9085c65c59ebe2823a6081fd0c5d2267feb4644" have entirely different histories.

3 changed files with 10 additions and 35 deletions

View File

@ -18,11 +18,7 @@ from django.core.validators import MaxLengthValidator
from django.core.validators import RegexValidator
from django.core.validators import integer_validator
from django.utils.crypto import get_random_string
from django.utils.dateparse import parse_datetime
from django.utils.text import slugify
from django.utils.timezone import get_current_timezone
from django.utils.timezone import is_naive
from django.utils.timezone import make_aware
from django.utils.translation import gettext as _
from drf_spectacular.utils import extend_schema_field
from drf_spectacular.utils import extend_schema_serializer
@ -976,11 +972,11 @@ class DocumentSerializer(
and ":" in data["created"]
):
# Handle old format of isoformat datetime string
parsed = parse_datetime(data["created"])
if parsed:
if is_naive(parsed):
parsed = make_aware(parsed, get_current_timezone())
data["created"] = parsed.astimezone().date()
try:
data["created"] = datetime.fromisoformat(data["created"]).date()
except ValueError: # pragma: no cover
# Just pass, validation will catch it
pass
return super().to_internal_value(data)
def validate(self, attrs):

View File

@ -203,27 +203,6 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data["created"], "2023-01-01")
# legacy datetime format
response = self.client.patch(
f"/api/documents/{doc.pk}/",
{"created": "2023-02-01T23:00:00Z"},
format="json",
)
self.assertEqual(response.status_code, status.HTTP_200_OK)
doc.refresh_from_db()
self.assertEqual(doc.created, date(2023, 2, 1))
# naive datetime
response = self.client.patch(
f"/api/documents/{doc.pk}/",
{"created": "2023-06-28T23:00:00"},
format="json",
)
self.assertEqual(response.status_code, status.HTTP_200_OK)
doc.refresh_from_db()
self.assertEqual(doc.created, date(2023, 6, 28))
def test_document_update_legacy_created_format(self):
"""
GIVEN:

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-29 04:39+0000\n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n"
"PO-Revision-Date: 2022-02-17 04:17\n"
"Last-Translator: \n"
"Language-Team: English\n"
@ -1176,21 +1176,21 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:139
#: documents/serialisers.py:135
#, python-format
msgid "Invalid regular expression: %(error)s"
msgstr ""
#: documents/serialisers.py:565
#: documents/serialisers.py:561
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:1649
#: documents/serialisers.py:1645
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/serialisers.py:1743
#: documents/serialisers.py:1739
msgid "Invalid variable detected."
msgstr ""