Esempio n. 1
0
def join_team():
    """
    Joining team view.
    :return: HTTP Response
    """

    team = Team.get(team_name=request.form['team_name'])

    if not team:
        team = Team(team_name=request.form['team_name'])
        team.save()
    else:
        team = team[0]

    current_user.set_team(team.team_id)
    team.increase_rank(current_user.rank)
    return redirect(request.referrer)
Esempio n. 2
0
def delete_tag(request):
    # FIXME: ugly
    if request.method == "POST":
        user = request.user
        if not user:
            return {'r': 0, 'msg': '未登录,请先登录'}
        tag_name = request.get_form_var('tag_name', '').decode('utf-8')
        tag_type = request.get_form_var('tag_type', '')
        tag_target_id = request.get_form_var('tag_target_id', '')

        if not tag_name:
            return {'r': 0, 'msg': 'tag不能为空'}
        try:
            tag_type, tag_target_id = int(tag_type), int(tag_target_id)
        except:
            return {'r': 0, 'msg': '错误的数据类型'}

        if tag_type == TAG_TYPE_PROJECT_ISSUE:
            target = CodeDoubanProject.get(tag_target_id)
        elif tag_type == TAG_TYPE_TEAM_ISSUE:
            target = Team.get(tag_target_id)
        else:
            return {'r': 0, 'msg': '错误的数据类型'}

        if not target.is_admin(user.name):
            return {'r': 0, 'msg': '没有操作权限'}

        tname = TagName.get_by_name_and_target_id(tag_name, tag_type, target.id)
        if not tname:
            return {'r': 0, 'msg': 'tag不存在'}

        tags = Tag.gets_by_tag_id(tname.id)
        for tag in tags:
            tag.delete()
        tname.delete()
        return {'r': 1, 'msg': '删除成功'}
Esempio n. 3
0
 def target(self):
     from models.team import Team
     return Team.get(self.team_id)