From: Jean Privat Date: Fri, 24 Apr 2015 06:03:07 +0000 (+0700) Subject: Merge: Nitrpg work X-Git-Tag: v0.7.4~6 X-Git-Url: http://nitlanguage.org?hp=ad0a7692b28db70d9b78736675884250106b9335 Merge: Nitrpg work Improve the dashboard on the player page with `request_for_comment` things, and assigned work Pull-Request: #1291 Reviewed-by: Alexandre Terrasa --- diff --git a/contrib/nitrpg/src/templates/panels.nit b/contrib/nitrpg/src/templates/panels.nit index e4e7f8f..97078ab 100644 --- a/contrib/nitrpg/src/templates/panels.nit +++ b/contrib/nitrpg/src/templates/panels.nit @@ -360,16 +360,67 @@ class PlayerReviewsPanel redef fun render_title do add "  " - add "Review pull requests to gain nitcoins!" + add "Review pull requests and comment issues to gain nitcoins!" end redef fun render_body do var q = "is:open label:need_review sort:updated-asc " + "-involves:{player.name}" - var issues = game.repo.search_issues(q) + var q2 = "is:open label:request_for_comments sort:updated-asc " + + "-involves:{player.name}" + + var issues = new ArraySet[Issue] + issues.add_all game.repo.search_issues(q).as(not null) + issues.add_all game.repo.search_issues(q2).as(not null) + if issues.is_empty then + add "No pull request or issue to review yet..." + return + end + for issue in issues do + var user = issue.user + var uplay = user.player(game) + add """
+ + {{{uplay.name}}} + +
+

+ {{{issue.link}}} {{{issue.title}}} +

+ opened by + {{{uplay.link}}} +
+
""" + end + end +end + +# A `Panel` that displays the work assigned or tagged. +class PlayerWorkPanel + super Panel + + # Repo to display. + var game: Game + + # Player to display customized list for. + var player: Player + + redef fun render_title do + add "  " + add "Do your tasks to gain nitcoins!" + end + + redef fun render_body do + var q = "is:open label:need_work sort:updated-asc author:{player.name}" + var q2 = "is:open sort:updated-asc assignee:{player.name}" + + var issues = new ArraySet[Issue] + issues.add_all game.repo.search_issues(q).as(not null) + issues.add_all game.repo.search_issues(q2).as(not null) if issues.is_empty then - add "No pull request to review yet..." + add "No work to do yet..." return end for issue in issues do diff --git a/contrib/nitrpg/src/web.nit b/contrib/nitrpg/src/web.nit index 5f4992e..38ed68e 100644 --- a/contrib/nitrpg/src/web.nit +++ b/contrib/nitrpg/src/web.nit @@ -233,6 +233,7 @@ class PlayerHome page.side_panels.clear page.side_panels.add new PlayerStatusPanel(game, player) page.flow_panels.add new PlayerReviewsPanel(game, player) + page.flow_panels.add new PlayerWorkPanel(game, player) page.flow_panels.add new AchievementsListPanel(player) page.flow_panels.add new EventListPanel(player, list_limit, list_from) rsp.body = page.write_to_string