@@ -252,3 +252,13 @@ def activity_signup_list(request, administrator):  | 
            ||
| 252 | 252 | 
                'count': count,  | 
            
| 253 | 253 | 
                'left': left,  | 
            
| 254 | 254 | 
                })  | 
            
| 255 | 
                +  | 
            |
| 256 | 
                +  | 
            |
| 257 | 
                +@check_admin  | 
            |
| 258 | 
                +def activity_signup_pass(request, administrator):  | 
            |
| 259 | 
                +    activity_id = request.POST.get('activity_id', '')
               | 
            |
| 260 | 
                +    signup_id = request.POST.get('signup_id', '')
               | 
            |
| 261 | 
                +  | 
            |
| 262 | 
                + MemberActivitySignupInfo.objects.filter(activity_id=activity_id, signup_id=signup_id, status=True).update(passed=True)  | 
            |
| 263 | 
                +  | 
            |
| 264 | 
                + return response(200, 'Member Activity Signup Passed Success', u'活动报名通过成功')  | 
            
                @@ -15,4 +15,5 @@ urlpatterns = [  | 
            ||
| 15 | 15 | 
                # activity signup  | 
            
| 16 | 16 | 
                urlpatterns += [  | 
            
| 17 | 17 | 
                url(r'^member/activity/signup/list$', activity_admin_views.activity_signup_list, name='admin_member_activity_signup_list'),  | 
            
| 18 | 
                + url(r'^member/activity/signup/pass$', activity_admin_views.activity_signup_pass, name='admin_member_activity_signup_pass'),  | 
            |
| 18 | 19 | 
                ]  | 
            
                @@ -0,0 +1,20 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +# Generated by Django 3.2.16 on 2024-03-05 07:35  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +from django.db import migrations, models  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +class Migration(migrations.Migration):  | 
            |
| 9 | 
                +  | 
            |
| 10 | 
                + dependencies = [  | 
            |
| 11 | 
                +        ('member', '0066_memberactivitysignupinfo_lensman_id'),
               | 
            |
| 12 | 
                + ]  | 
            |
| 13 | 
                +  | 
            |
| 14 | 
                + operations = [  | 
            |
| 15 | 
                + migrations.AddField(  | 
            |
| 16 | 
                + model_name='memberactivitysignupinfo',  | 
            |
| 17 | 
                + name='passed',  | 
            |
| 18 | 
                + field=models.BooleanField(default=False, help_text='是否通过', verbose_name='passed'),  | 
            |
| 19 | 
                + ),  | 
            |
| 20 | 
                + ]  | 
            
                @@ -505,6 +505,9 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):  | 
            ||
| 505 | 505 | 
                def is_contributed(self, user_id):  | 
            
| 506 | 506 | 
                # 是否投稿  | 
            
| 507 | 507 | 
                return MemberActivityContributionInfo.objects.filter(user_id=user_id, activity_id=self.activity_id, status=True).exists()  | 
            
| 508 | 
                +  | 
            |
| 509 | 
                + def is_signup_passed(self, user_id):  | 
            |
| 510 | 
                + return MemberActivitySignupInfo.objects.filter(user_id=user_id, activity_id=self.activity_id, passed=True, status=True).exists()  | 
            |
| 508 | 511 | 
                 | 
            
| 509 | 512 | 
                @property  | 
            
| 510 | 513 | 
                def welfares(self):  | 
            
                @@ -555,6 +558,7 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):  | 
            ||
| 555 | 558 | 
                'share_h5_link': self.share_h5_link,  | 
            
| 556 | 559 | 
                'state': self.final_state,  | 
            
| 557 | 560 | 
                'is_signed': self.is_signed(user_id),  | 
            
| 561 | 
                + 'is_signup_passed': self.is_signup_passed(user_id),  | 
            |
| 558 | 562 | 
                'is_selected': self.is_selected(user_id),  | 
            
| 559 | 563 | 
                'is_contributed': self.is_contributed(user_id),  | 
            
| 560 | 564 | 
                'is_signup': self.is_signup,  | 
            
                @@ -601,6 +605,7 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):  | 
            ||
| 601 | 605 | 
                'share_h5_link': self.share_h5_link,  | 
            
| 602 | 606 | 
                'state': self.final_state,  | 
            
| 603 | 607 | 
                'is_signed': self.is_signed(user_id),  | 
            
| 608 | 
                + 'is_signup_passed': self.is_signup_passed(user_id),  | 
            |
| 604 | 609 | 
                'is_selected': self.is_selected(user_id),  | 
            
| 605 | 610 | 
                'is_contributed': self.is_contributed(user_id),  | 
            
| 606 | 611 | 
                'is_signup': self.is_signup,  | 
            
                @@ -733,6 +738,8 @@ class MemberActivitySignupInfo(BaseModelMixin, BrandInfoMixin):  | 
            ||
| 733 | 738 | 
                 | 
            
| 734 | 739 | 
                fields = JSONField(_(u'fields'), blank=True, null=True, default='[]', help_text=u'自定义报名字段')  | 
            
| 735 | 740 | 
                 | 
            
| 741 | 
                + passed = models.BooleanField(_(u'passed'), default=False, help_text=u'是否通过')  | 
            |
| 742 | 
                +  | 
            |
| 736 | 743 | 
                is_signin = models.BooleanField(_(u'is_signin'), default=False, help_text=u'是否已签到')  | 
            
| 737 | 744 | 
                 | 
            
| 738 | 745 | 
                class Meta:  | 
            
                @@ -760,6 +767,7 @@ class MemberActivitySignupInfo(BaseModelMixin, BrandInfoMixin):  | 
            ||
| 760 | 767 | 
                'name': self.name,  | 
            
| 761 | 768 | 
                'phone': self.phone,  | 
            
| 762 | 769 | 
                'fields': json.loads(self.fields) if self.fields else [],  | 
            
| 770 | 
                + 'passed': self.passed,  | 
            |
| 763 | 771 | 
                }  | 
            
| 764 | 772 | 
                 | 
            
| 765 | 773 | 
                @property  | 
            
                @@ -775,6 +783,7 @@ class MemberActivitySignupInfo(BaseModelMixin, BrandInfoMixin):  | 
            ||
| 775 | 783 | 
                'phone': self.phone,  | 
            
| 776 | 784 | 
                'fields': json.loads(self.fields) if self.fields else [],  | 
            
| 777 | 785 | 
                'is_signin': self.is_signin,  | 
            
| 786 | 
                + 'passed': self.passed,  | 
            |
| 778 | 787 | 
                }  | 
            
| 779 | 788 | 
                 | 
            
| 780 | 789 | 
                 |