mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 19:38:23 +00:00 
			
		
		
		
	Refactor ctx in templates (#23105)
				
					
				
			Before, the `dict "ctx" ...` map is used to pass data between templates. Now, more and more templates need to use real Go context: * #22962 * #23092 `ctx` is a Go concept for `Context`, misusing it may cause problems, and it makes it difficult to review or refactor. This PR contains 2 major changes: * In the top scope of a template, the `$` is the same as the `.`, so the old labels_sidebar's `root` is the `ctx`. So this `ctx` could just be removed.bd7f218dce* Rename all other `ctx` to `ctxData`, and it perfectly matches how it comes from backend: `"ctxData": ctx.Data`.7c01260e1dFrom now on, there is no `ctx` in templates. There are only: * `ctxData` for passing data * `Context` for Go context
This commit is contained in:
		| @@ -2952,7 +2952,7 @@ func ChangeIssueReaction(ctx *context.Context) { | ||||
| 	} | ||||
|  | ||||
| 	html, err := ctx.RenderToString(tplReactions, map[string]interface{}{ | ||||
| 		"ctx":       ctx.Data, | ||||
| 		"ctxData":   ctx.Data, | ||||
| 		"ActionURL": fmt.Sprintf("%s/issues/%d/reactions", ctx.Repo.RepoLink, issue.Index), | ||||
| 		"Reactions": issue.Reactions.GroupByType(), | ||||
| 	}) | ||||
| @@ -3054,7 +3054,7 @@ func ChangeCommentReaction(ctx *context.Context) { | ||||
| 	} | ||||
|  | ||||
| 	html, err := ctx.RenderToString(tplReactions, map[string]interface{}{ | ||||
| 		"ctx":       ctx.Data, | ||||
| 		"ctxData":   ctx.Data, | ||||
| 		"ActionURL": fmt.Sprintf("%s/comments/%d/reactions", ctx.Repo.RepoLink, comment.ID), | ||||
| 		"Reactions": comment.Reactions.GroupByType(), | ||||
| 	}) | ||||
| @@ -3176,7 +3176,7 @@ func updateAttachments(ctx *context.Context, item interface{}, files []string) e | ||||
|  | ||||
| func attachmentsHTML(ctx *context.Context, attachments []*repo_model.Attachment, content string) string { | ||||
| 	attachHTML, err := ctx.RenderToString(tplAttachment, map[string]interface{}{ | ||||
| 		"ctx":         ctx.Data, | ||||
| 		"ctxData":     ctx.Data, | ||||
| 		"Attachments": attachments, | ||||
| 		"Content":     content, | ||||
| 	}) | ||||
|   | ||||
| @@ -42,8 +42,8 @@ | ||||
| 						</div> | ||||
| 					{{end}} | ||||
| 				{{end}} | ||||
| 				{{template "repo/issue/view_content/add_reaction" Dict "ctx" $.root "ActionURL" (Printf "%s/comments/%d/reactions" $.root.RepoLink .ID)}} | ||||
| 				{{template "repo/issue/view_content/context_menu" Dict "ctx" $.root "item" . "delete" true "issue" false "diff" true "IsCommentPoster" (and $.root.IsSigned (eq $.root.SignedUserID .PosterID))}} | ||||
| 				{{template "repo/issue/view_content/add_reaction" Dict "ctxData" $.root "ActionURL" (Printf "%s/comments/%d/reactions" $.root.RepoLink .ID)}} | ||||
| 				{{template "repo/issue/view_content/context_menu" Dict "ctxData" $.root "item" . "delete" true "issue" false "diff" true "IsCommentPoster" (and $.root.IsSigned (eq $.root.SignedUserID .PosterID))}} | ||||
| 			</div> | ||||
| 		</div> | ||||
| 		<div class="ui attached segment comment-body"> | ||||
| @@ -60,7 +60,7 @@ | ||||
| 		{{$reactions := .Reactions.GroupByType}} | ||||
| 		{{if $reactions}} | ||||
| 			<div class="ui attached segment reactions"> | ||||
| 			{{template "repo/issue/view_content/reactions" Dict "ctx" $.root "ActionURL" (Printf "%s/comments/%d/reactions" $.root.RepoLink .ID) "Reactions" $reactions}} | ||||
| 			{{template "repo/issue/view_content/reactions" Dict "ctxData" $.root "ActionURL" (Printf "%s/comments/%d/reactions" $.root.RepoLink .ID) "Reactions" $reactions}} | ||||
| 			</div> | ||||
| 		{{end}} | ||||
| 	</div> | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| <div class="ui labels list"> | ||||
| 	<span class="no-select item {{if .ctx.HasSelectedLabel}}gt-hidden{{end}}">{{.ctx.locale.Tr "repo.issues.new.no_label"}}</span> | ||||
| 	<span class="no-select item {{if .root.HasSelectedLabel}}gt-hidden{{end}}">{{.root.locale.Tr "repo.issues.new.no_label"}}</span> | ||||
| 	<span class="labels-list"> | ||||
| 		{{range .ctx.Labels}} | ||||
| 		{{range .root.Labels}} | ||||
| 			{{template "repo/issue/labels/label" dict "root" $.root "label" .}} | ||||
| 		{{end}} | ||||
| 		{{range .ctx.OrgLabels}} | ||||
| 		{{range .root.OrgLabels}} | ||||
| 			{{template "repo/issue/labels/label" dict "root" $.root "label" .}} | ||||
| 		{{end}} | ||||
| 	</span> | ||||
|   | ||||
| @@ -80,7 +80,7 @@ | ||||
| 					{{end}} | ||||
| 				</div> | ||||
| 			</div> | ||||
| 			{{template "repo/issue/labels/labels_sidebar" dict "root" $ "ctx" .}} | ||||
| 			{{template "repo/issue/labels/labels_sidebar" dict "root" $}} | ||||
|  | ||||
| 			<div class="ui divider"></div> | ||||
|  | ||||
|   | ||||
| @@ -64,8 +64,8 @@ | ||||
| 								{{end}} | ||||
| 							{{end}} | ||||
| 							{{if not $.Repository.IsArchived}} | ||||
| 								{{template "repo/issue/view_content/add_reaction" Dict "ctx" $ "ActionURL" (Printf "%s/issues/%d/reactions" $.RepoLink .Issue.Index)}} | ||||
| 								{{template "repo/issue/view_content/context_menu" Dict "ctx" $ "item" .Issue "delete" false "issue" true "diff" false "IsCommentPoster" $.IsIssuePoster}} | ||||
| 								{{template "repo/issue/view_content/add_reaction" Dict "ctxData" $ "ActionURL" (Printf "%s/issues/%d/reactions" $.RepoLink .Issue.Index)}} | ||||
| 								{{template "repo/issue/view_content/context_menu" Dict "ctxData" $ "item" .Issue "delete" false "issue" true "diff" false "IsCommentPoster" $.IsIssuePoster}} | ||||
| 							{{end}} | ||||
| 						</div> | ||||
| 					</div> | ||||
| @@ -80,13 +80,13 @@ | ||||
| 						<div id="issue-{{.Issue.ID}}-raw" class="raw-content gt-hidden">{{.Issue.Content}}</div> | ||||
| 						<div class="edit-content-zone gt-hidden" data-write="issue-{{.Issue.ID}}-write" data-preview="issue-{{.Issue.ID}}-preview" data-update-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/content" data-context="{{.RepoLink}}" data-attachment-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/attachments" data-view-attachment-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/view-attachments"></div> | ||||
| 						{{if .Issue.Attachments}} | ||||
| 							{{template "repo/issue/view_content/attachments" Dict "ctx" $ "Attachments" .Issue.Attachments "Content" .Issue.RenderedContent}} | ||||
| 							{{template "repo/issue/view_content/attachments" Dict "ctxData" $ "Attachments" .Issue.Attachments "Content" .Issue.RenderedContent}} | ||||
| 						{{end}} | ||||
| 					</div> | ||||
| 					{{$reactions := .Issue.Reactions.GroupByType}} | ||||
| 					{{if $reactions}} | ||||
| 						<div class="ui attached segment reactions" role="note"> | ||||
| 							{{template "repo/issue/view_content/reactions" Dict "ctx" $ "ActionURL" (Printf "%s/issues/%d/reactions" $.RepoLink .Issue.Index) "Reactions" $reactions}} | ||||
| 							{{template "repo/issue/view_content/reactions" Dict "ctxData" $ "ActionURL" (Printf "%s/issues/%d/reactions" $.RepoLink .Issue.Index) "Reactions" $reactions}} | ||||
| 						</div> | ||||
| 					{{end}} | ||||
| 				</div> | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| {{if .ctx.IsSigned}} | ||||
| {{if .ctxData.IsSigned}} | ||||
| <div class="item action ui pointing select-reaction dropdown top right" data-action-url="{{.ActionURL}}"> | ||||
| 	<a class="add-reaction"> | ||||
| 		{{svg "octicon-smiley"}} | ||||
| 	</a> | ||||
| 	<div class="menu"> | ||||
| 		<div class="header">{{.ctx.locale.Tr "repo.pick_reaction"}}</div> | ||||
| 		<div class="header">{{.ctxData.locale.Tr "repo.pick_reaction"}}</div> | ||||
| 		<div class="divider"></div> | ||||
| 		{{range $value := AllowedReactions}} | ||||
| 			<a class="item reaction tooltip" data-content="{{$value}}">{{ReactionToEmoji $value}}</a> | ||||
|   | ||||
| @@ -6,7 +6,7 @@ | ||||
| 		{{$hasThumbnails := false}} | ||||
| 		{{- range .Attachments -}} | ||||
| 			<div class="twelve wide column" style="padding: 6px;"> | ||||
| 				<a target="_blank" rel="noopener noreferrer" href="{{.DownloadURL}}" title='{{$.ctx.locale.Tr "repo.issues.attachment.open_tab" .Name}}'> | ||||
| 				<a target="_blank" rel="noopener noreferrer" href="{{.DownloadURL}}" title='{{$.ctxData.locale.Tr "repo.issues.attachment.open_tab" .Name}}'> | ||||
| 					{{if FilenameIsImage .Name}} | ||||
| 						{{if not (containGeneric $.Content .UUID)}} | ||||
| 							{{$hasThumbnails = true}} | ||||
| @@ -31,7 +31,7 @@ | ||||
| 				{{if FilenameIsImage .Name}} | ||||
| 					{{if not (containGeneric $.Content .UUID)}} | ||||
| 					<a target="_blank" rel="noopener noreferrer" href="{{.DownloadURL}}"> | ||||
| 						<img src="{{.DownloadURL}}" title='{{$.ctx.locale.Tr "repo.issues.attachment.open_tab" .Name}}'> | ||||
| 						<img src="{{.DownloadURL}}" title='{{$.ctxData.locale.Tr "repo.issues.attachment.open_tab" .Name}}'> | ||||
| 					</a> | ||||
| 					{{end}} | ||||
| 				{{end}} | ||||
|   | ||||
| @@ -64,8 +64,8 @@ | ||||
| 								</div> | ||||
| 							{{end}} | ||||
| 							{{if not $.Repository.IsArchived}} | ||||
| 								{{template "repo/issue/view_content/add_reaction" Dict "ctx" $ "ActionURL" (Printf "%s/comments/%d/reactions" $.RepoLink .ID)}} | ||||
| 								{{template "repo/issue/view_content/context_menu" Dict "ctx" $ "item" . "delete" true "issue" true "diff" false "IsCommentPoster" (and $.IsSigned (eq $.SignedUserID .PosterID))}} | ||||
| 								{{template "repo/issue/view_content/add_reaction" Dict "ctxData" $ "ActionURL" (Printf "%s/comments/%d/reactions" $.RepoLink .ID)}} | ||||
| 								{{template "repo/issue/view_content/context_menu" Dict "ctxData" $ "item" . "delete" true "issue" true "diff" false "IsCommentPoster" (and $.IsSigned (eq $.SignedUserID .PosterID))}} | ||||
| 							{{end}} | ||||
| 						</div> | ||||
| 					</div> | ||||
| @@ -80,13 +80,13 @@ | ||||
| 						<div id="issuecomment-{{.ID}}-raw" class="raw-content gt-hidden">{{.Content}}</div> | ||||
| 						<div class="edit-content-zone gt-hidden" data-write="issuecomment-{{.ID}}-write" data-preview="issuecomment-{{.ID}}-preview" data-update-url="{{$.RepoLink}}/comments/{{.ID}}" data-context="{{$.RepoLink}}" data-attachment-url="{{$.RepoLink}}/comments/{{.ID}}/attachments"></div> | ||||
| 						{{if .Attachments}} | ||||
| 							{{template "repo/issue/view_content/attachments" Dict "ctx" $ "Attachments" .Attachments "Content" .RenderedContent}} | ||||
| 							{{template "repo/issue/view_content/attachments" Dict "ctxData" $ "Attachments" .Attachments "Content" .RenderedContent}} | ||||
| 						{{end}} | ||||
| 					</div> | ||||
| 					{{$reactions := .Reactions.GroupByType}} | ||||
| 					{{if $reactions}} | ||||
| 						<div class="ui attached segment reactions" role="note"> | ||||
| 							{{template "repo/issue/view_content/reactions" Dict "ctx" $ "ActionURL" (Printf "%s/comments/%d/reactions" $.RepoLink .ID) "Reactions" $reactions}} | ||||
| 							{{template "repo/issue/view_content/reactions" Dict "ctxData" $ "ActionURL" (Printf "%s/comments/%d/reactions" $.RepoLink .ID) "Reactions" $reactions}} | ||||
| 						</div> | ||||
| 					{{end}} | ||||
| 				</div> | ||||
| @@ -260,7 +260,7 @@ | ||||
| 					{{template "shared/user/authorlink" .Poster}} | ||||
| 					{{$.locale.Tr "repo.issues.stop_tracking_history"  $createdStr | Safe}} | ||||
| 				</span> | ||||
| 				{{template "repo/issue/view_content/comments_delete_time" Dict "ctx" $ "comment" .}} | ||||
| 				{{template "repo/issue/view_content/comments_delete_time" Dict "ctxData" $ "comment" .}} | ||||
| 				<div class="detail"> | ||||
| 					{{svg "octicon-clock"}} | ||||
| 					<span class="text grey muted-links">{{.Content}}</span> | ||||
| @@ -274,7 +274,7 @@ | ||||
| 					{{template "shared/user/authorlink" .Poster}} | ||||
| 					{{$.locale.Tr "repo.issues.add_time_history"  $createdStr | Safe}} | ||||
| 				</span> | ||||
| 				{{template "repo/issue/view_content/comments_delete_time" Dict "ctx" $ "comment" .}} | ||||
| 				{{template "repo/issue/view_content/comments_delete_time" Dict "ctxData" $ "comment" .}} | ||||
| 				<div class="detail"> | ||||
| 					{{svg "octicon-clock"}} | ||||
| 					<span class="text grey muted-links">{{.Content}}</span> | ||||
| @@ -436,8 +436,8 @@ | ||||
| 										</div> | ||||
| 									{{end}} | ||||
| 									{{if not $.Repository.IsArchived}} | ||||
| 											{{template "repo/issue/view_content/add_reaction" Dict "ctx" $ "ActionURL" (Printf "%s/comments/%d/reactions" $.RepoLink .ID)}} | ||||
| 											{{template "repo/issue/view_content/context_menu" Dict "ctx" $ "item" . "delete" false "issue" true "diff" false "IsCommentPoster" (and $.IsSigned (eq $.SignedUserID .PosterID))}} | ||||
| 											{{template "repo/issue/view_content/add_reaction" Dict "ctxData" $ "ActionURL" (Printf "%s/comments/%d/reactions" $.RepoLink .ID)}} | ||||
| 											{{template "repo/issue/view_content/context_menu" Dict "ctxData" $ "item" . "delete" false "issue" true "diff" false "IsCommentPoster" (and $.IsSigned (eq $.SignedUserID .PosterID))}} | ||||
| 									{{end}} | ||||
| 							</div> | ||||
| 						</div> | ||||
| @@ -452,13 +452,13 @@ | ||||
| 							<div id="issuecomment-{{.ID}}-raw" class="raw-content gt-hidden">{{.Content}}</div> | ||||
| 							<div class="edit-content-zone gt-hidden" data-write="issuecomment-{{.ID}}-write" data-preview="issuecomment-{{.ID}}-preview" data-update-url="{{$.RepoLink}}/comments/{{.ID}}" data-context="{{$.RepoLink}}" data-attachment-url="{{$.RepoLink}}/comments/{{.ID}}/attachments"></div> | ||||
| 							{{if .Attachments}} | ||||
| 								{{template "repo/issue/view_content/attachments" Dict "ctx" $ "Attachments" .Attachments "Content" .RenderedContent}} | ||||
| 								{{template "repo/issue/view_content/attachments" Dict "ctxData" $ "Attachments" .Attachments "Content" .RenderedContent}} | ||||
| 							{{end}} | ||||
| 						</div> | ||||
| 						{{$reactions := .Reactions.GroupByType}} | ||||
| 						{{if $reactions}} | ||||
| 							<div class="ui attached segment reactions"> | ||||
| 									{{template "repo/issue/view_content/reactions" Dict "ctx" $ "ActionURL" (Printf "%s/comments/%d/reactions" $.RepoLink .ID) "Reactions" $reactions}} | ||||
| 									{{template "repo/issue/view_content/reactions" Dict "ctxData" $ "ActionURL" (Printf "%s/comments/%d/reactions" $.RepoLink .ID) "Reactions" $reactions}} | ||||
| 							</div> | ||||
| 						{{end}} | ||||
| 					</div> | ||||
| @@ -563,8 +563,8 @@ | ||||
| 																	</div> | ||||
| 																{{end}} | ||||
| 																{{if not $.Repository.IsArchived}} | ||||
| 																	{{template "repo/issue/view_content/add_reaction" Dict "ctx" $ "ActionURL" (Printf "%s/comments/%d/reactions" $.RepoLink .ID)}} | ||||
| 																	{{template "repo/issue/view_content/context_menu" Dict "ctx" $ "item" . "delete" true "issue" true "diff" true "IsCommentPoster" (and $.IsSigned (eq $.SignedUserID .PosterID))}} | ||||
| 																	{{template "repo/issue/view_content/add_reaction" Dict "ctxData" $ "ActionURL" (Printf "%s/comments/%d/reactions" $.RepoLink .ID)}} | ||||
| 																	{{template "repo/issue/view_content/context_menu" Dict "ctxData" $ "item" . "delete" true "issue" true "diff" true "IsCommentPoster" (and $.IsSigned (eq $.SignedUserID .PosterID))}} | ||||
| 																{{end}} | ||||
| 															</div> | ||||
| 														</div> | ||||
| @@ -582,7 +582,7 @@ | ||||
| 														{{$reactions := .Reactions.GroupByType}} | ||||
| 														{{if $reactions}} | ||||
| 															<div class="ui attached segment reactions"> | ||||
| 																{{template "repo/issue/view_content/reactions" Dict "ctx" $ "ActionURL" (Printf "%s/comments/%d/reactions" $.RepoLink .ID) "Reactions" $reactions}} | ||||
| 																{{template "repo/issue/view_content/reactions" Dict "ctxData" $ "ActionURL" (Printf "%s/comments/%d/reactions" $.RepoLink .ID) "Reactions" $reactions}} | ||||
| 															</div> | ||||
| 														{{end}} | ||||
| 													</div> | ||||
|   | ||||
| @@ -1,18 +1,18 @@ | ||||
| {{if .comment.Time}} {{/* compatibility with time comments made before v1.14 */}} | ||||
| 	{{if (not .comment.Time.Deleted)}} | ||||
| 		{{if (or .ctx.IsAdmin (and .ctx.IsSigned (eq .ctx.SignedUserID .comment.PosterID)))}} | ||||
| 		{{if (or .ctxData.IsAdmin (and .ctxData.IsSigned (eq .ctxData.SignedUserID .comment.PosterID)))}} | ||||
| 			<span class="ui float right"> | ||||
| 				<div class="ui mini modal issue-delete-time-modal" data-id="{{.comment.Time.ID}}"> | ||||
| 					<form method="POST" class="delete-time-form" action="{{.ctx.RepoLink}}/issues/{{.ctx.Issue.Index}}/times/{{.comment.TimeID}}/delete"> | ||||
| 						{{.ctx.CsrfTokenHtml}} | ||||
| 					<form method="POST" class="delete-time-form" action="{{.ctxData.RepoLink}}/issues/{{.ctxData.Issue.Index}}/times/{{.comment.TimeID}}/delete"> | ||||
| 						{{.ctxData.CsrfTokenHtml}} | ||||
| 					</form> | ||||
| 					<div class="header">{{.ctx.locale.Tr "repo.issues.del_time"}}</div> | ||||
| 					<div class="header">{{.ctxData.locale.Tr "repo.issues.del_time"}}</div> | ||||
| 					<div class="actions"> | ||||
| 						<div class="ui red approve button">{{.ctx.locale.Tr "repo.issues.context.delete"}}</div> | ||||
| 						<div class="ui cancel button">{{.ctx.locale.Tr "repo.issues.add_time_cancel"}}</div> | ||||
| 						<div class="ui red approve button">{{.ctxData.locale.Tr "repo.issues.context.delete"}}</div> | ||||
| 						<div class="ui cancel button">{{.ctxData.locale.Tr "repo.issues.add_time_cancel"}}</div> | ||||
| 					</div> | ||||
| 				</div> | ||||
| 				<button class="ui icon button compact mini issue-delete-time tooltip" data-id="{{.comment.Time.ID}}" data-content="{{.ctx.locale.Tr "repo.issues.del_time"}}" data-position="top right"> | ||||
| 				<button class="ui icon button compact mini issue-delete-time tooltip" data-id="{{.comment.Time.ID}}" data-content="{{.ctxData.locale.Tr "repo.issues.del_time"}}" data-position="top right"> | ||||
| 					{{svg "octicon-trash"}} | ||||
| 				</button> | ||||
| 			</span> | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| {{if .ctx.IsSigned}} | ||||
| {{if .ctxData.IsSigned}} | ||||
| <div class="item action ui pointing custom dropdown top right context-dropdown"> | ||||
| 	<a class="context-menu"> | ||||
| 		{{svg "octicon-kebab-horizontal"}} | ||||
| @@ -6,20 +6,20 @@ | ||||
| 	<div class="menu"> | ||||
| 		{{$referenceUrl := ""}} | ||||
| 		{{if .issue}} | ||||
| 			{{$referenceUrl = Printf "%s#%s" .ctx.Issue.Link .item.HashTag}} | ||||
| 			{{$referenceUrl = Printf "%s#%s" .ctxData.Issue.Link .item.HashTag}} | ||||
| 		{{else}} | ||||
| 			{{$referenceUrl = Printf "%s/files#%s" .ctx.Issue.Link .item.HashTag}} | ||||
| 			{{$referenceUrl = Printf "%s/files#%s" .ctxData.Issue.Link .item.HashTag}} | ||||
| 		{{end}} | ||||
| 		<a class="item context" data-clipboard-text-type="url" data-clipboard-text="{{AppSubUrl}}{{$referenceUrl}}">{{.ctx.locale.Tr "repo.issues.context.copy_link"}}</a> | ||||
| 		<a class="item context quote-reply {{if .diff}}quote-reply-diff{{end}}" data-target="{{.item.HashTag}}-raw">{{.ctx.locale.Tr "repo.issues.context.quote_reply"}}</a> | ||||
| 		{{if not .ctx.UnitIssuesGlobalDisabled}} | ||||
| 			<a class="item context reference-issue" data-target="{{.item.HashTag}}-raw" data-modal="#reference-issue-modal" data-poster="{{.item.Poster.GetDisplayName}}" data-poster-username="{{.item.Poster.Name}}" data-reference="{{$referenceUrl}}">{{.ctx.locale.Tr "repo.issues.context.reference_issue"}}</a> | ||||
| 		<a class="item context" data-clipboard-text-type="url" data-clipboard-text="{{AppSubUrl}}{{$referenceUrl}}">{{.ctxData.locale.Tr "repo.issues.context.copy_link"}}</a> | ||||
| 		<a class="item context quote-reply {{if .diff}}quote-reply-diff{{end}}" data-target="{{.item.HashTag}}-raw">{{.ctxData.locale.Tr "repo.issues.context.quote_reply"}}</a> | ||||
| 		{{if not .ctxData.UnitIssuesGlobalDisabled}} | ||||
| 			<a class="item context reference-issue" data-target="{{.item.HashTag}}-raw" data-modal="#reference-issue-modal" data-poster="{{.item.Poster.GetDisplayName}}" data-poster-username="{{.item.Poster.Name}}" data-reference="{{$referenceUrl}}">{{.ctxData.locale.Tr "repo.issues.context.reference_issue"}}</a> | ||||
| 		{{end}} | ||||
| 		{{if or .ctx.Permission.IsAdmin .IsCommentPoster .ctx.HasIssuesOrPullsWritePermission}} | ||||
| 		{{if or .ctxData.Permission.IsAdmin .IsCommentPoster .ctxData.HasIssuesOrPullsWritePermission}} | ||||
| 			<div class="divider"></div> | ||||
| 			<a class="item context edit-content">{{.ctx.locale.Tr "repo.issues.context.edit"}}</a> | ||||
| 			<a class="item context edit-content">{{.ctxData.locale.Tr "repo.issues.context.edit"}}</a> | ||||
| 			{{if .delete}} | ||||
| 				<a class="item context delete-comment" data-comment-id={{.item.HashTag}} data-url="{{.ctx.RepoLink}}/comments/{{.item.ID}}/delete" data-locale="{{.ctx.locale.Tr "repo.issues.delete_comment_confirm"}}">{{.ctx.locale.Tr "repo.issues.context.delete"}}</a> | ||||
| 				<a class="item context delete-comment" data-comment-id={{.item.HashTag}} data-url="{{.ctxData.RepoLink}}/comments/{{.item.ID}}/delete" data-locale="{{.ctxData.locale.Tr "repo.issues.delete_comment_confirm"}}">{{.ctxData.locale.Tr "repo.issues.context.delete"}}</a> | ||||
| 			{{end}} | ||||
| 		{{end}} | ||||
| 	</div> | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| {{range $key, $value := .Reactions}} | ||||
| 	<a class="ui label basic{{if $value.HasUser $.ctx.SignedUserID}} primary{{end}}{{if not $.ctx.IsSigned}} disabled{{end}}" data-title="{{$value.GetFirstUsers}}{{if gt ($value.GetMoreUserCount) 0}} {{$.ctx.locale.Tr "repo.reactions_more" $value.GetMoreUserCount}}{{end}}" data-content="{{$key}}" data-action-url="{{$.ActionURL}}"> | ||||
| 	<a class="ui label basic{{if $value.HasUser $.ctxData.SignedUserID}} primary{{end}}{{if not $.ctxData.IsSigned}} disabled{{end}}" data-title="{{$value.GetFirstUsers}}{{if gt ($value.GetMoreUserCount) 0}} {{$.ctxData.locale.Tr "repo.reactions_more" $value.GetMoreUserCount}}{{end}}" data-content="{{$key}}" data-action-url="{{$.ActionURL}}"> | ||||
| 		<span class="reaction">{{ReactionToEmoji $key}}</span> | ||||
| 		<span class="reaction-count">{{len $value}}</span> | ||||
| 	</a> | ||||
| {{end}} | ||||
| {{if AllowedReactions}} | ||||
| 	{{template "repo/issue/view_content/add_reaction" Dict "ctx" $.ctx "ActionURL" .ActionURL}} | ||||
| 	{{template "repo/issue/view_content/add_reaction" Dict "ctxData" $.ctxData "ActionURL" .ActionURL}} | ||||
| {{end}} | ||||
|   | ||||
| @@ -149,7 +149,7 @@ | ||||
| 				{{end}} | ||||
| 			</div> | ||||
| 		</div> | ||||
| 		{{template "repo/issue/labels/labels_sidebar" dict "root" $ "ctx" .}} | ||||
| 		{{template "repo/issue/labels/labels_sidebar" dict "root" $}} | ||||
|  | ||||
| 		<div class="ui divider"></div> | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user