td>
|
|
200
|
+
|
|
|
201
|
+ if 'content_type' in request.POST:
|
|
|
202
|
+ contributions = contributions.filter(content_type=content_type)
|
|
|
203
|
+ if 'is_myself' in request.POST:
|
|
|
204
|
+ if is_myself:
|
|
|
205
|
+ contributions = contributions.filter(user_id=user_id)
|
|
|
206
|
+ else:
|
|
|
207
|
+ contributions = contributions.exclude(user_id=user_id)
|
|
|
208
|
+ if 'audit_status' in request.POST:
|
|
|
209
|
+ contributions = contributions.filter(audit_status=audit_status)
|
|
|
210
|
+ if 'is_audit_pass' in request.POST:
|
|
|
211
|
+ if is_audit_pass:
|
|
|
212
|
+ contributions = contributions.filter(audit_status=MemberActivityContributionInfo.AUDIT_PASS)
|
|
|
213
|
+ else:
|
|
|
214
|
+ contributions = contributions.exclude(audit_status=MemberActivityContributionInfo.AUDIT_PASS)
|
|
|
215
|
+ if 'is_selected' in request.POST:
|
|
|
216
|
+ contributions = contributions.filter(is_selected=is_selected)
|
|
|
217
|
+ contributions = contributions.order_by('-pk')
|
|
|
218
|
+ contributions, left = pagination(contributions, page, num)
|
|
|
219
|
+ contributions = [contribution.data for contribution in contributions]
|
|
|
220
|
+
|
|
|
221
|
+ return response(data={
|
|
|
222
|
+ 'contributions': contributions,
|
|
|
223
|
+ 'left': left,
|
|
|
224
|
+ })
|
|
|
225
|
+
|
|
|
226
|
+
|
|
|
227
|
+@logit
|
|
|
228
|
+def activity_contribute_detail(request):
|
|
|
229
|
+ brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
|
|
|
230
|
+ contribution_id = request.POST.get('contribution_id', '')
|
|
|
231
|
+
|
|
|
232
|
+ try:
|
|
|
233
|
+ contribution = MemberActivityContributionInfo.objects.get(contribution_id=contribution_id, status=True)
|
|
|
234
|
+ except MemberActivityContributionInfo.DoesNotExist:
|
|
|
235
|
+ return response(MemberActivityContributionStatusCode.ACTIVITY_CONTRIBUTION_NOT_FOUND)
|
|
|
236
|
+
|
|
|
237
|
+ return response(data=contribution.data)
|
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+# -*- coding: utf-8 -*-
|
|
|
2
|
+
|
|
|
3
|
+# Generated by Django 3.2.6 on 2023-05-15 08:07
|
|
|
4
|
+
|
|
|
5
|
+from django.db import migrations
|
|
|
6
|
+import jsonfield.fields
|
|
|
7
|
+
|
|
|
8
|
+
|
|
|
9
|
+class Migration(migrations.Migration):
|
|
|
10
|
+
|
|
|
11
|
+ dependencies = [
|
|
|
12
|
+ ('member', '0061_alter_memberactivityinfo_feed_id'),
|
|
|
13
|
+ ]
|
|
|
14
|
+
|
|
|
15
|
+ operations = [
|
|
|
16
|
+ migrations.AddField(
|
|
|
17
|
+ model_name='memberactivitysignupinfo',
|
|
|
18
|
+ name='fields',
|
|
|
19
|
+ field=jsonfield.fields.JSONField(blank=True, default='[]', help_text='自定义报名字段', null=True, verbose_name='fields'),
|
|
|
20
|
+ ),
|
|
|
21
|
+ ]
|
|
|
|
@@ -718,6 +718,8 @@ class MemberActivitySignupInfo(BaseModelMixin, BrandInfoMixin):
|
|
718
|
718
|
name = models.CharField(_(u'name'), max_length=255, blank=True, null=True, help_text=u'姓名')
|
|
719
|
719
|
phone = models.CharField(_(u'phone'), max_length=255, blank=True, null=True, help_text=u'电话')
|
|
720
|
720
|
|
|
|
721
|
+ fields = JSONField(_(u'fields'), blank=True, null=True, default='[]', help_text=u'自定义报名字段')
|
|
|
722
|
+
|
|
721
|
723
|
class Meta:
|
|
722
|
724
|
verbose_name = _(u'会员活动报名信息')
|
|
723
|
725
|
verbose_name_plural = _(u'会员活动报名信息')
|
|
|
|
@@ -741,6 +743,7 @@ class MemberActivitySignupInfo(BaseModelMixin, BrandInfoMixin):
|
|
741
|
743
|
'avatar': self.final_avatar,
|
|
742
|
744
|
'name': self.name,
|
|
743
|
745
|
'phone': self.phone,
|
|
|
746
|
+ 'fields': json.loads(self.fields) if self.fields else [],
|
|
744
|
747
|
}
|
|
745
|
748
|
|
|
746
|
749
|
@property
|
|
|
|
@@ -753,6 +756,7 @@ class MemberActivitySignupInfo(BaseModelMixin, BrandInfoMixin):
|
|
753
|
756
|
'avatar': self.final_avatar,
|
|
754
|
757
|
'name': self.name,
|
|
755
|
758
|
'phone': self.phone,
|
|
|
759
|
+ 'fields': json.loads(self.fields) if self.fields else [],
|
|
756
|
760
|
}
|
|
757
|
761
|
|
|
758
|
762
|
|
|
|
|
@@ -10,3 +10,17 @@ urlpatterns = [
|
|
10
|
10
|
url(r'^member/activity/list$', activity_mp_views.activity_list, name='mp_member_activity_list'), # 获取会员分区活动列表
|
|
11
|
11
|
url(r'^member/activity/detail$', activity_mp_views.activity_detail, name='mp_member_activity_detail'), # 获取会员分区活动详情
|
|
12
|
12
|
]
|
|
|
13
|
+
|
|
|
14
|
+# activity signup
|
|
|
15
|
+urlpatterns += [
|
|
|
16
|
+ url(r'^member/activity/signup$', activity_mp_views.activity_signup, name='mp_member_activity_signup'), # 会员活动报名
|
|
|
17
|
+ url(r'^member/activity/signup/detail$', activity_mp_views.activity_signup_detail, name='mp_member_activity_signup_detail'), # 获取会员活动报名信息
|
|
|
18
|
+]
|
|
|
19
|
+
|
|
|
20
|
+# activity contribution
|
|
|
21
|
+urlpatterns += [
|
|
|
22
|
+ url(r'^member/activity/contribute/create$', activity_mp_views.activity_contribute_create, name='mp_member_activity_contribute_create'),
|
|
|
23
|
+ url(r'^member/activity/contribute/list$', activity_mp_views.activity_contribute_list, name='member_activity_contribute_list'),
|
|
|
24
|
+ url(r'^member/activity/contribute/update$', activity_mp_views.activity_contribute_update, name='member_aactivity_contribute_update'),
|
|
|
25
|
+ url(r'^member/activity/contribute/detail$', activity_mp_views.activity_contribute_detail, name='member_activity_contribute_detail'),
|
|
|
26
|
+]
|