Browse Source

Merge pull request #2444 from bkcsoft/feature/participants

Implemented participant-listing for issue-pages (Fixes #2377)
tags/v1.2.0-rc1
Unknwon 9 years ago
parent
commit
29b3a1d5f9
2 changed files with 35 additions and 5 deletions
  1. +19
    -5
      routers/repo/issue.go
  2. +16
    -0
      templates/repo/issue/view_content.tmpl

+ 19
- 5
routers/repo/issue.go View File

@@ -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"


+ 16
- 0
templates/repo/issue/view_content.tmpl View File

@@ -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>


Loading…
Cancel
Save