@ -23,28 +23,28 @@ import (
"github.com/gorilla/feeds"
)
func toBranchLink ( act * activities_model . Action ) string {
return act . GetRepoAbsoluteLink ( ) + "/src/branch/" + util . PathEscapeSegments ( act . GetBranch ( ) )
func toBranchLink ( ctx * context . Context , act * activities_model . Action ) string {
return act . GetRepoAbsoluteLink ( ctx ) + "/src/branch/" + util . PathEscapeSegments ( act . GetBranch ( ) )
}
func toTagLink ( act * activities_model . Action ) string {
return act . GetRepoAbsoluteLink ( ) + "/src/tag/" + util . PathEscapeSegments ( act . GetTag ( ) )
func toTagLink ( ctx * context . Context , act * activities_model . Action ) string {
return act . GetRepoAbsoluteLink ( ctx ) + "/src/tag/" + util . PathEscapeSegments ( act . GetTag ( ) )
}
func toIssueLink ( act * activities_model . Action ) string {
return act . GetRepoAbsoluteLink ( ) + "/issues/" + url . PathEscape ( act . GetIssueInfos ( ) [ 0 ] )
func toIssueLink ( ctx * context . Context , act * activities_model . Action ) string {
return act . GetRepoAbsoluteLink ( ctx ) + "/issues/" + url . PathEscape ( act . GetIssueInfos ( ) [ 0 ] )
}
func toPullLink ( act * activities_model . Action ) string {
return act . GetRepoAbsoluteLink ( ) + "/pulls/" + url . PathEscape ( act . GetIssueInfos ( ) [ 0 ] )
func toPullLink ( ctx * context . Context , act * activities_model . Action ) string {
return act . GetRepoAbsoluteLink ( ctx ) + "/pulls/" + url . PathEscape ( act . GetIssueInfos ( ) [ 0 ] )
}
func toSrcLink ( act * activities_model . Action ) string {
return act . GetRepoAbsoluteLink ( ) + "/src/" + util . PathEscapeSegments ( act . GetBranch ( ) )
func toSrcLink ( ctx * context . Context , act * activities_model . Action ) string {
return act . GetRepoAbsoluteLink ( ctx ) + "/src/" + util . PathEscapeSegments ( act . GetBranch ( ) )
}
func toReleaseLink ( act * activities_model . Action ) string {
return act . GetRepoAbsoluteLink ( ) + "/releases/tag/" + util . PathEscapeSegments ( act . GetBranch ( ) )
func toReleaseLink ( ctx * context . Context , act * activities_model . Action ) string {
return act . GetRepoAbsoluteLink ( ctx ) + "/releases/tag/" + util . PathEscapeSegments ( act . GetBranch ( ) )
}
// renderMarkdown creates a minimal markdown render context from an action.
@ -52,11 +52,11 @@ func toReleaseLink(act *activities_model.Action) string {
func renderMarkdown ( ctx * context . Context , act * activities_model . Action , content string ) string {
markdownCtx := & markup . RenderContext {
Ctx : ctx ,
URLPrefix : act . GetRepoLink ( ) ,
URLPrefix : act . GetRepoLink ( ctx ) ,
Type : markdown . MarkupName ,
Metas : map [ string ] string {
"user" : act . GetRepoUserName ( ) ,
"repo" : act . GetRepoName ( ) ,
"user" : act . GetRepoUserName ( ctx ) ,
"repo" : act . GetRepoName ( ctx ) ,
} ,
}
markdown , err := markdown . RenderString ( markdownCtx , content )
@ -73,123 +73,123 @@ func feedActionsToFeedItems(ctx *context.Context, actions activities_model.Actio
var content , desc , title string
link := & feeds . Link { Href : act . GetCommentHTMLURL ( ) }
link := & feeds . Link { Href : act . GetCommentHTMLURL ( ctx ) }
// title
title = act . ActUser . DisplayName ( ) + " "
switch act . OpType {
case activities_model . ActionCreateRepo :
title += ctx . TrHTMLEscapeArgs ( "action.create_repo" , act . GetRepoAbsoluteLink ( ) , act . ShortRepoPath ( ) )
link . Href = act . GetRepoAbsoluteLink ( )
title += ctx . TrHTMLEscapeArgs ( "action.create_repo" , act . GetRepoAbsoluteLink ( ctx ) , act . ShortRepoPath ( ctx ) )
link . Href = act . GetRepoAbsoluteLink ( ctx )
case activities_model . ActionRenameRepo :
title += ctx . TrHTMLEscapeArgs ( "action.rename_repo" , act . GetContent ( ) , act . GetRepoAbsoluteLink ( ) , act . ShortRepoPath ( ) )
link . Href = act . GetRepoAbsoluteLink ( )
title += ctx . TrHTMLEscapeArgs ( "action.rename_repo" , act . GetContent ( ) , act . GetRepoAbsoluteLink ( ctx ) , act . ShortRepoPath ( ctx ) )
link . Href = act . GetRepoAbsoluteLink ( ctx )
case activities_model . ActionCommitRepo :
link . Href = toBranchLink ( act )
link . Href = toBranchLink ( ctx , act )
if len ( act . Content ) != 0 {
title += ctx . TrHTMLEscapeArgs ( "action.commit_repo" , act . GetRepoAbsoluteLink ( ) , link . Href , act . GetBranch ( ) , act . ShortRepoPath ( ) )
title += ctx . TrHTMLEscapeArgs ( "action.commit_repo" , act . GetRepoAbsoluteLink ( ctx ) , link . Href , act . GetBranch ( ) , act . ShortRepoPath ( ctx ) )
} else {
title += ctx . TrHTMLEscapeArgs ( "action.create_branch" , act . GetRepoAbsoluteLink ( ) , link . Href , act . GetBranch ( ) , act . ShortRepoPath ( ) )
title += ctx . TrHTMLEscapeArgs ( "action.create_branch" , act . GetRepoAbsoluteLink ( ctx ) , link . Href , act . GetBranch ( ) , act . ShortRepoPath ( ctx ) )
}
case activities_model . ActionCreateIssue :
link . Href = toIssueLink ( act )
title += ctx . TrHTMLEscapeArgs ( "action.create_issue" , link . Href , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ) )
link . Href = toIssueLink ( ctx , act )
title += ctx . TrHTMLEscapeArgs ( "action.create_issue" , link . Href , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ctx ) )
case activities_model . ActionCreatePullRequest :
link . Href = toPullLink ( act )
title += ctx . TrHTMLEscapeArgs ( "action.create_pull_request" , link . Href , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ) )
link . Href = toPullLink ( ctx , act )
title += ctx . TrHTMLEscapeArgs ( "action.create_pull_request" , link . Href , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ctx ) )
case activities_model . ActionTransferRepo :
link . Href = act . GetRepoAbsoluteLink ( )
title += ctx . TrHTMLEscapeArgs ( "action.transfer_repo" , act . GetContent ( ) , act . GetRepoAbsoluteLink ( ) , act . ShortRepoPath ( ) )
link . Href = act . GetRepoAbsoluteLink ( ctx )
title += ctx . TrHTMLEscapeArgs ( "action.transfer_repo" , act . GetContent ( ) , act . GetRepoAbsoluteLink ( ctx ) , act . ShortRepoPath ( ctx ) )
case activities_model . ActionPushTag :
link . Href = toTagLink ( act )
title += ctx . TrHTMLEscapeArgs ( "action.push_tag" , act . GetRepoAbsoluteLink ( ) , link . Href , act . GetTag ( ) , act . ShortRepoPath ( ) )
link . Href = toTagLink ( ctx , act )
title += ctx . TrHTMLEscapeArgs ( "action.push_tag" , act . GetRepoAbsoluteLink ( ctx ) , link . Href , act . GetTag ( ) , act . ShortRepoPath ( ctx ) )
case activities_model . ActionCommentIssue :
issueLink := toIssueLink ( act )
issueLink := toIssueLink ( ctx , act )
if link . Href == "#" {
link . Href = issueLink
}
title += ctx . TrHTMLEscapeArgs ( "action.comment_issue" , issueLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ) )
title += ctx . TrHTMLEscapeArgs ( "action.comment_issue" , issueLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ctx ) )
case activities_model . ActionMergePullRequest :
pullLink := toPullLink ( act )
pullLink := toPullLink ( ctx , act )
if link . Href == "#" {
link . Href = pullLink
}
title += ctx . TrHTMLEscapeArgs ( "action.merge_pull_request" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ) )
title += ctx . TrHTMLEscapeArgs ( "action.merge_pull_request" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ctx ) )
case activities_model . ActionAutoMergePullRequest :
pullLink := toPullLink ( act )
pullLink := toPullLink ( ctx , act )
if link . Href == "#" {
link . Href = pullLink
}
title += ctx . TrHTMLEscapeArgs ( "action.auto_merge_pull_request" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ) )
title += ctx . TrHTMLEscapeArgs ( "action.auto_merge_pull_request" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ctx ) )
case activities_model . ActionCloseIssue :
issueLink := toIssueLink ( act )
issueLink := toIssueLink ( ctx , act )
if link . Href == "#" {
link . Href = issueLink
}
title += ctx . TrHTMLEscapeArgs ( "action.close_issue" , issueLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ) )
title += ctx . TrHTMLEscapeArgs ( "action.close_issue" , issueLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ctx ) )
case activities_model . ActionReopenIssue :
issueLink := toIssueLink ( act )
issueLink := toIssueLink ( ctx , act )
if link . Href == "#" {
link . Href = issueLink
}
title += ctx . TrHTMLEscapeArgs ( "action.reopen_issue" , issueLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ) )
title += ctx . TrHTMLEscapeArgs ( "action.reopen_issue" , issueLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ctx ) )
case activities_model . ActionClosePullRequest :
pullLink := toPullLink ( act )
pullLink := toPullLink ( ctx , act )
if link . Href == "#" {
link . Href = pullLink
}
title += ctx . TrHTMLEscapeArgs ( "action.close_pull_request" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ) )
title += ctx . TrHTMLEscapeArgs ( "action.close_pull_request" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ctx ) )
case activities_model . ActionReopenPullRequest :
pullLink := toPullLink ( act )
pullLink := toPullLink ( ctx , act )
if link . Href == "#" {
link . Href = pullLink
}
title += ctx . TrHTMLEscapeArgs ( "action.reopen_pull_request" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ) )
title += ctx . TrHTMLEscapeArgs ( "action.reopen_pull_request" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ctx ) )
case activities_model . ActionDeleteTag :
link . Href = act . GetRepoAbsoluteLink ( )
title += ctx . TrHTMLEscapeArgs ( "action.delete_tag" , act . GetRepoAbsoluteLink ( ) , act . GetTag ( ) , act . ShortRepoPath ( ) )
link . Href = act . GetRepoAbsoluteLink ( ctx )
title += ctx . TrHTMLEscapeArgs ( "action.delete_tag" , act . GetRepoAbsoluteLink ( ctx ) , act . GetTag ( ) , act . ShortRepoPath ( ctx ) )
case activities_model . ActionDeleteBranch :
link . Href = act . GetRepoAbsoluteLink ( )
title += ctx . TrHTMLEscapeArgs ( "action.delete_branch" , act . GetRepoAbsoluteLink ( ) , html . EscapeString ( act . GetBranch ( ) ) , act . ShortRepoPath ( ) )
link . Href = act . GetRepoAbsoluteLink ( ctx )
title += ctx . TrHTMLEscapeArgs ( "action.delete_branch" , act . GetRepoAbsoluteLink ( ctx ) , html . EscapeString ( act . GetBranch ( ) ) , act . ShortRepoPath ( ctx ) )
case activities_model . ActionMirrorSyncPush :
srcLink := toSrcLink ( act )
srcLink := toSrcLink ( ctx , act )
if link . Href == "#" {
link . Href = srcLink
}
title += ctx . TrHTMLEscapeArgs ( "action.mirror_sync_push" , act . GetRepoAbsoluteLink ( ) , srcLink , act . GetBranch ( ) , act . ShortRepoPath ( ) )
title += ctx . TrHTMLEscapeArgs ( "action.mirror_sync_push" , act . GetRepoAbsoluteLink ( ctx ) , srcLink , act . GetBranch ( ) , act . ShortRepoPath ( ctx ) )
case activities_model . ActionMirrorSyncCreate :
srcLink := toSrcLink ( act )
srcLink := toSrcLink ( ctx , act )
if link . Href == "#" {
link . Href = srcLink
}
title += ctx . TrHTMLEscapeArgs ( "action.mirror_sync_create" , act . GetRepoAbsoluteLink ( ) , srcLink , act . GetBranch ( ) , act . ShortRepoPath ( ) )
title += ctx . TrHTMLEscapeArgs ( "action.mirror_sync_create" , act . GetRepoAbsoluteLink ( ctx ) , srcLink , act . GetBranch ( ) , act . ShortRepoPath ( ctx ) )
case activities_model . ActionMirrorSyncDelete :
link . Href = act . GetRepoAbsoluteLink ( )
title += ctx . TrHTMLEscapeArgs ( "action.mirror_sync_delete" , act . GetRepoAbsoluteLink ( ) , act . GetBranch ( ) , act . ShortRepoPath ( ) )
link . Href = act . GetRepoAbsoluteLink ( ctx )
title += ctx . TrHTMLEscapeArgs ( "action.mirror_sync_delete" , act . GetRepoAbsoluteLink ( ctx ) , act . GetBranch ( ) , act . ShortRepoPath ( ctx ) )
case activities_model . ActionApprovePullRequest :
pullLink := toPullLink ( act )
title += ctx . TrHTMLEscapeArgs ( "action.approve_pull_request" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ) )
pullLink := toPullLink ( ctx , act )
title += ctx . TrHTMLEscapeArgs ( "action.approve_pull_request" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ctx ) )
case activities_model . ActionRejectPullRequest :
pullLink := toPullLink ( act )
title += ctx . TrHTMLEscapeArgs ( "action.reject_pull_request" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ) )
pullLink := toPullLink ( ctx , act )
title += ctx . TrHTMLEscapeArgs ( "action.reject_pull_request" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ctx ) )
case activities_model . ActionCommentPull :
pullLink := toPullLink ( act )
title += ctx . TrHTMLEscapeArgs ( "action.comment_pull" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ) )
pullLink := toPullLink ( ctx , act )
title += ctx . TrHTMLEscapeArgs ( "action.comment_pull" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ctx ) )
case activities_model . ActionPublishRelease :
releaseLink := toReleaseLink ( act )
releaseLink := toReleaseLink ( ctx , act )
if link . Href == "#" {
link . Href = releaseLink
}
title += ctx . TrHTMLEscapeArgs ( "action.publish_release" , act . GetRepoAbsoluteLink ( ) , releaseLink , act . ShortRepoPath ( ) , act . Content )
title += ctx . TrHTMLEscapeArgs ( "action.publish_release" , act . GetRepoAbsoluteLink ( ctx ) , releaseLink , act . ShortRepoPath ( ctx ) , act . Content )
case activities_model . ActionPullReviewDismissed :
pullLink := toPullLink ( act )
title += ctx . TrHTMLEscapeArgs ( "action.review_dismissed" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ) , act . GetIssueInfos ( ) [ 1 ] )
pullLink := toPullLink ( ctx , act )
title += ctx . TrHTMLEscapeArgs ( "action.review_dismissed" , pullLink , act . GetIssueInfos ( ) [ 0 ] , act . ShortRepoPath ( ctx ) , act . GetIssueInfos ( ) [ 1 ] )
case activities_model . ActionStarRepo :
link . Href = act . GetRepoAbsoluteLink ( )
title += ctx . TrHTMLEscapeArgs ( "action.starred_repo" , act . GetRepoAbsoluteLink ( ) , act . GetRepoPath ( ) )
link . Href = act . GetRepoAbsoluteLink ( ctx )
title += ctx . TrHTMLEscapeArgs ( "action.starred_repo" , act . GetRepoAbsoluteLink ( ctx ) , act . GetRepoPath ( ctx ) )
case activities_model . ActionWatchRepo :
link . Href = act . GetRepoAbsoluteLink ( )
title += ctx . TrHTMLEscapeArgs ( "action.watched_repo" , act . GetRepoAbsoluteLink ( ) , act . GetRepoPath ( ) )
link . Href = act . GetRepoAbsoluteLink ( ctx )
title += ctx . TrHTMLEscapeArgs ( "action.watched_repo" , act . GetRepoAbsoluteLink ( ctx ) , act . GetRepoPath ( ctx ) )
default :
return nil , fmt . Errorf ( "unknown action type: %v" , act . OpType )
}
@ -199,14 +199,14 @@ func feedActionsToFeedItems(ctx *context.Context, actions activities_model.Actio
switch act . OpType {
case activities_model . ActionCommitRepo , activities_model . ActionMirrorSyncPush :
push := templates . ActionContent2Commits ( act )
repoLink := act . GetRepoAbsoluteLink ( )
repoLink := act . GetRepoAbsoluteLink ( ctx )
for _ , commit := range push . Commits {
if len ( desc ) != 0 {
desc += "\n\n"
}
desc += fmt . Sprintf ( "<a href=\"%s\">%s</a>\n%s" ,
html . EscapeString ( fmt . Sprintf ( "%s/commit/%s" , act . GetRepoAbsoluteLink ( ) , commit . Sha1 ) ) ,
html . EscapeString ( fmt . Sprintf ( "%s/commit/%s" , act . GetRepoAbsoluteLink ( ctx ) , commit . Sha1 ) ) ,
commit . Sha1 ,
templates . RenderCommitMessage ( ctx , commit . Message , repoLink , nil ) ,
)
@ -215,14 +215,14 @@ func feedActionsToFeedItems(ctx *context.Context, actions activities_model.Actio
if push . Len > 1 {
link = & feeds . Link { Href : fmt . Sprintf ( "%s/%s" , setting . AppSubURL , push . CompareURL ) }
} else if push . Len == 1 {
link = & feeds . Link { Href : fmt . Sprintf ( "%s/commit/%s" , act . GetRepoAbsoluteLink ( ) , push . Commits [ 0 ] . Sha1 ) }
link = & feeds . Link { Href : fmt . Sprintf ( "%s/commit/%s" , act . GetRepoAbsoluteLink ( ctx ) , push . Commits [ 0 ] . Sha1 ) }
}
case activities_model . ActionCreateIssue , activities_model . ActionCreatePullRequest :
desc = strings . Join ( act . GetIssueInfos ( ) , "#" )
content = renderMarkdown ( ctx , act , act . GetIssueContent ( ctx ) )
case activities_model . ActionCommentIssue , activities_model . ActionApprovePullRequest , activities_model . ActionRejectPullRequest , activities_model . ActionCommentPull :
desc = act . GetIssueTitle ( )
desc = act . GetIssueTitle ( ctx )
comment := act . GetIssueInfos ( ) [ 1 ]
if len ( comment ) != 0 {
desc += "\n\n" + renderMarkdown ( ctx , act , comment )
@ -230,7 +230,7 @@ func feedActionsToFeedItems(ctx *context.Context, actions activities_model.Actio
case activities_model . ActionMergePullRequest , activities_model . ActionAutoMergePullRequest :
desc = act . GetIssueInfos ( ) [ 1 ]
case activities_model . ActionCloseIssue , activities_model . ActionReopenIssue , activities_model . ActionClosePullRequest , activities_model . ActionReopenPullRequest :
desc = act . GetIssueTitle ( )
desc = act . GetIssueTitle ( ctx )
case activities_model . ActionPullReviewDismissed :
desc = ctx . Tr ( "action.review_dismissed_reason" ) + "\n\n" + act . GetIssueInfos ( ) [ 2 ]
}