You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

new_form.tmpl 7.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. {{if .Flash}}
  2. {{template "base/alert" .}}
  3. {{end}}
  4. <form class="issue-content ui comment form form-fetch-action" id="new-issue" action="{{.Link}}" method="post">
  5. {{.CsrfTokenHtml}}
  6. <div class="issue-content-left">
  7. <div class="ui comments">
  8. <div class="comment">
  9. {{ctx.AvatarUtils.Avatar .SignedUser 40}}
  10. <div class="ui segment content gt-my-0">
  11. <div class="field">
  12. <input name="title" id="issue_title" placeholder="{{ctx.Locale.Tr "repo.milestones.title"}}" value="{{if .TitleQuery}}{{.TitleQuery}}{{else if .IssueTemplateTitle}}{{.IssueTemplateTitle}}{{else}}{{.title}}{{end}}" autofocus required maxlength="255" autocomplete="off">
  13. {{if .PageIsComparePull}}
  14. <div class="title_wip_desc" data-wip-prefixes="{{JsonUtils.EncodeToString .PullRequestWorkInProgressPrefixes}}">{{ctx.Locale.Tr "repo.pulls.title_wip_desc" (index .PullRequestWorkInProgressPrefixes 0)}}</div>
  15. {{end}}
  16. </div>
  17. {{if .Fields}}
  18. <input type="hidden" name="template-file" value="{{.TemplateFile}}">
  19. {{range .Fields}}
  20. {{if eq .Type "input"}}
  21. {{template "repo/issue/fields/input" dict "Context" $.Context "item" .}}
  22. {{else if eq .Type "markdown"}}
  23. {{template "repo/issue/fields/markdown" dict "Context" $.Context "item" .}}
  24. {{else if eq .Type "textarea"}}
  25. {{template "repo/issue/fields/textarea" dict "Context" $.Context "item" . "root" $}}
  26. {{else if eq .Type "dropdown"}}
  27. {{template "repo/issue/fields/dropdown" dict "Context" $.Context "item" .}}
  28. {{else if eq .Type "checkboxes"}}
  29. {{template "repo/issue/fields/checkboxes" dict "Context" $.Context "item" .}}
  30. {{end}}
  31. {{end}}
  32. {{else}}
  33. {{template "repo/issue/comment_tab" .}}
  34. {{end}}
  35. <div class="text right">
  36. <button class="ui primary button">
  37. {{if .PageIsComparePull}}
  38. {{ctx.Locale.Tr "repo.pulls.create"}}
  39. {{else}}
  40. {{ctx.Locale.Tr "repo.issues.create"}}
  41. {{end}}
  42. </button>
  43. </div>
  44. </div>
  45. </div>
  46. </div>
  47. </div>
  48. <div class="issue-content-right ui segment">
  49. {{template "repo/issue/branch_selector_field" .}}
  50. <input id="label_ids" name="label_ids" type="hidden" value="{{.label_ids}}">
  51. {{template "repo/issue/labels/labels_selector_field" .}}
  52. {{template "repo/issue/labels/labels_sidebar" dict "root" $}}
  53. <div class="divider"></div>
  54. <input id="milestone_id" name="milestone_id" type="hidden" value="{{.milestone_id}}">
  55. <div class="ui {{if not .HasIssuesOrPullsWritePermission}}disabled{{end}} floating jump select-milestone dropdown">
  56. <span class="text flex-text-block">
  57. <strong>{{ctx.Locale.Tr "repo.issues.new.milestone"}}</strong>
  58. {{if .HasIssuesOrPullsWritePermission}}
  59. {{svg "octicon-gear" 16 "gt-ml-2"}}
  60. {{end}}
  61. </span>
  62. <div class="menu">
  63. {{template "repo/issue/milestone/select_menu" .}}
  64. </div>
  65. </div>
  66. <div class="ui select-milestone list">
  67. <span class="no-select item {{if .Milestone}}gt-hidden{{end}}">{{ctx.Locale.Tr "repo.issues.new.no_milestone"}}</span>
  68. <div class="selected">
  69. {{if .Milestone}}
  70. <a class="item muted sidebar-item-link" href="{{.RepoLink}}/issues?milestone={{.Milestone.ID}}">
  71. {{svg "octicon-milestone" 18 "gt-mr-3"}}
  72. {{.Milestone.Name}}
  73. </a>
  74. {{end}}
  75. </div>
  76. </div>
  77. {{if .IsProjectsEnabled}}
  78. <div class="divider"></div>
  79. <input id="project_id" name="project_id" type="hidden" value="{{.project_id}}">
  80. <div class="ui {{if not .HasIssuesOrPullsWritePermission}}disabled{{end}} floating jump select-project dropdown">
  81. <span class="text flex-text-block">
  82. <strong>{{ctx.Locale.Tr "repo.issues.new.projects"}}</strong>
  83. {{if .HasIssuesOrPullsWritePermission}}
  84. {{svg "octicon-gear" 16 "gt-ml-2"}}
  85. {{end}}
  86. </span>
  87. <div class="menu">
  88. {{if or .OpenProjects .ClosedProjects}}
  89. <div class="ui icon search input">
  90. <i class="icon">{{svg "octicon-search" 16}}</i>
  91. <input type="text" placeholder="{{ctx.Locale.Tr "repo.issues.filter_projects"}}">
  92. </div>
  93. {{end}}
  94. <div class="no-select item">{{ctx.Locale.Tr "repo.issues.new.clear_projects"}}</div>
  95. {{if and (not .OpenProjects) (not .ClosedProjects)}}
  96. <div class="disabled item">
  97. {{ctx.Locale.Tr "repo.issues.new.no_items"}}
  98. </div>
  99. {{else}}
  100. {{if .OpenProjects}}
  101. <div class="divider"></div>
  102. <div class="header">
  103. {{ctx.Locale.Tr "repo.issues.new.open_projects"}}
  104. </div>
  105. {{range .OpenProjects}}
  106. <a class="item muted sidebar-item-link" data-id="{{.ID}}" data-href="{{.Link ctx}}">
  107. {{svg .IconName 18 "gt-mr-3"}}{{.Title}}
  108. </a>
  109. {{end}}
  110. {{end}}
  111. {{if .ClosedProjects}}
  112. <div class="divider"></div>
  113. <div class="header">
  114. {{ctx.Locale.Tr "repo.issues.new.closed_projects"}}
  115. </div>
  116. {{range .ClosedProjects}}
  117. <a class="item muted sidebar-item-link" data-id="{{.ID}}" data-href="{{.Link ctx}}">
  118. {{svg .IconName 18 "gt-mr-3"}}{{.Title}}
  119. </a>
  120. {{end}}
  121. {{end}}
  122. {{end}}
  123. </div>
  124. </div>
  125. <div class="ui select-project list">
  126. <span class="no-select item {{if .Project}}gt-hidden{{end}}">{{ctx.Locale.Tr "repo.issues.new.no_projects"}}</span>
  127. <div class="selected">
  128. {{if .Project}}
  129. <a class="item muted sidebar-item-link" href="{{.Project.Link ctx}}">
  130. {{svg .Project.IconName 18 "gt-mr-3"}}{{.Project.Title}}
  131. </a>
  132. {{end}}
  133. </div>
  134. </div>
  135. {{end}}
  136. <div class="divider"></div>
  137. <input id="assignee_ids" name="assignee_ids" type="hidden" value="{{.assignee_ids}}">
  138. <div class="ui {{if not .HasIssuesOrPullsWritePermission}}disabled{{end}} floating jump select-assignees dropdown">
  139. <span class="text flex-text-block">
  140. <strong>{{ctx.Locale.Tr "repo.issues.new.assignees"}}</strong>
  141. {{if .HasIssuesOrPullsWritePermission}}
  142. {{svg "octicon-gear" 16 "gt-ml-2"}}
  143. {{end}}
  144. </span>
  145. <div class="filter menu" data-id="#assignee_ids">
  146. <div class="ui icon search input">
  147. <i class="icon">{{svg "octicon-search" 16}}</i>
  148. <input type="text" placeholder="{{ctx.Locale.Tr "repo.issues.filter_assignees"}}">
  149. </div>
  150. <div class="no-select item">{{ctx.Locale.Tr "repo.issues.new.clear_assignees"}}</div>
  151. {{range .Assignees}}
  152. <a class="item muted" href="#" data-id="{{.ID}}" data-id-selector="#assignee_{{.ID}}">
  153. <span class="octicon-check tw-invisible">{{svg "octicon-check"}}</span>
  154. <span class="text">
  155. {{ctx.AvatarUtils.Avatar . 28 "gt-mr-3"}}{{template "repo/search_name" .}}
  156. </span>
  157. </a>
  158. {{end}}
  159. </div>
  160. </div>
  161. <div class="ui assignees list">
  162. <span class="no-select item {{if .HasSelectedLabel}}gt-hidden{{end}}">
  163. {{ctx.Locale.Tr "repo.issues.new.no_assignees"}}
  164. </span>
  165. <div class="selected">
  166. {{range .Assignees}}
  167. <a class="item gt-p-2 muted gt-hidden" id="assignee_{{.ID}}" href="{{$.RepoLink}}/issues?assignee={{.ID}}">
  168. {{ctx.AvatarUtils.Avatar . 28 "gt-mr-3 tw-align-middle"}}{{.GetDisplayName}}
  169. </a>
  170. {{end}}
  171. </div>
  172. </div>
  173. {{if and .PageIsComparePull (not (eq .HeadRepo.FullName .BaseCompareRepo.FullName)) .CanWriteToHeadRepo}}
  174. <div class="divider"></div>
  175. <div class="inline field">
  176. <div class="ui checkbox">
  177. <label data-tooltip-content="{{ctx.Locale.Tr "repo.pulls.allow_edits_from_maintainers_desc"}}"><strong>{{ctx.Locale.Tr "repo.pulls.allow_edits_from_maintainers"}}</strong></label>
  178. <input name="allow_maintainer_edit" type="checkbox" {{if .AllowMaintainerEdit}}checked{{end}}>
  179. </div>
  180. </div>
  181. {{end}}
  182. </div>
  183. <input type="hidden" name="redirect_after_creation" value="{{.redirect_after_creation}}">
  184. </form>