fix: 修改信息收集模块 权限查看不全问题“原因是 ImpMixin 引用问题”

This commit is contained in:
TianyangZhang 2025-12-30 15:11:05 +08:00
parent 196fa05dc0
commit d63984b86a
2 changed files with 6 additions and 26 deletions

View File

@ -52,7 +52,7 @@ class PolicyViewSet(OptimizationMixin, PageOrNot, CreateUpdateModelAMixin, Model
def can_view_top(self, user): def can_view_top(self, user):
if user.dept.type and user.dept.type.name == '部门': if user.dept.type and user.dept.type.name == '部门':
return True return True
elif user.dept.name in ['福建分公司', '河南分公司']: elif user.dept.name in ['福建分公司', '河南分公司', '河南分场所']:
return True return True
return False return False

View File

@ -95,7 +95,7 @@ class CreateUpdateCustomMixin:
serializer.save(update_by = self.request.user) serializer.save(update_by = self.request.user)
class AbilityReviewViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet): class AbilityReviewViewSet(RbacFilterSet, CreateUpdateCustomMixin, ImpMixin, ModelViewSet):
perms_map = {'get': '*', 'post': 'abilityreview', perms_map = {'get': '*', 'post': 'abilityreview',
'put': 'abilityreview', 'delete': 'abilityreview'} 'put': 'abilityreview', 'delete': 'abilityreview'}
queryset = AbilityReview.objects.select_related('quali').all() queryset = AbilityReview.objects.select_related('quali').all()
@ -103,18 +103,6 @@ class AbilityReviewViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixin, Mod
filterset_fields = ['belong_dept', 'judging_method', 'judging_type'] filterset_fields = ['belong_dept', 'judging_method', 'judging_type']
search_fields = ['name'] search_fields = ['name']
# def get_queryset(self):
# qs = super().get_queryset()
# if self.request.method == 'GET':
# return qs
# else:
# return qs.filter(belong_dept__in=get_child_queryset2(self.request.user.dept))
# if has_permission('ability_review_jygl', self.request.user):
# return qs
# return qs.filter(belong_dept__in=get_child_queryset2(self.request.user.dept))
#根据日期过滤数据 #根据日期过滤数据
@action(detail=False, methods=['post']) @action(detail=False, methods=['post'])
@transaction.atomic @transaction.atomic
@ -178,9 +166,7 @@ class AbilityReviewViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixin, Mod
""" """
return self.gen_imp_view(request, 2, AbilityReviewSerializer) return self.gen_imp_view(request, 2, AbilityReviewSerializer)
class QualityCommendationViewSet(RbacFilterSet, CreateUpdateCustomMixin, ImpMixin, ModelViewSet):
class QualityCommendationViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
queryset = QualityCommendation.objects.all() queryset = QualityCommendation.objects.all()
serializer_class = QualityCommendationSerializer serializer_class = QualityCommendationSerializer
perms_map = {'get': '*', 'post': 'qcom_create', perms_map = {'get': '*', 'post': 'qcom_create',
@ -249,7 +235,7 @@ class QualityCommendationViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixi
# 质量活动 # 质量活动
class QualityActivitiesViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet): class QualityActivitiesViewSet(RbacFilterSet, CreateUpdateCustomMixin, ImpMixin, ModelViewSet):
queryset = QualityActivities.objects.all() queryset = QualityActivities.objects.all()
serializer_class = QualityActivitiesSerializer serializer_class = QualityActivitiesSerializer
perms_map = {'get': '*', 'post': 'qactivate_create', perms_map = {'get': '*', 'post': 'qactivate_create',
@ -316,7 +302,7 @@ class QualityActivitiesViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixin,
return self.gen_imp_view(request, 2, QualityActivitiesSerializer) return self.gen_imp_view(request, 2, QualityActivitiesSerializer)
class ContactViewSet(ImpMixin, CreateUpdateCustomMixin, ModelViewSet): class ContactViewSet(CreateUpdateCustomMixin, ImpMixin, ModelViewSet):
queryset = Contact.objects.all() queryset = Contact.objects.all()
serializer_class = ContactSerializer serializer_class = ContactSerializer
perms_map = {'get': '*', 'post': 'contact_create', perms_map = {'get': '*', 'post': 'contact_create',
@ -417,7 +403,7 @@ class ParsePdfViewSet(RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
# return Response({"message":"解析成功", "url":save_path}, status = status.HTTP_200_OK) # return Response({"message":"解析成功", "url":save_path}, status = status.HTTP_200_OK)
class ExternalAuditorsViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet): class ExternalAuditorsViewSet(RbacFilterSet, CreateUpdateCustomMixin, ImpMixin, ModelViewSet):
queryset = ExternalAuditors.objects.all() queryset = ExternalAuditors.objects.all()
serializer_class = ExternalAuditorsSerializer serializer_class = ExternalAuditorsSerializer
perms_map = {'get': '*', 'post': 'ea_create', perms_map = {'get': '*', 'post': 'ea_create',
@ -483,7 +469,6 @@ class QualificationViewSet(CreateUpdateCustomMixin, ModelViewSet):
perms_map = {'get': '*', 'post': 'qa_create', perms_map = {'get': '*', 'post': 'qa_create',
'put': 'qa_update', 'delete': 'qa_delete'} 'put': 'qa_update', 'delete': 'qa_delete'}
class AuditLogViewSet(RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet): class AuditLogViewSet(RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
queryset = AuditLog.objects.select_related('instance').all() queryset = AuditLog.objects.select_related('instance').all()
serializer_class = AuditLogSerializer serializer_class = AuditLogSerializer
@ -491,14 +476,12 @@ class AuditLogViewSet(RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
perms_map = {'get': '*', 'post': 'aud_create', perms_map = {'get': '*', 'post': 'aud_create',
'put': 'aud_update', 'delete': 'aud_delete'} 'put': 'aud_update', 'delete': 'aud_delete'}
class QualiChangeViewSet(RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet): class QualiChangeViewSet(RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
queryset = Qualification.objects.all() queryset = Qualification.objects.all()
serializer_class = Qualification2Serializer serializer_class = Qualification2Serializer
perms_map = {'get': '*', 'post': 'qchange_create', perms_map = {'get': '*', 'post': 'qchange_create',
'put': 'qchange_update', 'patch': 'qchange_update', 'delete': 'qchange_delete'} 'put': 'qchange_update', 'patch': 'qchange_update', 'delete': 'qchange_delete'}
# 重写更新的方法 # 重写更新的方法
def update(self, request, pk=None): def update(self, request, pk=None):
#获取需要更新的实列 #获取需要更新的实列
@ -528,9 +511,7 @@ class QualiChangeViewSet(RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
) )
return Response(serializers.data, status = status.HTTP_204_NO_CONTENT) return Response(serializers.data, status = status.HTTP_204_NO_CONTENT)
class sendMsgInfo(APIView): class sendMsgInfo(APIView):
def post(self, request): def post(self, request):
# 获取角色名称 # 获取角色名称
names = request.data['names'] names = request.data['names']
@ -548,7 +529,6 @@ class sendMsgInfo(APIView):
sendmessage(subject,message, user) sendmessage(subject,message, user)
return Response({"message":"发送成功"}, status = status.HTTP_200_OK) return Response({"message":"发送成功"}, status = status.HTTP_200_OK)
class yearReportViewset(RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet): class yearReportViewset(RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
queryset = YearReport.objects.all() queryset = YearReport.objects.all()
serializer_class = YearReportSerializer serializer_class = YearReportSerializer