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 @@
+