Beispiel #1
0
def create_client(user, params):
    name = params.get("name", "")
    if not name or len(name) > 30:
        return {"error_code":20251, "msg":"name invalid"}

    #team = Team.select().where(Team.user == user, Team.name == name).first()
    team = Team.select().where(Team.user == user).first()
    if team:
        return {"error_code":20252, "msg":"team is exists and must one"}

    team_id = GUID.guid()
    team = Team()
    team.id = team_id
    team.user = user
    team.name = name
    team.status = "normal"
    team.team_type = 'client'
    team.logo = widget.logo()
    team.save(force_insert=True)

    user.to_req = True
    user.identify = "c%s" % team.id
    user.save()

    team_profile = TeamProfile()
    team_profile.team = team
    team_profile.save()

    #Member.create(user=user, team=team, mtype='owner')
    return {"error_code":0, "msg":"ok"}
Beispiel #2
0
def create_client(user, params):
    name = params.get("name", "")
    if not name or len(name) > 30:
        return {"error_code": 20251, "msg": "name invalid"}

    #team = Team.select().where(Team.user == user, Team.name == name).first()
    team = Team.select().where(Team.user == user).first()
    if team:
        return {"error_code": 20252, "msg": "team is exists and must one"}

    team_id = GUID.guid()
    team = Team()
    team.id = team_id
    team.user = user
    team.name = name
    team.status = "normal"
    team.team_type = 'client'
    team.logo = widget.logo()
    team.save(force_insert=True)

    user.to_req = True
    user.identify = "c%s" % team.id
    user.save()

    team_profile = TeamProfile()
    team_profile.team = team
    team_profile.save()

    #Member.create(user=user, team=team, mtype='owner')
    return {"error_code": 0, "msg": "ok"}
Beispiel #3
0
 def test_team_ordering(self):
     team_a = Team("Alpha 0")
     team_b = Team("Beta 0")
     # Same score, alphabetical ordering
     assert team_a < team_b
     team_b.name = "Active"
     assert not team_a < team_b
     # Different score means score based ordering
     team_b.score = 1
     assert not team_a < team_b
def store_team(data):
    team = Team(id=data['key'])
    team.team_number = data['team_number']
    team.nickname = data['nickname']
    team.name = data['name']
    team.website = data['website']
    team.rookie_year = data['rookie_year']
    team.motto = data['motto']
    team.city = data['city']
    team.state_prov = data['state_prov']
    team.country = data['country']

    TeamManipulator.createOrUpdate(team)
    return team
def store_team(data):
    team = Team(id=data['key'])
    team.team_number = data['team_number']
    team.nickname = data['nickname']
    team.name = data['name']
    team.website = data['website']
    team.rookie_year = data['rookie_year']
    team.motto = data['motto']
    team.city = data['city']
    team.state_prov = data['state_prov']
    team.country = data['country']

    TeamManipulator.createOrUpdate(team)
    return team
Beispiel #6
0
 def test_game_result_ordering(self):
     game = Game()
     team_a = Team("A 0")
     team_b = Team("B 0")
     team_c = Team("c 0")
     team_a.score = 0
     team_b.score = 3
     team_c.score = 3
     # Ensure team ordering follows through to team list sorting
     game.teams = {"A": team_a, "B": team_b, "c": team_c}
     assert str(game.results()) == str([team_b, team_c, team_a])
     team_b.name = "d"
     game.teams["B"].name = "d"
     assert str(game.results()) == str([team_c, team_b, team_a])
Beispiel #7
0
 def load_team(self):
     if TEAM_CACHE.has_key(self.team_id):
         return TEAM_CACHE[self.team_id]
     roster_soup = self.get_team_roster_soup()
     home_soup = self.get_team_home_soup()
     team = Team()
     team.id = self.team_id
     team.name = self.get_name()
     team.short_name = self.get_short_name()
     team.level = self.get_level()
     team.parent_team_id = self.get_parent_team_id()
     team.league_id = self.get_league_id()
     team.player_positions = self.get_player_positions()
     team.disabled_list_player_ids = self.get_disabled_list_player_ids()
     TEAM_CACHE[self.team_id] = team
     return team
