self.override_correspondent_id = None
self.override_tag_ids = None
self.override_document_type_id = None
+ self.override_asn = None
self.task_id = None
+ self.owner_id = None
self.channel_layer = get_channel_layer()
override_tag_ids=None,
task_id=None,
override_created=None,
+ override_asn=None,
+ override_owner_id=None,
) -> Document:
"""
Return the document object if it was successfully created.
self.override_tag_ids = override_tag_ids
self.task_id = task_id or str(uuid.uuid4())
self.override_created = override_created
+ self.override_asn = override_asn
+ self.override_owner_id = override_owner_id
self._send_progress(0, 100, "STARTING", MESSAGE_NEW_FILE)
for tag_id in self.override_tag_ids:
document.tags.add(Tag.objects.get(pk=tag_id))
+ if self.override_asn:
+ document.archive_serial_number = self.override_asn
+
+ if self.override_owner_id:
+ document.owner = User.objects.get(
+ pk=self.override_owner_id,
+ )
+
def _write(self, storage_type, source, target):
with open(source, "rb") as read_file:
with open(target, "wb") as write_file:
override_tag_ids=override_tag_ids,
task_id=task_id,
override_created=override_created,
+ override_asn=asn,
+ override_owner_id=override_owner_id,
)
if document:
return TagSerializer
pagination_class = StandardPagination
- permission_classes = (IsAuthenticated,)
- filter_backends = (DjangoFilterBackend, OrderingFilter)
+ permission_classes = (IsAuthenticated, PaperlessObjectPermissions)
+ filter_backends = (
+ DjangoFilterBackend,
+ OrderingFilter,
+ ObjectOwnedOrGrandtedPermissionsFilter,
+ )
filterset_class = TagFilterSet
- ordering_fields = ("name", "matching_algorithm", "match", "document_count")
+ ordering_fields = ("color", "name", "matching_algorithm", "match", "document_count")
-class DocumentTypeViewSet(ModelViewSet):
+class DocumentTypeViewSet(ModelViewSet, PassUserMixin):
model = DocumentType
queryset = DocumentType.objects.annotate(
pagination_class = StandardPagination
permission_classes = (IsAuthenticated,)
- # TODO: user-scoped
- # def get_queryset(self):
- # user = self.request.user
- # return MailAccount.objects.filter(user=user)
- # def perform_create(self, serializer):
- # serializer.save(user=self.request.user)
-
-
-class MailRuleViewSet(ModelViewSet):
+class MailRuleViewSet(ModelViewSet, PassUserMixin):
model = MailRule
- queryset = MailRule.objects.all().order_by("pk")
+ queryset = MailRule.objects.all().order_by("order")
serializer_class = MailRuleSerializer
pagination_class = StandardPagination
permission_classes = (IsAuthenticated,)