4
4
5
5
from django .conf import settings
6
6
from django .db .models import Prefetch , Q
7
- from django .http .response import JsonResponse
8
7
from drf_spectacular .types import OpenApiTypes
9
8
from drf_spectacular .utils import OpenApiParameter , extend_schema
10
9
from rest_framework import generics , serializers , status , viewsets
34
33
AdvancedSearchResultExportSerializer ,
35
34
AdvancedSearchResultSerializer ,
36
35
AdvancedSearchSerializer ,
36
+ EntryAliasSerializer ,
37
37
EntryAttributeValueRestoreSerializer ,
38
- EntryAliasRetrieveSerializer ,
39
- EntryAliasUpdateSerializer ,
40
38
EntryBaseSerializer ,
41
39
EntryCopySerializer ,
42
40
EntryExportSerializer ,
46
44
EntryUpdateSerializer ,
47
45
GetEntryAttrReferralSerializer ,
48
46
)
49
- from entry .models import Attribute , AttributeValue , Entry , AliasEntry
47
+ from entry .models import AliasEntry , Attribute , AttributeValue , Entry
50
48
from entry .services import AdvancedSearchService
51
49
from entry .settings import CONFIG
52
50
from entry .settings import CONFIG as ENTRY_CONFIG
@@ -66,7 +64,8 @@ def has_object_permission(self, request: Request, view, obj) -> bool:
66
64
"destroy" : ACLType .Writable ,
67
65
"restore" : ACLType .Writable ,
68
66
"copy" : ACLType .Writable ,
69
- "list" : ACLType .Readable , # histories
67
+ "list_histories" : ACLType .Readable , # histories
68
+ "list_alias" : ACLType .Readable ,
70
69
}
71
70
72
71
if not user .has_permission (obj , permisson .get (view .action )):
@@ -86,7 +85,7 @@ def get_serializer_class(self):
86
85
"update" : serializers .Serializer ,
87
86
"copy" : EntryCopySerializer ,
88
87
"list" : EntryHistoryAttributeValueSerializer ,
89
- "list_alias" : AliasListAPI ,
88
+ "list_alias" : EntryAliasSerializer ,
90
89
}
91
90
return serializer .get (self .action , EntryBaseSerializer )
92
91
@@ -177,16 +176,13 @@ def copy(self, request: Request, *args, **kwargs) -> Response:
177
176
return Response ({}, status = status .HTTP_200_OK )
178
177
179
178
def list_alias (self , request : Request , * args , ** kwargs ) -> Response :
180
- print ("[onix/view.list_alias(00)]" )
181
- user : User = self .request .user
182
179
entry : Entry = self .get_object ()
183
180
184
181
self .queryset = AliasEntry .objects .filter (entry = entry , entry__is_active = True )
185
182
186
183
return super (EntryAPI , self ).list (request , * args , ** kwargs )
187
184
188
- # histories view
189
- def list (self , request : Request , * args , ** kwargs ) -> Response :
185
+ def list_histories (self , request : Request , * args , ** kwargs ) -> Response :
190
186
user : User = self .request .user
191
187
entry : Entry = self .get_object ()
192
188
@@ -840,25 +836,8 @@ def delete(self, request: Request, *args, **kwargs) -> Response:
840
836
return Response (status = status .HTTP_204_NO_CONTENT )
841
837
842
838
843
- class AliasListAPI (viewsets .ModelViewSet ):
844
- permission_classes = [IsAuthenticated & EntryPermission ]
845
- pagination_class = LimitOffsetPagination
846
- serializer_class = EntryAliasRetrieveSerializer
847
-
848
- def get_queryset (self , * args , ** kwargs ):
849
- # get all aliasentry items that are associated with specified entryid
850
- return aliasentry .objects .filter (entry__id = self .kwargs ["pk" ])
851
-
852
- class AliasUpdateAPI (viewsets .ModelViewSet ):
853
- # permission_classes = [IsAuthenticated & EntryPermission]
839
+ class EntryAliasAPI (viewsets .ModelViewSet ):
854
840
permission_classes = [IsAuthenticated ]
855
841
pagination_class = LimitOffsetPagination
842
+ serializer_class = EntryAliasSerializer
856
843
queryset = AliasEntry .objects .filter (entry__is_active = True )
857
-
858
- def get_serializer_class (self ):
859
- print ("[onix/view/get_serializer_class(00)] action: %s" % str (self .action ))
860
- serializer = {
861
- "create" : EntryAliasUpdateSerializer ,
862
- "destroy" : EntryAliasUpdateSerializer ,
863
- }
864
- return serializer .get (self .action , EntryAliasRetrieveSerializer )
0 commit comments