Beispiel #8
0
def register(params, device):
    rtype = params.get('rtype', None)
    name = params.get('name', None)
    phone = params.get('phone', None)
    password = params.get('password', None)
    vcode = params.get('vcode', None)
    uname = params.get('username', '')
    cname = params.get('cname', '')
    notice = params.get('notice', "true")

    if not phone or not password or not vcode or not name or not rtype or not notice or not rtype.isdigit():
        return {"error_code":20021, "msg":"parameters required"}

    rtype = int(rtype)
    if not validate.is_phone(phone):
        return {"error_code":20022, "msg":"phone invalid"}

    # freelancer: 1, client: 2, client_person: 3
    if rtype not in [1, 2, 3]:
        return {"error_code":20022, "msg":"user type invalid"}

    if rtype == 2 and not cname or len(cname) > 100:
        return {"error_code":20022, "msg":"user type invalid or cname too long"}

    if not validate.is_verify_code(vcode):
        return {"error_code":20024, "msg":"verify code invalid"}
    
    if User.select().where(User.phone == phone).first():
        return {"error_code":20025, "msg":"user is exists"}

    if rtype != 1:
        username = phone
    else:
        # freelancer do not use username, just use phone to register
        # username = uname
        username = phone
    
    if not utils.is_username(username):
        return {"error_code":20023, "msg":"username invalid"}

    if User.select().where(User.username == username).first():
        return {"error_code":20025, "msg":"user is exists"}

    res = verify_code(phone=phone, code=vcode)
    if res['error_code'] != 0:
        return res
    
    user_id = GUID.guid()
    team_id = GUID.guid()
    with database.atomic() as txn:
        try:
            pwd, salt = generate_password(password.encode('utf-8'))
            user = User()
            user.id = user_id
            user.username = username
            user.password = pwd
            user.salt = salt
            user.phone = phone
            #user.verifycode = vcode
            user.save(force_insert=True)

            profile = Profile()
            profile.user = user
            profile.name = name
            profile.avatar = widget.avatar()

            if notice == "true":
                profile.is_notice = True
            profile.save()

            party = Party()
            party.user = user
            party.vip = False
            party.connects = 60
            party.agency_connects = 60
            party.save()

            margin = Margin()
            margin.user = user
            margin.save()

            if rtype == 1:
                user.identify = 'f%s' % user.id
                user.app_identify = 'f%s' % user.id
                user.status = "unactive"
                user.to_dev = True
                user.to_req = False
                user.save()

                queue.to_queue({"type":"user_register", "user_id":user.id})
            else:
                team = Team()
                team.id = team_id
                team.user = user
                if rtype == 2:
                    team.name = cname
                else:
                    team.name = "个人需求方"
                team.team_type = 'client'
                team.status = "normal"
                team.logo = widget.logo()
                team.save(force_insert=True)

                team_profile = TeamProfile()
                team_profile.team = team
                team_profile.phone = phone
                team_profile.save()

                user.identify = 'c%s' % team.id
                user.app_identify = 'c%s' % team.id
                user.status = "active"
                user.to_req = True
                user.to_dev = False
                user.save()

                queue.to_queue({"type":"user_register", "user_id":user.id, "team_id":team.id})
        except Exception, e:
            logger.error(traceback.format_exc())
            txn.rollback()
            return {"error_code":20026, "msg":"signup error"}
Beispiel #9
0
def register(params, device):
    rtype = params.get('rtype', None)
    name = params.get('name', None)
    phone = params.get('phone', None)
    password = params.get('password', None)
    vcode = params.get('vcode', None)
    uname = params.get('username', '')
    cname = params.get('cname', '')
    notice = params.get('notice', "true")

    if not phone or not password or not vcode or not name or not rtype or not notice or not rtype.isdigit(
    ):
        return {"error_code": 20021, "msg": "parameters required"}

    rtype = int(rtype)
    if not validate.is_phone(phone):
        return {"error_code": 20022, "msg": "phone invalid"}

    # freelancer: 1, client: 2, client_person: 3
    if rtype not in [1, 2, 3]:
        return {"error_code": 20022, "msg": "user type invalid"}

    if rtype == 2 and not cname or len(cname) > 100:
        return {
            "error_code": 20022,
            "msg": "user type invalid or cname too long"
        }

    if not validate.is_verify_code(vcode):
        return {"error_code": 20024, "msg": "verify code invalid"}

    if User.select().where(User.phone == phone).first():
        return {"error_code": 20025, "msg": "user is exists"}

    if rtype != 1:
        username = phone
    else:
        # freelancer do not use username, just use phone to register
        # username = uname
        username = phone

    if not utils.is_username(username):
        return {"error_code": 20023, "msg": "username invalid"}

    if User.select().where(User.username == username).first():
        return {"error_code": 20025, "msg": "user is exists"}

    res = verify_code(phone=phone, code=vcode)
    if res['error_code'] != 0:
        return res

    user_id = GUID.guid()
    team_id = GUID.guid()
    with database.atomic() as txn:
        try:
            pwd, salt = generate_password(password.encode('utf-8'))
            user = User()
            user.id = user_id
            user.username = username
            user.password = pwd
            user.salt = salt
            user.phone = phone
            #user.verifycode = vcode
            user.save(force_insert=True)

            profile = Profile()
            profile.user = user
            profile.name = name
            profile.avatar = widget.avatar()

            if notice == "true":
                profile.is_notice = True
            profile.save()

            party = Party()
            party.user = user
            party.vip = False
            party.connects = 60
            party.agency_connects = 60
            party.save()

            margin = Margin()
            margin.user = user
            margin.save()

            if rtype == 1:
                user.identify = 'f%s' % user.id
                user.app_identify = 'f%s' % user.id
                user.status = "unactive"
                user.to_dev = True
                user.to_req = False
                user.save()

                queue.to_queue({"type": "user_register", "user_id": user.id})
            else:
                team = Team()
                team.id = team_id
                team.user = user
                if rtype == 2:
                    team.name = cname
                else:
                    team.name = "个人需求方"
                team.team_type = 'client'
                team.status = "normal"
                team.logo = widget.logo()
                team.save(force_insert=True)

                team_profile = TeamProfile()
                team_profile.team = team
                team_profile.phone = phone
                team_profile.save()

                user.identify = 'c%s' % team.id
                user.app_identify = 'c%s' % team.id
                user.status = "active"
                user.to_req = True
                user.to_dev = False
                user.save()

                queue.to_queue({
                    "type": "user_register",
                    "user_id": user.id,
                    "team_id": team.id
                })
        except Exception, e:
            logger.error(traceback.format_exc())
            txn.rollback()
            return {"error_code": 20026, "msg": "signup error"}