diff --git a/mmg/settings.py b/mmg/settings.py index d4f571f..ec06e6f 100644 --- a/mmg/settings.py +++ b/mmg/settings.py @@ -118,6 +118,8 @@ INSTALLED_APPS = ( # 'django.contrib.admindocs', ) +SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies' + # A sample logging configuration. The only tangible logging # performed by this configuration is to send an email to # the site admins on every HTTP 500 error when DEBUG=False. diff --git a/mmg/views.py b/mmg/views.py index 244b826..75ae824 100644 --- a/mmg/views.py +++ b/mmg/views.py @@ -28,7 +28,6 @@ def _generate_problem(): def _validate_solution(a): - print a f = int(a['first']) o = a['operation'] s = int(a['second']) @@ -49,13 +48,20 @@ def home(request): def attempt(request): + print(dict(request.session)) d = request.POST.dict() + r = _validate_solution(d) + if r: + s = request.session.get('score', 0) + 1 + else: + s = request.session.get('score', 0) - 1 + request.session['score'] = s return HttpResponse( - json.dumps({'status': _validate_solution(d)}), + json.dumps({'status': r, 'score': s}), content_type="application/json") def problem(request): - return HttpResponse( - json.dumps(_generate_problem()), - content_type="application/json") + d = _generate_problem() + d['score'] = request.session.get('score', 0) + return HttpResponse(json.dumps(d), content_type="application/json") diff --git a/static/math.js b/static/math.js index ad34141..1cfb180 100644 --- a/static/math.js +++ b/static/math.js @@ -1,12 +1,13 @@ -function update_board(f, o, s) { +function update_board(f, o, s, score) { $("#first").text(f); $("#operation").text(o); $("#second").text(s); + $("#score").text(score); } function new_problem() { $.get("/api/v0/problem/", function(d) { - update_board(d["first"], d["operation"], d["second"]); + update_board(d["first"], d["operation"], d["second"], d["score"]); $("#answer").val(""); }) } diff --git a/templates/index.html b/templates/index.html index f2bc75c..1367d1d 100644 --- a/templates/index.html +++ b/templates/index.html @@ -14,6 +14,9 @@ +