Add admin_status for GroupUserInfo

Brightcells 8 lat temu
rodzic
commit
9e4ac4fd3b

+ 1 - 1
group/admin.py

@@ -12,7 +12,7 @@ class GroupInfoAdmin(admin.ModelAdmin):
12 12
 
13 13
 
14 14
 class GroupUserInfoAdmin(admin.ModelAdmin):
15
-    list_display = ('group_id', 'user_id', 'current_id', 'nickname', 'admin', 'user_status', 'passed_at', 'refused_at', 'status', 'created_at', 'updated_at')
15
+    list_display = ('group_id', 'user_id', 'current_id', 'nickname', 'admin', 'subadmin', 'admin_status', 'user_status', 'passed_at', 'refused_at', 'status', 'created_at', 'updated_at')
16 16
     list_filter = ('user_status', 'status')
17 17
 
18 18
 

+ 19 - 0
group/migrations/0035_groupuserinfo_admin_status.py

@@ -0,0 +1,19 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.db import models, migrations
5
+
6
+
7
+class Migration(migrations.Migration):
8
+
9
+    dependencies = [
10
+        ('group', '0034_auto_20170411_1156'),
11
+    ]
12
+
13
+    operations = [
14
+        migrations.AddField(
15
+            model_name='groupuserinfo',
16
+            name='admin_status',
17
+            field=models.BooleanField(default=True, help_text='\u7fa4\u7ec4\u7ba1\u7406\u5458\u72b6\u6001', verbose_name='admin_status'),
18
+        ),
19
+    ]

+ 2 - 1
group/models.py

@@ -164,6 +164,7 @@ class GroupUserInfo(CreateUpdateMixin):
164 164
     relative_persons = models.IntegerField(_(u'relative_persons'), default=1, help_text=u'关联人数')
165 165
     authority = models.BooleanField(_(u'authority'), default=True, help_text=u'是否有定位权限')
166 166
     remark = models.CharField(_(u'remark'), max_length=255, blank=True, null=True, help_text=u'备注')
167
+    admin_status = models.BooleanField(_(u'admin_status'), default=True, help_text=_(u'群组管理员状态'))
167 168
 
168 169
     class Meta:
169 170
         verbose_name = _(u'groupuserinfo')
@@ -202,7 +203,7 @@ class GroupUserInfo(CreateUpdateMixin):
202 203
             'relative_persons': self.relative_persons,
203 204
             'authority': self.authority,
204 205
             'remark': self.remark,
205
-            'status': self.status,
206
+            'status': self.admin_status,
206 207
         }
207 208
 
208 209
 

+ 4 - 4
group/tourguidegroupadmin_views.py

@@ -45,12 +45,12 @@ def tg_group_admin_recovery_api(request):
45 45
         return response(GroupStatusCode.ADMIN_CANNOT_HANDLE_SELF)
46 46
 
47 47
     try:
48
-        subadmin = GroupUserInfo.objects.get(group_id=group_id, user_id=user_id, subadmin=True, status=True)
48
+        subadmin = GroupUserInfo.objects.get(group_id=group_id, user_id=user_id, subadmin=True, admin_status=True, status=True)
49 49
     except GroupUserInfo.DoesNotExist:
50 50
         return response(GroupStatusCode.NOT_GROUP_SUBADMIN)
51 51
 
52 52
     # 权限回收
53
-    subadmin.status = False
53
+    subadmin.admin_status = False
54 54
     subadmin.save()
55 55
 
56 56
     return response(200, 'Tour Guide Group Admin Right Recovery Success', u'旅行团管理员权限回收成功')
@@ -63,12 +63,12 @@ def tg_group_admin_waiver_api(request):
63 63
     user_id = request.POST.get('user_id', '')
64 64
 
65 65
     try:
66
-        subadmin = GroupUserInfo.objects.get(group_id=group_id, user_id=user_id, subadmin=True, status=True)
66
+        subadmin = GroupUserInfo.objects.get(group_id=group_id, user_id=user_id, subadmin=True, admin_status=True, status=True)
67 67
     except GroupUserInfo.DoesNotExist:
68 68
         return response(GroupStatusCode.NOT_GROUP_SUBADMIN)
69 69
 
70 70
     # 权限回收
71
-    subadmin.status = False
71
+    subadmin.admin_status = False
72 72
     subadmin.save()
73 73
 
74 74
     return response(200, 'Tour Guide Group Admin Right Waiver Success', u'旅行团管理员权限放弃成功')

+ 3 - 3
utils/admin_utils.py

@@ -6,14 +6,14 @@ from group.models import GroupInfo, GroupUserInfo
6 6
 
7 7
 
8 8
 def is_group_admin(group_id, admin_id):
9
-    return GroupUserInfo.objects.filter(group_id=group_id, user_id=admin_id, admin=True, status=True).exists()
9
+    return GroupUserInfo.objects.filter(group_id=group_id, user_id=admin_id, admin=True, admin_status=True, status=True).exists()
10 10
 
11 11
 
12 12
 def is_group_subadmin(group_id, admin_id):
13
-    return GroupUserInfo.objects.filter(group_id=group_id, user_id=admin_id, subadmin=True, status=True).exists()
13
+    return GroupUserInfo.objects.filter(group_id=group_id, user_id=admin_id, subadmin=True, admin_status=True, status=True).exists()
14 14
 
15 15
 
16 16
 def have_active_group(user_id):
17
-    groups = GroupUserInfo.objects.filter(user_id=user_id, subadmin=True, status=True)
17
+    groups = GroupUserInfo.objects.filter(user_id=user_id, subadmin=True, admin_status=True, status=True)
18 18
     groupids = [group.group_id for group in groups]
19 19
     return GroupInfo.objects.filter(group_id__in=groupids, group_closed=False, status=True, ended_at__gt=tc.utc_datetime()).exists()