Support deleting the parsed content of a document

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
Roberto Rosario
2019-09-24 15:36:32 -04:00
parent fb53726888
commit d7818b64b0
11 changed files with 204 additions and 44 deletions

View File

@@ -15,7 +15,7 @@ from mayan.apps.documents.forms import DocumentTypeFilteredSelectForm
from mayan.apps.documents.models import Document, DocumentPage, DocumentType
from .forms import DocumentContentForm, DocumentPageContentForm
from .models import DocumentVersionParseError
from .models import DocumentPageContent, DocumentVersionParseError
from .permissions import (
permission_content_view, permission_document_type_parsing_setup,
permission_parse_document
@@ -23,6 +23,34 @@ from .permissions import (
from .utils import get_document_content
class DocumentContentDeleteView(MultipleObjectConfirmActionView):
model = Document
object_permission = permission_parse_document
success_message = 'Deleted parsed content of %(count)d document.'
success_message_plural = 'Deleted parsed content of %(count)d documents.'
def get_extra_context(self):
queryset = self.object_list
result = {
'title': ungettext(
singular='Delete the parsed content of the selected document?',
plural='Delete the parsed content of the selected documents?',
number=queryset.count()
)
}
if queryset.count() == 1:
result['object'] = queryset.first()
return result
def object_action(self, form, instance):
DocumentPageContent.objects.delete_content_for(
document=instance, user=self.request.user
)
class DocumentContentView(SingleObjectDetailView):
form_class = DocumentContentForm
model = Document