Merge pull request #2444 from bkcsoft/feature/participants
Implemented participant-listing for issue-pages (Fixes #2377)
This commit is contained in:
commit
d3ba246693
2 changed files with 35 additions and 5 deletions
|
@ -591,12 +591,14 @@ func ViewIssue(ctx *middleware.Context) {
|
|||
}
|
||||
|
||||
var (
|
||||
tag models.CommentTag
|
||||
ok bool
|
||||
marked = make(map[int64]models.CommentTag)
|
||||
comment *models.Comment
|
||||
tag models.CommentTag
|
||||
ok bool
|
||||
marked = make(map[int64]models.CommentTag)
|
||||
comment *models.Comment
|
||||
participants []*models.User
|
||||
)
|
||||
// Render comments.
|
||||
participants = append(participants, issue.Poster)
|
||||
// Render comments. (and fetch participants)
|
||||
for _, comment = range issue.Comments {
|
||||
if comment.Type == models.COMMENT_TYPE_COMMENT {
|
||||
comment.RenderedContent = string(base.RenderMarkdown([]byte(comment.Content), ctx.Repo.RepoLink,
|
||||
|
@ -619,9 +621,21 @@ func ViewIssue(ctx *middleware.Context) {
|
|||
}
|
||||
|
||||
marked[comment.PosterID] = comment.ShowTag
|
||||
|
||||
isAdded := false
|
||||
for j := range participants {
|
||||
if comment.Poster == participants[j] {
|
||||
isAdded = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !isAdded && !issue.IsPoster(comment.Poster.Id) {
|
||||
participants = append(participants, comment.Poster)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ctx.Data["Participants"] = participants
|
||||
ctx.Data["Issue"] = issue
|
||||
ctx.Data["IsIssueOwner"] = ctx.Repo.IsAdmin() || (ctx.IsSigned && issue.IsPoster(ctx.User.Id))
|
||||
ctx.Data["SignInLink"] = setting.AppSubUrl + "/user/login"
|
||||
|
|
|
@ -313,6 +313,22 @@
|
|||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui divider"></div>
|
||||
|
||||
<div class="ui participants floating jump">
|
||||
<span class="text"><strong>{{len .Participants }} Participants</strong></span>
|
||||
<div class="ui floating jump">
|
||||
{{range .Participants}}
|
||||
<a href="{{.HomeLink}}">
|
||||
<img class="ui avatar image" src="{{.AvatarLink}}" data-content={{.FullName}}>
|
||||
</a>
|
||||
{{end}}
|
||||
</div>
|
||||
<script>
|
||||
$('.participants .ui.avatar.image').popup();
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Reference in a new issue