Beispiel #1
0
    def add_user(self, request):
        user = request.user
        team = Team.get_by_uid(self.team_uid)
        if not user or not team:
            return dict(r=1, error="team不存在")

        user_id = request.get_form_var("user_id", "")
        identity = int(request.get_form_var("identity", 0))

        if not team.is_owner(user.name) or identity not in TEAM_IDENTITY_INFO.keys():
            return dict(r=1, error="没有权限")

        rl = TeamUserRelationship.get(team_id=team.id, user_id=user_id)
        if not rl:
            team.add_user(User(user_id), identity)
        elif identity == rl.identity:
            return dict(r=1, error="该用户已存在")
        elif rl.is_owner and team.n_owners == 1:
            return dict(r=1, error="只剩一个creator, 不能改变身份")
        else:
            rl.identity = identity
            rl.save()

        avatar_url = User(user_id).avatar_url
        team_add_member_signal.send(
            user.name,
            team_uid=team.uid,
            team_name=team.name,
            receiver=user_id,
            identity=TEAM_IDENTITY_INFO[identity]["name"],
        )
        return dict(r=0, uid=user_id, avatar_url=avatar_url)
Beispiel #2
0
    def add_user(self, request):
        user = request.user
        team = Team.get_by_uid(self.team_uid)
        if not user or not team:
            return dict(r=1, error="team不存在")

        user_id = request.get_form_var('user_id', '')
        identity = int(request.get_form_var('identity', 0))

        if not team.is_owner(user.name) \
                or identity not in TEAM_IDENTITY_INFO.keys():
            return dict(r=1, error="没有权限")

        rl = TeamUserRelationship.get(team_id=team.id, user_id=user_id)
        if not rl:
            team.add_user(User(user_id), identity)
        elif identity == rl.identity:
            return dict(r=1, error="该用户已存在")
        elif rl.is_owner and team.n_owners == 1:
            return dict(r=1, error="只剩一个creator, 不能改变身份")
        else:
            rl.identity = identity
            rl.save()

        avatar_url = User(user_id).avatar_url
        team_add_member_signal.send(
            user.name, team_uid=team.uid, team_name=team.name,
            receiver=user_id, identity=TEAM_IDENTITY_INFO[identity]["name"])
        return dict(r=0, uid=user_id, avatar_url=avatar_url)
Beispiel #3
0
    def remove_user(self, request):
        user = request.user
        if not user:
            return dict(r=1, error="用户未登录")

        team = Team.get_by_uid(self.team_uid)
        if not team:
            return dict(r=1, error="team不存在")

        user_id = request.get_form_var("user_id", "")

        if not team.is_owner(user.name):
            return dict(r=1, error="没有权限")
        rl = TeamUserRelationship.get(team_id=team.id, user_id=user_id)
        if not rl:
            return dict(r=1, error="用户未加入team")
        elif rl.is_owner and team.n_owners == 1:
            return dict(r=1, error="只剩一个creator不能删除")
        else:
            rl.delete()
        return dict(r=0)
Beispiel #4
0
    def remove_user(self, request):
        user = request.user
        if not user:
            return dict(r=1, error="用户未登录")

        team = Team.get_by_uid(self.team_uid)
        if not team:
            return dict(r=1, error="team不存在")

        user_id = request.get_form_var('user_id', '')

        if not team.is_owner(user.name):
            return dict(r=1, error="没有权限")
        rl = TeamUserRelationship.get(team_id=team.id, user_id=user_id)
        if not rl:
            return dict(r=1, error="用户未加入team")
        elif rl.is_owner and team.n_owners == 1:
            return dict(r=1, error="只剩一个creator不能删除")
        else:
            rl.delete()
        return dict(r=0)