Commit e23fb12240eeb8ce7c0dbba1ab88ab1c59001452
1 parent
9b98821d
Exists in
master
and in
1 other branch
removes the thumbs up on rankings
it was causing problems with sqlalchemy.
Showing
2 changed files
with
8 additions
and
26 deletions
Show diff stats
aprendizations/learnapp.py
| ... | ... | @@ -599,7 +599,7 @@ class LearnApp(): |
| 599 | 599 | return self.courses[course_id] |
| 600 | 600 | |
| 601 | 601 | # ------------------------------------------------------------------------ |
| 602 | - def get_rankings(self, uid: str, course_id: str) -> Iterable[Tuple[str, str, float, float]]: | |
| 602 | + def get_rankings(self, uid: str, course_id: str) -> Iterable[Tuple[str, str, float]]: | |
| 603 | 603 | ''' |
| 604 | 604 | Returns rankings for a certain course_id. |
| 605 | 605 | User where uid have <=2 chars are considered ghosts are hidden from |
| ... | ... | @@ -610,33 +610,19 @@ class LearnApp(): |
| 610 | 610 | ''' |
| 611 | 611 | |
| 612 | 612 | logger.info('User "%s" rankings for "%s"', uid, course_id) |
| 613 | - with Session(self._engine, future=True) as session: | |
| 614 | - query_students = select(Student.id, Student.name) | |
| 615 | - query_student_topics = select(StudentTopic.student_id, | |
| 616 | - StudentTopic.topic_id, | |
| 617 | - StudentTopic.level, | |
| 618 | - StudentTopic.date) | |
| 619 | - query_total = select(Answer.student_id, func.count(Answer.ref)) | |
| 620 | - query_right = select(Answer.student_id, func.count(Answer.ref)) \ | |
| 621 | - .where(Answer.grade == 1.0) | |
| 613 | + query_students = select(Student.id, Student.name) | |
| 614 | + query_student_topics = select(StudentTopic.student_id, | |
| 615 | + StudentTopic.topic_id, | |
| 616 | + StudentTopic.level, | |
| 617 | + StudentTopic.date) | |
| 622 | 618 | |
| 619 | + with Session(self._engine, future=True) as session: | |
| 623 | 620 | # all students in the database FIXME only with answers of this course |
| 624 | 621 | students = session.execute(query_students).all() |
| 625 | 622 | |
| 626 | 623 | # topic levels FIXME only topics of this course |
| 627 | 624 | student_topics = session.execute(query_student_topics).all() |
| 628 | 625 | |
| 629 | - # answer performance | |
| 630 | - | |
| 631 | - # FIXME this does not work when nobody has done anything... | |
| 632 | - # FIXME row to dict seems to be deprecated in 1.4+ | |
| 633 | - total = dict(session.execute(query_total).all()) | |
| 634 | - right = dict(session.execute(query_right).all()) | |
| 635 | - | |
| 636 | - # compute percentage of right answers | |
| 637 | - perf: Dict[str, float] = {u: right.get(u, 0.0) / total[u] | |
| 638 | - for u in total} | |
| 639 | - | |
| 640 | 626 | # compute topic progress |
| 641 | 627 | now = datetime.now() |
| 642 | 628 | goals = self.courses[course_id]['goals'] |
| ... | ... | @@ -647,7 +633,7 @@ class LearnApp(): |
| 647 | 633 | date = datetime.strptime(date, "%Y-%m-%d %H:%M:%S.%f") |
| 648 | 634 | progress[student] += level**(now - date).days / len(goals) |
| 649 | 635 | |
| 650 | - return sorted(((u, name, progress[u], perf.get(u, 0.0)) | |
| 636 | + return sorted(((u, name, progress[u]) | |
| 651 | 637 | for u, name in students |
| 652 | 638 | if u in progress and (len(u) > 2 or len(uid) <= 2)), |
| 653 | 639 | key=lambda x: x[2], reverse=True) | ... | ... |
aprendizations/templates/rankings.html
| ... | ... | @@ -61,7 +61,6 @@ |
| 61 | 61 | <tr> |
| 62 | 62 | <th scope="col" class="text-center">Posição</th> |
| 63 | 63 | <th scope="col">Aluno</th> |
| 64 | - <th scope="col"></th> | |
| 65 | 64 | <th scope="col">Progresso</th> |
| 66 | 65 | </tr> |
| 67 | 66 | </thead> |
| ... | ... | @@ -76,9 +75,6 @@ |
| 76 | 75 | <td> <!-- student name --> |
| 77 | 76 | {{ ' '.join(r[1].split()[n] for n in (0,-1)) }} |
| 78 | 77 | </td> |
| 79 | - <td> <!-- nice --> | |
| 80 | - {{ '<i class="far fa-thumbs-up text-success" title="Mais de 75% de respostas correctas"></i>' if r[3] > 0.75 else '' }} | |
| 81 | - </td> | |
| 82 | 78 | <td> <!-- progress --> |
| 83 | 79 | <div class="progress" style="height: 24px;"> |
| 84 | 80 | <div class="progress-bar" role="progressbar" style="width: {{ 100*r[2] }}%;" aria-valuenow="{{round(100*r[2])}}%" aria-valuemin="0" aria-valuemax="100">{{round(100*r[2])}}%</div> | ... | ... |