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