diff options
Diffstat (limited to 'pysite/views/main/jams/index.py')
-rw-r--r-- | pysite/views/main/jams/index.py | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/pysite/views/main/jams/index.py b/pysite/views/main/jams/index.py deleted file mode 100644 index 0cd9a287..00000000 --- a/pysite/views/main/jams/index.py +++ /dev/null @@ -1,52 +0,0 @@ -import rethinkdb - -from pysite.base_route import RouteView -from pysite.mixins import DBMixin - - -class JamsIndexView(RouteView, DBMixin): - path = "/jams" - name = "jams.index" - table_name = "code_jams" - - teams_table = "code_jam_teams" - - def get(self): - query = ( - self.db.query(self.table_name) - .filter(rethinkdb.row["state"] != "planning") - .merge( - lambda jam_obj: { - "teams": - self.db.query(self.teams_table) - .filter(lambda team_row: jam_obj["teams"].contains(team_row["id"])) - .pluck(["id"]) - .coerce_to("array") - } - ) - .order_by(rethinkdb.desc("number")) - .limit(5) - ) - - jams = self.db.run(query, coerce=list) - for jam in jams: - if "winning_team" in jam and jam["winning_team"]: - jam["winning_team"] = self.db.get(self.teams_table, jam["winning_team"]) - else: - jam["winning_team"] = None - pass - return self.render("main/jams/index.html", jams=jams, has_applied_to_jam=self.has_applied_to_jam) - - def get_jam_response(self, jam, user_id): - query = self.db.query("code_jam_responses").filter({"jam": jam, "snowflake": user_id}) - result = self.db.run(query, coerce=list) - - if result: - return result[0] - return None - - def has_applied_to_jam(self, jam): - # whether the user has applied to this jam - if not self.logged_in: - return False - return self.get_jam_response(jam, self.user_data["user_id"]) |