Esempio n. 1
0
def postPatient(jwt, id):
    getInstanceOrAbort(Patient, id)
    new_test = Test()
    new_test = populateObjectFromJson(new_test, request.get_json())
    new_test.patient_id = id
    try:
        new_test.insert()
    except Exception:
        abort(400)
    return jsonify(new_test.formatShort())
Esempio n. 2
0
def update_test():
    username = request.json["username"]
    stats = request.json["stats"]

    allTajArr = []

    user = User.query.filter_by(username=username).first()
    user_rule = [c for c in user.work if c.rule == stats['rule']]

    test = Test(test_date=db.func.now(),
                test_ayah_count=stats['ayah_count'],
                test_score_correct=stats['correct'],
                test_out_of_count=stats['out_of'],
                test_score_composite=stats['score'],
                rule_id=user_rule[0].id,
                user=user.id)

    db.session.add(test)
    db.session.commit()

    user_rule[
        0].test_ayah_count = user_rule[0].test_ayah_count + stats['ayah_count']
    user_rule[0].total_correct = user_rule[0].total_correct + stats['correct']
    user_rule[0].total_out_of = user_rule[0].total_out_of + stats['out_of']

    db.session.commit()

    allTaj = user.work

    userObj = {
        "username": user.username,
        "first_name": user.first_name,
        "last_name": user.last_name,
        "email": user.email,
        "account_type": user.account_type
    }

    for i in allTaj:
        allTajObj = {
            "code": i.rule,
            "practice_ayah_count": i.practice_ayah_count,
            "test_ayah_count": i.test_ayah_count,
            "total_correct": i.total_correct,
            "total_out_of": i.total_out_of
        }

        test = []

        for t in i.test:
            t_stats = {
                'test_date': t.test_date,
                'test_ayah_count': t.test_ayah_count,
                'test_score_correct': t.test_score_correct,
                'test_out_of_count': t.test_out_of_count,
                'test_score_composite': t.test_score_composite
            }

            test.insert(0, t_stats)

        allTajObj['test'] = test

        practice = [
            p['practice'] for p in session['tajweed'] if p['code'] == i.rule
        ]

        for p in practice:
            allTajObj['practice'] = p

        allTajArr.append(allTajObj)

    return (jsonify(userObj=userObj, allTajArr=allTajArr), 200)