diff options
author | 2018-06-23 11:41:12 -0400 | |
---|---|---|
committer | 2018-06-23 11:41:12 -0400 | |
commit | e155075acb2dce98331032a485364ebe8cdd09c8 (patch) | |
tree | fcb8ff1911ebce4e7c9b0ed564817474e4722948 /pysite | |
parent | Pluck team repo in team list (diff) |
Some improvements
* Don't show teams button if jam has no teams
* Fix some mistakes in team repo validation
Diffstat (limited to 'pysite')
-rw-r--r-- | pysite/views/main/jams/index.py | 11 | ||||
-rw-r--r-- | pysite/views/main/jams/team_edit_repo.py | 8 |
2 files changed, 15 insertions, 4 deletions
diff --git a/pysite/views/main/jams/index.py b/pysite/views/main/jams/index.py index 8d34fa50..abe2859f 100644 --- a/pysite/views/main/jams/index.py +++ b/pysite/views/main/jams/index.py @@ -9,10 +9,21 @@ class JamsIndexView(RouteView, DBMixin): 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) ) diff --git a/pysite/views/main/jams/team_edit_repo.py b/pysite/views/main/jams/team_edit_repo.py index a69b9c9d..8830f799 100644 --- a/pysite/views/main/jams/team_edit_repo.py +++ b/pysite/views/main/jams/team_edit_repo.py @@ -86,6 +86,10 @@ class JamsTeamEditRepo(RouteView, DBMixin, OAuthMixin): if query_response.status_code != 200: raise BadRequest() + if "repo" not in team["jam"]: + return True + jam_repo = team["jam"]["repo"] + project_data = query_response.json() if "forked_from_project" not in project_data: raise BadRequest() @@ -93,10 +97,6 @@ class JamsTeamEditRepo(RouteView, DBMixin, OAuthMixin): # check if it's a fork for the right repo forked_from_project = project_data["forked_from_project"] - jam_repo = team["jam"]["repo"] - if not jam_repo or jam_repo == "": - return True - jam_repo_path = quote(parse_url(jam_repo).path.strip("/"), safe='') jam_repo_response = self.request_project(jam_repo_path) |