コード例 #1
0
def cant_play_on_saturdays():
    email = request.json['email']
    weeks = int(request.json['weeks'])
    future = bool(request.json['future'])

    if weeks <= 0 or weeks > 520:
        abort(400)

    user = User.query.get(email)
    if not user:
        abort(404)

    if user.group is not current_user.group:
        abort(404)

    if user.email is not email and not current_user.isGroupOwner:
        abort(401)

    if future:
        user.futureSaturdayAbsentWeeks = weeks
    else:
        user.isSaturdayAbsent = True
        user.saturdayAbsentWeeks = weeks
    db.session.commit()

    """"Insert a log"""
    description = 'Successfully registered Saturday absence for - ' + str(weeks) + ' weeks' + \
        ' for user - ' + user.firstname + ' ' + user.lastname
    log = Log(current_user.email, description)
    db.session.add(log)
    db.session.commit()

    schema = UserSchema()
    json_result = schema.dumps(user)
    return json_result.data
コード例 #2
0
def want_to_play_on_sundays(email):
    user = User.query.get(email)

    if not user:
        abort(404)

    if user.group is not current_user.group:
        abort(404)

    if user.email is not email and not current_user.isGroupOwner:
        abort(401)

    user.isSundayAbsent = False
    user.sundayAbsentWeeks = 0
    user.futureSundayAbsentWeeks = 0
    db.session.commit()

    """"Insert a log"""
    description = 'Successfully registered wantToPlayOnSundays for user - ' + user.firstname + ' ' + user.lastname
    log = Log(current_user.email, description)
    db.session.add(log)
    db.session.commit()

    schema = UserSchema()
    json_result = schema.dumps(user)
    return json_result.data
コード例 #3
0
def login():
    if not request.json or 'email' not in request.json or 'password' not in request.json:
        abort(400)

    email = request.json['email']
    password = request.json['password']
    user = User.query.get(email)

    if not user:
        abort(404)

    if user.verify_password(password):
        user.isAuthenticated = True
        db.session.add(user)
        db.session.commit()
        login_user(user, remember=True)
        schema = UserSchema()
        json_result = schema.dumps(user)
        return json_result.data
    else:
        abort(401)
コード例 #4
0
def get_members():
    members = User.query.filter(and_(User.email != current_user.email, User.group == current_user.group))\
        .order_by(User.firstname.asc())
    schema = UserSchema(many=True)
    json_result = schema.dumps(members)
    return json_result.data