正在显示
5 个修改的文件
包含
72 行增加
和
25 行删除
| 1 | +# Generated by Django 3.1.1 on 2020-10-14 06:41 | ||
| 2 | + | ||
| 3 | +from django.conf import settings | ||
| 4 | +from django.db import migrations, models | ||
| 5 | +import django.db.models.deletion | ||
| 6 | + | ||
| 7 | + | ||
| 8 | +class Migration(migrations.Migration): | ||
| 9 | + | ||
| 10 | + dependencies = [ | ||
| 11 | + migrations.swappable_dependency(settings.AUTH_USER_MODEL), | ||
| 12 | + ('project', '0002_auto_20201008_1634'), | ||
| 13 | + ] | ||
| 14 | + | ||
| 15 | + operations = [ | ||
| 16 | + migrations.AlterModelOptions( | ||
| 17 | + name='project', | ||
| 18 | + options={'ordering': ('is_done',)}, | ||
| 19 | + ), | ||
| 20 | + migrations.AlterField( | ||
| 21 | + model_name='auditor', | ||
| 22 | + name='user', | ||
| 23 | + field=models.ForeignKey(choices=[(2, '邓望明'), (3, '杜波')], on_delete=django.db.models.deletion.CASCADE, related_name='aud', to=settings.AUTH_USER_MODEL, verbose_name='审批人员'), | ||
| 24 | + ), | ||
| 25 | + migrations.AlterField( | ||
| 26 | + model_name='project', | ||
| 27 | + name='is_pass', | ||
| 28 | + field=models.BooleanField(blank=True, null=True, verbose_name='是否通过'), | ||
| 29 | + ), | ||
| 30 | + ] |
| 1 | +# Generated by Django 3.1.1 on 2020-10-14 07:13 | ||
| 2 | + | ||
| 3 | +from django.db import migrations | ||
| 4 | + | ||
| 5 | + | ||
| 6 | +class Migration(migrations.Migration): | ||
| 7 | + | ||
| 8 | + dependencies = [ | ||
| 9 | + ('project', '0003_auto_20201014_1441'), | ||
| 10 | + ] | ||
| 11 | + | ||
| 12 | + operations = [ | ||
| 13 | + migrations.AlterModelOptions( | ||
| 14 | + name='result', | ||
| 15 | + options={'ordering': ('pk',)}, | ||
| 16 | + ), | ||
| 17 | + ] |
| @@ -38,7 +38,7 @@ class Project(models.Model): | @@ -38,7 +38,7 @@ class Project(models.Model): | ||
| 38 | attachments = models.CharField(max_length=800, default="", verbose_name="附件地址") | 38 | attachments = models.CharField(max_length=800, default="", verbose_name="附件地址") |
| 39 | auditor = models.ManyToManyField(Auditor, related_name="project_auditor", blank=True, verbose_name="审核人员") | 39 | auditor = models.ManyToManyField(Auditor, related_name="project_auditor", blank=True, verbose_name="审核人员") |
| 40 | is_done = models.BooleanField(default=False, blank=True, verbose_name="是否完成") | 40 | is_done = models.BooleanField(default=False, blank=True, verbose_name="是否完成") |
| 41 | - is_pass = models.BooleanField(default=False, blank=True, verbose_name="是否通过") | 41 | + is_pass = models.BooleanField(null=True, blank=True, verbose_name="是否通过") |
| 42 | create_time = models.DateTimeField(auto_now_add=True) | 42 | create_time = models.DateTimeField(auto_now_add=True) |
| 43 | creator = models.ForeignKey(User, related_name="project_creator", on_delete=models.CASCADE, verbose_name="创建人员") | 43 | creator = models.ForeignKey(User, related_name="project_creator", on_delete=models.CASCADE, verbose_name="创建人员") |
| 44 | 44 | ||
| @@ -46,7 +46,7 @@ class Project(models.Model): | @@ -46,7 +46,7 @@ class Project(models.Model): | ||
| 46 | return self.category + '-' + self.model_type | 46 | return self.category + '-' + self.model_type |
| 47 | 47 | ||
| 48 | class Meta: | 48 | class Meta: |
| 49 | - ordering = ('is_done', 'create_time') | 49 | + ordering = ('is_done',) |
| 50 | 50 | ||
| 51 | 51 | ||
| 52 | class Result(models.Model): | 52 | class Result(models.Model): |
| @@ -65,5 +65,5 @@ class Result(models.Model): | @@ -65,5 +65,5 @@ class Result(models.Model): | ||
| 65 | return self.is_accept | 65 | return self.is_accept |
| 66 | 66 | ||
| 67 | class Meta: | 67 | class Meta: |
| 68 | - ordering = ('-create_time', ) | 68 | + ordering = ('pk', ) |
| 69 | 69 |
| @@ -16,13 +16,14 @@ class AuditorSerializer(serializers.ModelSerializer): | @@ -16,13 +16,14 @@ class AuditorSerializer(serializers.ModelSerializer): | ||
| 16 | 16 | ||
| 17 | class ProjectSerializer(serializers.ModelSerializer): | 17 | class ProjectSerializer(serializers.ModelSerializer): |
| 18 | result = serializers.ReadOnlyField() | 18 | result = serializers.ReadOnlyField() |
| 19 | - cur_auditor = serializers.ReadOnlyField() | 19 | + # cur_auditor = serializers.ReadOnlyField() |
| 20 | + creator_name = serializers.ReadOnlyField() | ||
| 20 | 21 | ||
| 21 | class Meta: | 22 | class Meta: |
| 22 | model = Project | 23 | model = Project |
| 23 | fields = ( | 24 | fields = ( |
| 24 | - 'id', 'result', 'creator', 'category', 'model_type', 'market_share_analysis', 'context_analysis', | ||
| 25 | - 'attachments', 'create_time', "cur_auditor" | 25 | + 'id', 'result', 'creator_name', 'category', 'model_type', 'market_share_analysis', 'context_analysis', |
| 26 | + 'attachments', 'create_time', "is_done", "is_pass" | ||
| 26 | ) | 27 | ) |
| 27 | depth = 1 | 28 | depth = 1 |
| 28 | 29 |
| @@ -54,13 +54,22 @@ class ProjectDetail(RetrieveAPIView): | @@ -54,13 +54,22 @@ class ProjectDetail(RetrieveAPIView): | ||
| 54 | 54 | ||
| 55 | def get(self, request, *args, **kwargs): | 55 | def get(self, request, *args, **kwargs): |
| 56 | obj = self.get_object() | 56 | obj = self.get_object() |
| 57 | - auditor_len = Result.objects.filter(project=obj).count() | ||
| 58 | - if auditor_len == 2: | ||
| 59 | - obj.cur_auditor = "已完结" | ||
| 60 | - elif auditor_len == 1: | ||
| 61 | - obj.cur_auditor = AUDITORS[1][1] | ||
| 62 | - else: | ||
| 63 | - obj.cur_auditor = AUDITORS[0][1] | 57 | + obj.creator_name = obj.creator.username |
| 58 | + obj.result = [] | ||
| 59 | + auditors = Auditor.objects.all() | ||
| 60 | + # result = Result.objects.filter(project=obj) | ||
| 61 | + for i in auditors: | ||
| 62 | + obj.result.append({ | ||
| 63 | + "auditor": i.user.username, | ||
| 64 | + "is_accept": i.result_auditor.filter(project=obj).values_list('is_accept', flat=True).first() | ||
| 65 | + }) | ||
| 66 | + # auditor_len = Result.objects.filter(project=obj).count() | ||
| 67 | + # if auditor_len == 2: | ||
| 68 | + # obj.cur_auditor = "已完结" | ||
| 69 | + # elif auditor_len == 1: | ||
| 70 | + # obj.cur_auditor = AUDITORS[1][1] | ||
| 71 | + # else: | ||
| 72 | + # obj.cur_auditor = AUDITORS[0][1] | ||
| 64 | return response(ProjectSerializer(obj).data) | 73 | return response(ProjectSerializer(obj).data) |
| 65 | 74 | ||
| 66 | 75 | ||
| @@ -109,7 +118,7 @@ class AuditProject(UpdateAPIView): | @@ -109,7 +118,7 @@ class AuditProject(UpdateAPIView): | ||
| 109 | desc = "产品立项流程所有审批已完成" if full_audit_done else f"{request.user.username}已审批完成" | 118 | desc = "产品立项流程所有审批已完成" if full_audit_done else f"{request.user.username}已审批完成" |
| 110 | if full_audit_done: | 119 | if full_audit_done: |
| 111 | obj.is_done = True | 120 | obj.is_done = True |
| 112 | - obj.is_pass = request.data.get('is_accept') | 121 | + obj.is_pass = bool(request.data.get('is_accept')) |
| 113 | else: | 122 | else: |
| 114 | if not accept_param: | 123 | if not accept_param: |
| 115 | obj.is_done = True | 124 | obj.is_done = True |
| @@ -130,22 +139,12 @@ class AuditProjectsList(ListAPIView): | @@ -130,22 +139,12 @@ class AuditProjectsList(ListAPIView): | ||
| 130 | permission_classes = (IsAuthenticated, IsAdminUser) | 139 | permission_classes = (IsAuthenticated, IsAdminUser) |
| 131 | 140 | ||
| 132 | def get_queryset(self): | 141 | def get_queryset(self): |
| 133 | - # auditor = Auditor.objects.get(user=self.request.user) | ||
| 134 | - # sql = Project.objects.filter( | ||
| 135 | - # auditor__user_id=self.request.user.id, | ||
| 136 | - # auditor__result_auditor__exact=auditor) \ | ||
| 137 | - # .order_by('-is_done') | ||
| 138 | data = Project.objects.filter(auditor__user_id=self.request.user.id).order_by('-is_done') | 142 | data = Project.objects.filter(auditor__user_id=self.request.user.id).order_by('-is_done') |
| 139 | for item in data: | 143 | for item in data: |
| 140 | result = item.result_project.filter(auditor__user_id=self.request.user.id).values('is_accept').first() | 144 | result = item.result_project.filter(auditor__user_id=self.request.user.id).values('is_accept').first() |
| 141 | - # item.creator = item.creator.username | 145 | + item.creator_name = item.creator.username |
| 142 | item.result = True if result else False | 146 | item.result = True if result else False |
| 143 | - # print(data.query) | ||
| 144 | return data | 147 | return data |
| 145 | -# | ||
| 146 | -# def get(self, request, *args, **kwargs): | ||
| 147 | -# qs = self.get_queryset(user=request.user, **kwargs) | ||
| 148 | -# return response(ProjectSerializer(qs, many=True).data) | ||
| 149 | 148 | ||
| 150 | 149 | ||
| 151 | class CheckAuth(APIView): | 150 | class CheckAuth(APIView): |
-
请 注册 或 登录 后发表评论