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())
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)