Bulk edit too
This commit is contained in:
parent
dbcce06442
commit
b6de46379d
@ -159,13 +159,20 @@ def modify_custom_fields(doc_ids: list[int], add_custom_fields, remove_custom_fi
|
|||||||
|
|
||||||
@shared_task
|
@shared_task
|
||||||
def delete(doc_ids: list[int]):
|
def delete(doc_ids: list[int]):
|
||||||
Document.objects.filter(id__in=doc_ids).delete()
|
try:
|
||||||
|
Document.objects.filter(id__in=doc_ids).delete()
|
||||||
|
|
||||||
from documents import index
|
from documents import index
|
||||||
|
|
||||||
with index.open_index_writer() as writer:
|
with index.open_index_writer() as writer:
|
||||||
for id in doc_ids:
|
for id in doc_ids:
|
||||||
index.remove_document_by_id(writer, id)
|
index.remove_document_by_id(writer, id)
|
||||||
|
except Exception as e:
|
||||||
|
if "Data too long for column" in str(e):
|
||||||
|
logger.warning(
|
||||||
|
"Detected a possible incompatible database column. See https://docs.paperless-ngx.com/troubleshooting/#convert-uuid-field",
|
||||||
|
)
|
||||||
|
logger.error(f"Error deleting documents: {e!s}")
|
||||||
|
|
||||||
return "OK"
|
return "OK"
|
||||||
|
|
||||||
|
@ -327,6 +327,15 @@ class TestBulkEdit(DirectoriesMixin, TestCase):
|
|||||||
)
|
)
|
||||||
self.assertEqual(groups_with_perms.count(), 2)
|
self.assertEqual(groups_with_perms.count(), 2)
|
||||||
|
|
||||||
|
@mock.patch("documents.models.Document.delete")
|
||||||
|
def test_delete_documents_old_uuid_field(self, m):
|
||||||
|
m.side_effect = Exception("Data too long for column 'transaction_id' at row 1")
|
||||||
|
doc_ids = [self.doc1.id, self.doc2.id, self.doc3.id]
|
||||||
|
bulk_edit.delete(doc_ids)
|
||||||
|
with self.assertLogs(level="WARNING") as cm:
|
||||||
|
bulk_edit.delete(doc_ids)
|
||||||
|
self.assertIn("possible incompatible database column", cm.output[0])
|
||||||
|
|
||||||
|
|
||||||
class TestPDFActions(DirectoriesMixin, TestCase):
|
class TestPDFActions(DirectoriesMixin, TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user