diff --git a/group/serializers.py b/group/serializers.py index 16909593..c38b30ff 100644 --- a/group/serializers.py +++ b/group/serializers.py @@ -31,12 +31,17 @@ class DeleteGroupSerializer(serializers.Serializer): class SimpleGroupSerializer(serializers.ModelSerializer): created_by = UsernameSerializer() + password = serializers.SerializerMethodField() + me = serializers.BooleanField() + + def get_password(self, obj): + return obj.password != "" class Meta: model = Group - fields = ["id", "created_by", "name"] + fields = ["id", "created_by", "name", "password", "me"] class JoinGroupSerializer(serializers.Serializer): group_name = serializers.CharField() - password = serializers.CharField() \ No newline at end of file + password = serializers.CharField(allow_blank=True) \ No newline at end of file diff --git a/group/views/oj.py b/group/views/oj.py index d1485c66..09b3e7dd 100644 --- a/group/views/oj.py +++ b/group/views/oj.py @@ -5,7 +5,10 @@ from ..serializers import SimpleGroupSerializer, JoinGroupSerializer class GroupAPI(APIView): def get(self, request): - return self.success(SimpleGroupSerializer(Group.objects.filter(allow_join=True).order_by("-id"), many=True).data) + groups = Group.objects.filter(allow_join=True).order_by("-id") + for item in groups: + item.me = item.members.filter(username=request.user.username).exists() + return self.success(SimpleGroupSerializer(groups, many=True).data) @validate_serializer(JoinGroupSerializer) def post(self, request): diff --git a/oj/settings.py b/oj/settings.py index 79cd2646..732d26b1 100644 --- a/oj/settings.py +++ b/oj/settings.py @@ -180,7 +180,7 @@ REST_FRAMEWORK = { ) } -REDIS_URL = "redis://:foobar@%s:%s" % (REDIS_CONF["host"], REDIS_CONF["port"]) +REDIS_URL = "redis://@%s:%s" % (REDIS_CONF["host"], REDIS_CONF["port"]) def redis_config(db):