Commit 550cab021b5e8af13d107af860865288f492eaa8
1 parent
2327acae
Exists in
master
and in
1 other branch
- /results now shows only the best result from each student.
Showing
3 changed files
with
13 additions
and
7 deletions
Show diff stats
database.py
... | ... | @@ -15,9 +15,18 @@ class Database(object): |
15 | 15 | # return list of students and their results for a given test |
16 | 16 | def test_grades(self, test_id): |
17 | 17 | with sqlite3.connect(self.db) as c: |
18 | - cmd = 'SELECT student_id,name,grade FROM students INNER JOIN tests ON students.number=tests.student_id WHERE test_id==? ORDER BY grade DESC;' | |
19 | - results = c.execute(cmd, [test_id]) | |
20 | - return results.fetchall() | |
18 | + # with all tests done by each student: | |
19 | + # cmd = 'SELECT student_id,name,grade FROM students INNER JOIN tests ON students.number=tests.student_id WHERE test_id==? ORDER BY grade DESC;' | |
20 | + | |
21 | + # only the best result for each student | |
22 | + cmd = ''' | |
23 | + SELECT student_id, name, MAX(grade) | |
24 | + FROM students INNER JOIN tests | |
25 | + ON students.number=tests.student_id | |
26 | + WHERE test_id==? | |
27 | + GROUP BY student_id | |
28 | + ORDER BY grade DESC;''' | |
29 | + return c.execute(cmd, [test_id]).fetchall() | |
21 | 30 | |
22 | 31 | # get list of students in the database |
23 | 32 | def get_students(self): | ... | ... |
serve.py
... | ... | @@ -23,8 +23,7 @@ class Root(object): |
23 | 23 | self.database = database.Database(testconf['database']) |
24 | 24 | self.auth = AuthController(database=testconf['database']) |
25 | 25 | self.templates = TemplateLookup(directories=['templates'], input_encoding='utf-8') |
26 | - self.tags = {'online': set(), 'finished': set()} | |
27 | - # self.loggedin = set() # students currently logged in | |
26 | + self.tags = {'online': set(), 'finished': set()} # should be in application, not server | |
28 | 27 | |
29 | 28 | # --- DEFAULT ------------------------------------------------------------ |
30 | 29 | # any path, e.g. /xpto/aargh is redirected to the test | ... | ... |
templates/students.html
... | ... | @@ -63,9 +63,7 @@ |
63 | 63 | <div class="input-group"> |
64 | 64 | <input type="password" class="form-control" placeholder="${r[2][:8]}" name="${r[0]}"> |
65 | 65 | <span class="input-group-btn"> |
66 | - <!-- <button class="btn btn-danger" type="submit">reset</button> --> | |
67 | 66 | <button form="${r[0]}" type="submit" value="submit" class="btn btn-danger">reset</button> |
68 | - | |
69 | 67 | </span> |
70 | 68 | </div><!-- /input-group --> |
71 | 69 | </form> | ... | ... |