Esempio n. 1
0
 def validate(self):
     rv = Form.validate(self)
     if not rv:
         return False
     current_time = int(time.time())
     if self.team_id.data:
         team = Team.query.get(self.team_id.data)
     else:
         team = Team()
     team.admin_id = self.admin_user.id
     team.name = self.name.data
     team.created_at = current_time
     if self.status.data:
         team.status = 1
     else:
         team.status = 0
     db.session.add(team)
     db.session.commit()
     if not self.team_id.data:
         team_user = TeamUser()
         team_user.team_id = team.id
         team_user.user_id = self.admin_user.id
         db.session.add(team_user)
         db.session.commit()
     if self.status.data:
         team_user = TeamUser.query.filter(db.and_(TeamUser.team_id == team.id and
                                                   TeamUser.user_id == self.admin_user.id)).first()
         if team_user:
             db.session.delete(team_user)
             db.session.commit()
         db.session.query(Project).filter(Project.team_id == team.id).update({Project.status: 1})
         db.session.commit()
     self.team = team
     return True
Esempio n. 2
0
 def validate(self):
     rv = Form.validate(self)
     if not rv:
         return False
     invite_code = InviteCode.query.filter_by(code=self.code.data, used=0).first()
     if not invite_code:
         self.code.errors.append(u'邀请码不正确')
         return False
     invite_code.email = self.user.email
     invite_code.user_id = self.user.id
     invite_code.used = 1
     db.session.add(invite_code)
     db.session.commit()
     team_user = TeamUser()
     team_user.team_id = invite_code.team_id
     team_user.user_id = self.user.id
     db.session.add(team_user)
     db.session.commit()
     self.team_id = invite_code.team_id
     return True
Esempio n. 3
0
def join_team():
    if 'user_id' not in session:
        return login_in_please()
    user_id = session['user_id']

    req = request.get_json()
    team_user = TeamUser(req['team_id'], user_id)
    if user_in_team(req['game'], user_id):
        return jsonify({'message': "Vous êtes déjà dans une équipe."}), 400

    if team_is_full(req['team_id']):
        return jsonify({'message': "L'équipe est pleine."}), 400

    db_session.add(team_user)
    db_session.commit()
    return jsonify({'message': "Vous avez bien rejoint l'équipe."}), 200