user can just see photo after he joined the group & zh_Hans replace zh_CN in settings.py

Brightcells 9 年之前
父节点
当前提交
f587f0a48f
共有 6 个文件被更改,包括 35 次插入4 次删除
  1. 1 1
      group/admin.py
  2. 19 0
      group/migrations/0005_groupuserinfo_current_id.py
  3. 1 0
      group/models.py
  4. 1 1
      group/serializers.py
  5. 12 1
      group/views.py
  6. 1 1
      pai2/settings.py

+ 1 - 1
group/admin.py

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

+ 19 - 0
group/migrations/0005_groupuserinfo_current_id.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', '0004_auto_20151216_2337'),
11
+    ]
12
+
13
+    operations = [
14
+        migrations.AddField(
15
+            model_name='groupuserinfo',
16
+            name='current_id',
17
+            field=models.IntegerField(default=-1, help_text='\u5f53\u524d\u7fa4\u7ec4\u7167\u7247ID', verbose_name='current_id'),
18
+        ),
19
+    ]

+ 1 - 0
group/models.py

@@ -81,6 +81,7 @@ class GroupUserInfo(CreateUpdateMixin):
81 81
 
82 82
     group_id = models.CharField(_(u'group_id'), max_length=255, blank=True, null=True, help_text=u'群组唯一标识', db_index=True)
83 83
     user_id = models.CharField(_(u'user_id'), max_length=255, blank=True, null=True, help_text=u'用户唯一标识')
84
+    current_id = models.IntegerField(_(u'current_id'), default=-1, help_text=u'当前群组照片ID')
84 85
     nickname = models.CharField(_(u'nickname'), max_length=255, blank=True, null=True, help_text=u'用户群组昵称')
85 86
     admin = models.BooleanField(_(u'admin'), default=False, help_text=u'群组管理员')
86 87
     user_status = models.IntegerField(_(u'user_status'), choices=USER_STATUS, default=APPLYING)

+ 1 - 1
group/serializers.py

@@ -14,7 +14,7 @@ class GroupInfoSerializer(serializers.HyperlinkedModelSerializer):
14 14
 class GroupUserInfoSerializer(serializers.HyperlinkedModelSerializer):
15 15
     class Meta:
16 16
         model = GroupUserInfo
17
-        fields = ('group_id', 'user_id', 'nickname', 'admin', 'user_status', 'passed_at', 'refused_at', 'status', 'created_at', 'updated_at')
17
+        fields = ('group_id', 'user_id', 'current_id', 'nickname', 'admin', 'user_status', 'passed_at', 'refused_at', 'status', 'created_at', 'updated_at')
18 18
 
19 19
 
20 20
 class GroupPhotoInfoSerializer(serializers.HyperlinkedModelSerializer):

+ 12 - 1
group/views.py

@@ -163,9 +163,12 @@ def group_join_api(request):
163 163
             'message': u'重复加群申请',
164 164
         })
165 165
 
166
+    group_photo = GroupPhotoInfo.objects.filter(group_id=group_id).last()
167
+
166 168
     GroupUserInfo.objects.create(
167 169
         group_id=group_id,
168 170
         user_id=user_id,
171
+        current_id=group_photo and group_photo.id or -1,
169 172
         nickname=nickname or user.username,
170 173
         admin=False,
171 174
         user_status=GroupUserInfo.PASSED,
@@ -398,6 +401,14 @@ def flyimg_upload_api(request):
398 401
             'message': u'群组不存在',
399 402
         })
400 403
 
404
+    try:
405
+        group_user = GroupUserInfo.objects.get(group_id=group_id, user_id=user_id, user_status=GroupUserInfo.PASSED)
406
+    except GroupUserInfo.DoesNotExist:
407
+        return JsonResponse({
408
+            'status': 4029,
409
+            'message': u'该用户不在群组',
410
+        })
411
+
401 412
     if photo:
402 413
         _, extension = os.path.splitext(photo.name)
403 414
 
@@ -423,7 +434,7 @@ def flyimg_upload_api(request):
423 434
 
424 435
     group_photos = GroupPhotoInfo.objects.filter(
425 436
         group_id=group_id,
426
-        pk__gt=current_id,
437
+        pk__gt=max(current_id, group_user.current_id),
427 438
     )
428 439
     latest_photo = group_photos.last()
429 440
 

+ 1 - 1
pai2/settings.py

@@ -104,7 +104,7 @@ DATABASES = {
104 104
 # Internationalization
105 105
 # https://docs.djangoproject.com/en/1.8/topics/i18n/
106 106
 
107
-LANGUAGE_CODE = 'zh_CN'
107
+LANGUAGE_CODE = 'zh-Hans'
108 108
 
109 109
 TIME_ZONE = 'Asia/Shanghai'
110 110