def score(): statsd.increment('api_calls.score.%s' % request.method) if request.method == 'GET': row = session.query(Score).filter( Score.person_id == g.user._id) res = [] for pt in row: res.append(pt.json_data()) return jsonify({ 'msg': res, 'success': False}) '''post function''' logger.info(request.form) form = ScoreForm(request.form) if not form.validate(): msg = { 'success': False, 'msg': form.errors} return jsonify(msg) session.add(Score(form, g.user._id)) session.commit() msg = { 'success': True, 'msg': 'Added', 'id': form.id.data, } return jsonify(msg)
def home(): if 'email' not in session: return redirect(url_for('login')) user = User.query.filter_by(email=session['email']).first() form = ScoreForm() my_scores = [] #my_scores = Score.query.filter_by(uid=user.uid) my_scores = Score.query.all() print(my_scores) if request.method == 'POST': if form.validate() == False: return render_template('home.html', form=form) else: # submit the score into the db newscore = Score(user.uid, form.score.data) db.session.add(newscore) db.session.commit() # return those results return render_template('home.html', form=form, my_scores=my_scores) if request.method == 'GET': return render_template("home.html", form=form, my_scores=my_scores)
def course_detail(slug): # check for map variable if request.method == "GET" and request.args.get("map"): session['map_provider'] = request.args.get("map") course = Course.objects.get(slug=slug) # score form form = ScoreForm(request.form) # validate and submit form data if request.method == 'POST' and form.validate(): course_score = ScoreCard( user=g.user, score=form.score.data, baskets=form.baskets.data, course=course ) if course_score.created: course_score.created = form.created.data course_score.save() flash('Thanks for submitting a score!') # TODO: send email to user # TODO: use celery to offload to queue send_mail( to_address=g.user.email, from_address='*****@*****.**', subject='New Dsic Golf Scorecard Score.', plaintext='You just recorded a new score for ' + course.name, html='You just recorded a new score for <b>' + course.name + '</b>' ) # get course data all_scores = ScoreCard.objects.all().filter(course=course).filter( user=g.user ).order_by('-created') # get all the score data we need! data = get_score_data(all_scores) return render_template( 'course_detail.html', title='Course Detail -' + course.name, course=course, form=form, data=data, all_scores=all_scores, )