Skip to content

Commit fcb1905

Browse files
committed
Sort unanswered question at the top
1 parent 40b121f commit fcb1905

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

cms/server/admin/handlers/contestquestion.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
collections.MutableMapping = collections.abc.MutableMapping
3737

3838
import tornado.web
39+
from sqlalchemy import case
3940

4041
from cms.db import Contest, Question, Participation
4142
from cmscommon.datetime import make_datetime
@@ -53,10 +54,20 @@ class QuestionsHandler(BaseHandler):
5354
def get(self, contest_id):
5455
self.contest = self.safe_get_item(Contest, contest_id)
5556

57+
answered = case(
58+
[(
59+
(Question.reply_timestamp.is_(None)) &
60+
(Question.ignored.is_(False)),
61+
0
62+
)],
63+
else_=1
64+
)
65+
5666
self.r_params = self.render_params()
5767
self.r_params["questions"] = self.sql_session.query(Question)\
5868
.join(Participation)\
5969
.filter(Participation.contest_id == contest_id)\
70+
.order_by(answered)\
6071
.order_by(Question.question_timestamp.desc())\
6172
.order_by(Question.id).all()
6273
self.render("questions.html", **self.r_params)

0 commit comments

Comments
 (0)