This commit is contained in:
shijing 2023-09-01 15:23:12 +08:00
commit 40cc5fc5b9
1 changed files with 15 additions and 17 deletions

View File

@ -20,7 +20,6 @@ class CertificateViewSet(CreateUpdateCustomMixin, ModelViewSet):
'put': 'certificate', 'delete': 'certificate'} 'put': 'certificate', 'delete': 'certificate'}
queryset = Certificate.objects.all() queryset = Certificate.objects.all()
serializer_class = CertificateSerializer serializer_class = CertificateSerializer
pagination_class = None
search_fields = ['姓名', '证书编号', '所属单位'] search_fields = ['姓名', '证书编号', '所属单位']
filterset_fields = ['是否内审员','是否授权签字人', '是否质量负责人', '是否最高管理者', '姓名', '证书编号', '所属单位', '单位名称'] filterset_fields = ['是否内审员','是否授权签字人', '是否质量负责人', '是否最高管理者', '姓名', '证书编号', '所属单位', '单位名称']
ordering = ['-create_time'] ordering = ['-create_time']
@ -35,10 +34,7 @@ class CertificateViewSet(CreateUpdateCustomMixin, ModelViewSet):
return [AllowAny()] return [AllowAny()]
return super().get_permissions() return super().get_permissions()
def retrieve(self, request, *args, **kwargs): def make_img_x(self, instance):
regen_img = request.query_params.get('regen_img', False)
instance = self.get_object()
if not instance.证书地址 or regen_img:
titles = [] titles = []
if instance.是否内审员: if instance.是否内审员:
titles.append('内审员') titles.append('内审员')
@ -50,6 +46,12 @@ class CertificateViewSet(CreateUpdateCustomMixin, ModelViewSet):
titles.append('最高管理者') titles.append('最高管理者')
instance.证书地址 = make_img(instance.证书编号, instance.姓名, ''.join(titles)) instance.证书地址 = make_img(instance.证书编号, instance.姓名, ''.join(titles))
instance.save() instance.save()
def retrieve(self, request, *args, **kwargs):
regen_img = request.query_params.get('regen_img', False)
instance = self.get_object()
if not instance.证书地址 or regen_img:
self.make_img_x(instance)
serializer = self.get_serializer(instance) serializer = self.get_serializer(instance)
return Response(serializer.data) return Response(serializer.data)
@ -86,9 +88,5 @@ class CertificateViewSet(CreateUpdateCustomMixin, ModelViewSet):
data = {} data = {}
data = self.make_data(data, sheet, i) data = self.make_data(data, sheet, i)
obj, created = Certificate.objects.update_or_create(defaults=data, 证书编号=data['证书编号']) obj, created = Certificate.objects.update_or_create(defaults=data, 证书编号=data['证书编号'])
# if created:
# print(f'已创建证书-{data["姓名"]}-{data["证书编号"]}')
# else:
# print(f'已更新证书-{data["姓名"]}-{data["证书编号"]}')
i = i + 1 i = i + 1
return Response() return Response()