mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-03-24 01:42:44 +00:00
Compare commits
2 Commits
chore/plug
...
release/v2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3cfe9fa2a8 | ||
|
|
3292a0e7cc |
@@ -967,6 +967,8 @@ class CustomFieldInstanceSerializer(serializers.ModelSerializer):
|
|||||||
getattr(request, "user", None) if request is not None else None,
|
getattr(request, "user", None) if request is not None else None,
|
||||||
doc_ids,
|
doc_ids,
|
||||||
)
|
)
|
||||||
|
elif field.data_type == CustomField.FieldDataType.DATE:
|
||||||
|
data["value"] = serializers.DateField().to_internal_value(data["value"])
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|||||||
@@ -1425,3 +1425,41 @@ class TestCustomFieldsAPI(DirectoriesMixin, APITestCase):
|
|||||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
results = response.data["results"]
|
results = response.data["results"]
|
||||||
self.assertEqual(results[0]["document_count"], 0)
|
self.assertEqual(results[0]["document_count"], 0)
|
||||||
|
|
||||||
|
def test_patch_document_invalid_date_custom_field_returns_validation_error(self):
|
||||||
|
"""
|
||||||
|
GIVEN:
|
||||||
|
- A date custom field
|
||||||
|
- A document
|
||||||
|
WHEN:
|
||||||
|
- Patching the document with a date string in the wrong format
|
||||||
|
THEN:
|
||||||
|
- HTTP 400 is returned instead of an internal server error
|
||||||
|
- No custom field instance is created
|
||||||
|
"""
|
||||||
|
cf_date = CustomField.objects.create(
|
||||||
|
name="datefield",
|
||||||
|
data_type=CustomField.FieldDataType.DATE,
|
||||||
|
)
|
||||||
|
doc = Document.objects.create(
|
||||||
|
title="Doc",
|
||||||
|
checksum="123",
|
||||||
|
mime_type="application/pdf",
|
||||||
|
)
|
||||||
|
|
||||||
|
response = self.client.patch(
|
||||||
|
f"/api/documents/{doc.pk}/",
|
||||||
|
{
|
||||||
|
"custom_fields": [
|
||||||
|
{
|
||||||
|
"field": cf_date.pk,
|
||||||
|
"value": "10.03.2026",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
format="json",
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||||
|
self.assertIn("custom_fields", response.data)
|
||||||
|
self.assertEqual(CustomFieldInstance.objects.count(), 0)
|
||||||
|
|||||||
@@ -472,6 +472,7 @@ class MailAccountHandler(LoggingMixin):
|
|||||||
name=name,
|
name=name,
|
||||||
defaults={
|
defaults={
|
||||||
"match": name,
|
"match": name,
|
||||||
|
"matching_algorithm": Correspondent.MATCH_LITERAL,
|
||||||
},
|
},
|
||||||
)[0]
|
)[0]
|
||||||
except DatabaseError as e:
|
except DatabaseError as e:
|
||||||
|
|||||||
@@ -448,7 +448,7 @@ class TestMail(
|
|||||||
c = handler._get_correspondent(message, rule)
|
c = handler._get_correspondent(message, rule)
|
||||||
self.assertIsNotNone(c)
|
self.assertIsNotNone(c)
|
||||||
self.assertEqual(c.name, "someone@somewhere.com")
|
self.assertEqual(c.name, "someone@somewhere.com")
|
||||||
self.assertEqual(c.matching_algorithm, MatchingModel.MATCH_ANY)
|
self.assertEqual(c.matching_algorithm, MatchingModel.MATCH_LITERAL)
|
||||||
self.assertEqual(c.match, "someone@somewhere.com")
|
self.assertEqual(c.match, "someone@somewhere.com")
|
||||||
c = handler._get_correspondent(message2, rule)
|
c = handler._get_correspondent(message2, rule)
|
||||||
self.assertIsNotNone(c)
|
self.assertIsNotNone(c)
|
||||||
|
|||||||
Reference in New Issue
Block a user