redef fun render_title do
add "<a href=\"{player.url}\">"
add " <img class=\"img-circle\" style=\"width: 30px\""
- add " src=\"{player.user.avatar_url}\" alt=\"{player.name}\">"
+ add " src=\"{player.user.avatar_url or else "#"}\" alt=\"{player.name}\">"
add "</a> {player.link}"
end
<p>
<a href="{{{player.url}}}">
<img class="img-circle" style="width: 80px"
- src="{{{player.user.avatar_url}}}" alt="{{{player.name}}}">
+ src="{{{player.user.avatar_url or else "#"}}}" alt="{{{player.name}}}">
</a>
</p>
<p>{{{player.link}}}</p>
"-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)
+ issues.add_all game.api.search_repo_issues(game.repo, q)
+ issues.add_all game.api.search_repo_issues(game.repo, q2)
if issues.is_empty then
add "<em>No pull request or issue to review yet...</em>"
return
add """<div class="media">
<a class="media-left" href="{{{uplay.url}}}">
<img class=\"img-circle\" style="width:50px"
- src="{{{user.avatar_url}}}" alt="{{{uplay.name}}}">
+ src="{{{user.avatar_url or else "#"}}}" alt="{{{uplay.name}}}">
+ </a>
+ <div class="media-body">
+ <h4 class="media-heading">
+ {{{issue.link}}} {{{issue.title}}}
+ </h4>
+ <span class="text-muted">opened by </span>
+ {{{uplay.link}}}
+ </div>
+ </div>"""
+ 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 "<span class=\"glyphicon glyphicon-check\"></span> "
+ 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.api.search_repo_issues(game.repo, q)
+ issues.add_all game.api.search_repo_issues(game.repo, q2)
+ if issues.is_empty then
+ add "<em>No work to do yet...</em>"
+ return
+ end
+ for issue in issues do
+ var user = issue.user
+ var uplay = user.player(game)
+ add """<div class="media">
+ <a class="media-left" href="{{{uplay.url}}}">
+ <img class=\"img-circle\" style="width:50px"
+ src="{{{user.avatar_url or else "#"}}}" alt="{{{uplay.name}}}">
</a>
<div class="media-body">
<h4 class="media-heading">
<a class="media-left" href="{{{player.url}}}">
<span class="badge progress-bar-warning" style="position: absolute">#1</span>
<img class=\"img-circle\" style="width:50px"
- src="{{{player.user.avatar_url}}}" alt="{{{player.name}}}">
+ src="{{{player.user.avatar_url or else "#"}}}" alt="{{{player.name}}}">
</a>
<div class="media-body">
<h4 class="media-heading">Unlocked first by {{{player.link}}}</h4>