Пример #1
0
def add_team(request):
    user = request.user
    if not user:
        return request.redirect("/")

    uid = request.get_form_var('uid') or ''
    name = request.get_form_var('name') or ''
    description = request.get_form_var('description') or ''

    errors = ""
    if request.method == "POST":
        teams = Team.gets()
        team_uid_pattern = re.compile(r'[a-zA-Z0-9\_]*')
        if not uid:
            error = 'uid_not_exists'
        elif not name:
            error = 'name_not_exists'
        elif uid != re.findall(team_uid_pattern, uid)[0]:
            error = 'invilid_uid'
        elif uid in [team.uid for team in teams]:
            error = 'uid_existed'
        elif User.check_exist(uid):
            error = 'user_id_existed'
        elif name in [team.name for team in teams]:
            error = 'name_existed'
        else:
            team = Team.add(uid, name, description)
            if team:
                team_created_signal.send(user.name,
                                         team_name=team.name,
                                         team_uid=team.uid)
                team.add_user(user, TEAM_OWNER)
                return request.redirect(team.url)

    return st('/teams/add_team.html', **locals())
Пример #2
0
def add_team(request):
    user = request.user
    if not user:
        return request.redirect("/")

    uid = request.get_form_var('uid') or ''
    name = request.get_form_var('name') or ''
    description = request.get_form_var('description') or ''

    errors = ""
    if request.method == "POST":
        teams = Team.gets()
        team_uid_pattern = re.compile(r'[a-zA-Z0-9\_]*')
        if not uid:
            error = 'uid_not_exists'
        elif not name:
            error = 'name_not_exists'
        elif uid != re.findall(team_uid_pattern, uid)[0]:
            error = 'invilid_uid'
        elif uid in [team.uid for team in teams]:
            error = 'uid_existed'
        elif User.check_exist(uid):
            error = 'user_id_existed'
        elif name in [team.name for team in teams]:
            error = 'name_existed'
        else:
            team = Team.add(uid, name, description)
            if team:
                team_created_signal.send(user.name,
                                         team_name=team.name,
                                         team_uid=team.uid)
                team.add_user(user, TEAM_OWNER)
                return request.redirect(team.url)

    return st('/teams/add_team.html', **locals())
Пример #3
0
def card_info(request):
    user_or_team_id = request.get_form_var('user')
    team = Team.get_by_uid(user_or_team_id)
    user_existed = User.check_exist(user_or_team_id)
    if not team or user_existed:
        user = User(user_or_team_id)
        data = {
            'user': {'name': user_or_team_id, 'avatar': user.avatar_url,
                     'url': user.url,
                     'badges': [{'img': item.badge.get_image_url(),
                                 'name': item.badge.name,
                                 'reason': item.reason or item.badge.summary}
                                for item in user.get_badge_items()]}
        }
    else:
        members = team.user_ids[::-1]  # 根据团队的时间排序
        displayed_users = [User(uid) for uid in team.user_ids[:8]]
        data = {
            'team': {
                'id': team.uid,
                'name': team.name,
                'url': team.url,
                'desc': team.short_description,
                'profile_url': team.profile_url(),
                'members': [{'uid': u.name, 'avatar_url': u.avatar_url}
                            for u in displayed_users],
                'member_count': len(members)
            }
        }
    return json.dumps(data)
Пример #4
0
def _q_lookup(request, name):
    if name == 'static':
        return StaticUI(request)
    if name == 'fair':
        return FairUI(request)
    if CodeDoubanProject.exists(name):
        return CodeUI(name)
    if User.check_exist(name):
        return UserPrefixedRepoAdapter(name)
Пример #5
0
def _q_lookup(request, name):
    if name == 'static':
        return StaticUI(request)
    if name == 'fair':
        return FairUI(request)
    if CodeDoubanProject.exists(name):
        return CodeUI(name)
    if User.check_exist(name):
        return UserPrefixedRepoAdapter(name)
Пример #6
0
 def people(self, request):
     current_user = request.user
     badge = self.badge
     if not current_user:
         return request.redirect('/badge/%s/' % badge.id)
     if current_user.name not in ['liwanjin', 'xutao']:
         return request.redirect('/badge/%s/' % badge.id)
     if request.method != 'POST':
         return request.redirect('/badge/%s/' % badge.id)
     name = request.get_form_var('name')
     reason = request.get_form_var('reason')
     if not name:
         return request.redirect('/badge/%s/' % badge.id)
     if not User.check_exist(name):
         return request.redirect('/badge/%s/' % badge.id)
     badge.award(name, reason=reason)
     return request.redirect('/badge/%s/' % badge.id)
Пример #7
0
 def people(self, request):
     current_user = request.user
     badge = self.badge
     if not current_user:
         return request.redirect("/badge/%s/" % badge.id)
     if current_user.name not in ["liwanjin", "xutao"]:
         return request.redirect("/badge/%s/" % badge.id)
     if request.method != "POST":
         return request.redirect("/badge/%s/" % badge.id)
     name = request.get_form_var("name")
     reason = request.get_form_var("reason")
     if not name:
         return request.redirect("/badge/%s/" % badge.id)
     if not User.check_exist(name):
         return request.redirect("/badge/%s/" % badge.id)
     badge.award(name, reason=reason)
     return request.redirect("/badge/%s/" % badge.id)
Пример #8
0
def card_info(request):
    user_or_team_id = request.get_form_var('user')
    team = Team.get_by_uid(user_or_team_id)
    user_existed = User.check_exist(user_or_team_id)
    if not team or user_existed:
        user = User(user_or_team_id)
        data = {
            'user': {
                'name':
                user_or_team_id,
                'avatar':
                user.avatar_url,
                'url':
                user.url,
                'badges': [{
                    'img': item.badge.get_image_url(),
                    'name': item.badge.name,
                    'reason': item.reason or item.badge.summary
                } for item in user.get_badge_items()]
            }
        }
    else:
        members = team.user_ids[::-1]  # 根据团队的时间排序
        displayed_users = [User(uid) for uid in team.user_ids[:8]]
        data = {
            'team': {
                'id':
                team.uid,
                'name':
                team.name,
                'url':
                team.url,
                'desc':
                team.short_description,
                'profile_url':
                team.profile_url(),
                'members': [{
                    'uid': u.name,
                    'avatar_url': u.avatar_url
                } for u in displayed_users],
                'member_count':
                len(members)
            }
        }
    return json.dumps(data)
Пример #9
0
 def _q_lookup(self, request, alias):
     if User.check_exist(alias):
         return PullsByAuthorUI(self.proj_name, alias)
     raise TraversalError
Пример #10
0
 def _q_lookup(self, request, alias):
     if User.check_exist(alias):
         return PullsByAuthorUI(self.proj_name, alias)
     raise TraversalError