@@ -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 |
|