mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-21 10:29:29 -05:00
More perms stuff, some doesnt work
This commit is contained in:
parent
0aad777c3f
commit
add7c627ab
@ -238,6 +238,39 @@ class OwnedObjectSerializer(
|
|||||||
except KeyError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@extend_schema_field(
|
||||||
|
field={
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"view": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"users": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {"type": "integer"},
|
||||||
|
},
|
||||||
|
"groups": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {"type": "integer"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"change": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"users": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {"type": "integer"},
|
||||||
|
},
|
||||||
|
"groups": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {"type": "integer"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
)
|
||||||
def get_permissions(self, obj) -> dict:
|
def get_permissions(self, obj) -> dict:
|
||||||
view_codename = f"view_{obj.__class__.__name__.lower()}"
|
view_codename = f"view_{obj.__class__.__name__.lower()}"
|
||||||
change_codename = f"change_{obj.__class__.__name__.lower()}"
|
change_codename = f"change_{obj.__class__.__name__.lower()}"
|
||||||
|
@ -262,6 +262,29 @@ class PermissionsAwareDocumentCountMixin(PassUserMixin):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
full_perms_schema = {
|
||||||
|
"list": extend_schema(
|
||||||
|
parameters=[
|
||||||
|
OpenApiParameter(
|
||||||
|
name="full_perms",
|
||||||
|
type=OpenApiTypes.BOOL,
|
||||||
|
location=OpenApiParameter.QUERY,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
"retrieve": extend_schema(
|
||||||
|
parameters=[
|
||||||
|
OpenApiParameter(
|
||||||
|
name="full_perms",
|
||||||
|
type=OpenApiTypes.BOOL,
|
||||||
|
location=OpenApiParameter.QUERY,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@extend_schema_view(**full_perms_schema)
|
||||||
class CorrespondentViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
class CorrespondentViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
||||||
model = Correspondent
|
model = Correspondent
|
||||||
|
|
||||||
@ -298,6 +321,7 @@ class CorrespondentViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
|||||||
return super().retrieve(request, *args, **kwargs)
|
return super().retrieve(request, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
@extend_schema_view(**full_perms_schema)
|
||||||
class TagViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
class TagViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
||||||
model = Tag
|
model = Tag
|
||||||
|
|
||||||
@ -322,6 +346,7 @@ class TagViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
|||||||
ordering_fields = ("color", "name", "matching_algorithm", "match", "document_count")
|
ordering_fields = ("color", "name", "matching_algorithm", "match", "document_count")
|
||||||
|
|
||||||
|
|
||||||
|
@extend_schema_view(**full_perms_schema)
|
||||||
class DocumentTypeViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
class DocumentTypeViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
||||||
model = DocumentType
|
model = DocumentType
|
||||||
|
|
||||||
@ -340,6 +365,36 @@ class DocumentTypeViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
|||||||
|
|
||||||
|
|
||||||
@extend_schema_view(
|
@extend_schema_view(
|
||||||
|
list=extend_schema(
|
||||||
|
parameters=[
|
||||||
|
OpenApiParameter(
|
||||||
|
name="full_perms",
|
||||||
|
type=OpenApiTypes.BOOL,
|
||||||
|
location=OpenApiParameter.QUERY,
|
||||||
|
),
|
||||||
|
OpenApiParameter(
|
||||||
|
name="fields",
|
||||||
|
type=OpenApiTypes.STR,
|
||||||
|
many=True,
|
||||||
|
location=OpenApiParameter.QUERY,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
retrieve=extend_schema(
|
||||||
|
parameters=[
|
||||||
|
OpenApiParameter(
|
||||||
|
name="full_perms",
|
||||||
|
type=OpenApiTypes.BOOL,
|
||||||
|
location=OpenApiParameter.QUERY,
|
||||||
|
),
|
||||||
|
OpenApiParameter(
|
||||||
|
name="fields",
|
||||||
|
type=OpenApiTypes.STR,
|
||||||
|
many=True,
|
||||||
|
location=OpenApiParameter.QUERY,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
download=extend_schema(
|
download=extend_schema(
|
||||||
description="Download the document",
|
description="Download the document",
|
||||||
parameters=[
|
parameters=[
|
||||||
@ -1958,6 +2013,7 @@ class BulkDownloadView(GenericAPIView):
|
|||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
@extend_schema_view(**full_perms_schema)
|
||||||
class StoragePathViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
class StoragePathViewSet(ModelViewSet, PermissionsAwareDocumentCountMixin):
|
||||||
model = StoragePath
|
model = StoragePath
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user