增加报名通过接口

FFIB 1 rok temu
rodzic
commit
0330f36822

+ 10 - 0
member/activity_admin_views.py

@@ -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'活动报名通过成功')

+ 1 - 0
member/admin_urls.py

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

+ 20 - 0
member/migrations/0067_memberactivitysignupinfo_passed.py

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

+ 9 - 0
member/models.py

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