feat: update personal stats and cms change reuqest method
This commit is contained in:
@@ -47,10 +47,25 @@ class CmsInstitutionViewSet(viewsets.ModelViewSet):
|
||||
filter_backends = [DjangoFilterBackend, filters.SearchFilter]
|
||||
filterset_fields = ['type', 'province', 'city']
|
||||
search_fields = ['name', 'code']
|
||||
# 仅允许 GET/POST/PATCH/DELETE,编辑统一走 PATCH(屏蔽 PUT)
|
||||
http_method_names = ['get', 'post', 'patch', 'delete', 'head', 'options']
|
||||
# 仅 GET / POST:查=GET,增删改=POST(编辑→{id}/update/,停用→{id}/disable/)
|
||||
http_method_names = ['get', 'post', 'head', 'options']
|
||||
|
||||
# destroy 走 ModelViewSet 默认实现:instance.delete() 经 SoftDeleteModel 改为逻辑删除(停用)
|
||||
@extend_schema(summary='CMS-INST-3 编辑机构', tags=['CMS-机构'])
|
||||
@action(detail=True, methods=['post'], url_path='update')
|
||||
def update_inst(self, request, pk=None):
|
||||
"""编辑机构(POST 局部更新,等价旧 PATCH /{id}/)。"""
|
||||
instance = self.get_object()
|
||||
serializer = self.get_serializer(instance, data=request.data, partial=True)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
serializer.save()
|
||||
return Response(serializer.data)
|
||||
|
||||
@extend_schema(summary='CMS-INST-4 停用机构(逻辑删除)', tags=['CMS-机构'])
|
||||
@action(detail=True, methods=['post'], url_path='disable')
|
||||
def disable(self, request, pk=None):
|
||||
"""停用机构(软删除,等价旧 DELETE /{id}/)。"""
|
||||
self.get_object().delete()
|
||||
return Response({'message': '已停用'})
|
||||
|
||||
@extend_schema(summary='CMS-INST-6 上传机构 Banner 图', tags=['CMS-机构'])
|
||||
@action(detail=True, methods=['post'], url_path='banner',
|
||||
@@ -134,8 +149,6 @@ class CmsInstitutionViewSet(viewsets.ModelViewSet):
|
||||
list=extend_schema(summary='CMS-DEPT-1 科室列表(全局)', tags=['CMS-科室']),
|
||||
create=extend_schema(summary='CMS-DEPT-2 新增科室', tags=['CMS-科室']),
|
||||
retrieve=extend_schema(summary='科室详情', tags=['CMS-科室']),
|
||||
partial_update=extend_schema(summary='CMS-DEPT-3 编辑科室', tags=['CMS-科室']),
|
||||
destroy=extend_schema(summary='CMS-DEPT-4 停用科室(逻辑删除)', tags=['CMS-科室']),
|
||||
)
|
||||
class CmsDepartmentViewSet(viewsets.ModelViewSet):
|
||||
"""CMS 科室管理(全局科室)—— 仅超级管理员。停用为逻辑删除。"""
|
||||
@@ -145,7 +158,25 @@ class CmsDepartmentViewSet(viewsets.ModelViewSet):
|
||||
filter_backends = [DjangoFilterBackend, filters.SearchFilter]
|
||||
filterset_fields = ['category']
|
||||
search_fields = ['name']
|
||||
http_method_names = ['get', 'post', 'patch', 'delete', 'head', 'options']
|
||||
# 仅 GET / POST:查=GET,增删改=POST(编辑→{id}/update/,停用→{id}/disable/)
|
||||
http_method_names = ['get', 'post', 'head', 'options']
|
||||
|
||||
@extend_schema(summary='CMS-DEPT-3 编辑科室', tags=['CMS-科室'])
|
||||
@action(detail=True, methods=['post'], url_path='update')
|
||||
def update_dept(self, request, pk=None):
|
||||
"""编辑科室(POST 局部更新,等价旧 PATCH /{id}/)。"""
|
||||
instance = self.get_object()
|
||||
serializer = self.get_serializer(instance, data=request.data, partial=True)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
serializer.save()
|
||||
return Response(serializer.data)
|
||||
|
||||
@extend_schema(summary='CMS-DEPT-4 停用科室(逻辑删除)', tags=['CMS-科室'])
|
||||
@action(detail=True, methods=['post'], url_path='disable')
|
||||
def disable(self, request, pk=None):
|
||||
"""停用科室(软删除,等价旧 DELETE /{id}/)。"""
|
||||
self.get_object().delete()
|
||||
return Response({'message': '已停用'})
|
||||
|
||||
@extend_schema(summary='CMS-DEPT-6b 下载科室导入模板', tags=['CMS-科室'])
|
||||
@action(detail=False, methods=['get'], url_path='import-template')
|
||||
|
||||
Reference in New Issue
Block a user