gitea源码

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. {{template "base/head" .}}
  2. <div role="main" aria-label="{{.Title}}" class="page-content repository new-repo">
  3. <div class="ui container medium-width">
  4. <h3 class="ui top attached header">
  5. {{ctx.Locale.Tr "new_repo"}}
  6. </h3>
  7. <div class="ui attached segment">
  8. {{template "base/alert" .}}
  9. {{template "repo/create_helper" .}}
  10. <form class="ui form left-right-form new-repo-form" action="{{.Link}}" method="post">
  11. {{.CsrfTokenHtml}}
  12. <div id="create-repo-error-message" class="ui negative message tw-text-center tw-hidden"></div>
  13. <div class="inline required field {{if .Err_Owner}}error{{end}}">
  14. <label>{{ctx.Locale.Tr "repo.owner"}}</label>
  15. <div class="ui selection dropdown ellipsis-text-items" id="repo_owner_dropdown">
  16. <input type="hidden" name="uid" value="{{.ContextUser.ID}}">
  17. <span class="text"></span>
  18. {{svg "octicon-triangle-down" 14 "dropdown icon"}}
  19. <div class="menu">
  20. <div class="item" data-value="{{.SignedUser.ID}}" title="{{.SignedUser.Name}}"
  21. {{if not .CanCreateRepoInDoer}}
  22. data-create-repo-disallowed-prompt="{{ctx.Locale.TrN .MaxCreationLimit "repo.form.reach_limit_of_creation_1" "repo.form.reach_limit_of_creation_n" .MaxCreationLimitOfDoer}}"
  23. {{end}}
  24. >
  25. {{ctx.AvatarUtils.Avatar .SignedUser 28 "mini"}}
  26. {{.SignedUser.ShortName 40}}
  27. </div>
  28. {{range .Orgs}}
  29. <div class="item" data-value="{{.ID}}" title="{{.Name}}">
  30. {{ctx.AvatarUtils.Avatar . 28 "mini"}}
  31. {{.ShortName 40}}
  32. </div>
  33. {{end}}
  34. </div>
  35. </div>
  36. <span class="help">{{ctx.Locale.Tr "repo.owner_helper"}}</span>
  37. </div>
  38. <div class="inline required field {{if .Err_RepoName}}error{{end}}">
  39. <label for="repo_name">{{ctx.Locale.Tr "repo.repo_name"}}</label>
  40. <input id="repo_name" name="repo_name" value="{{.repo_name}}" autofocus required maxlength="100">
  41. <span class="help" data-help-for-repo-name>{{ctx.Locale.Tr "repo.repo_name_helper"}}</span>
  42. <span class="help tw-hidden" data-help-for-repo-name=".profile">{{ctx.Locale.Tr "repo.repo_name_profile_public_hint"}}</span>
  43. <span class="help tw-hidden" data-help-for-repo-name=".profile-private">{{ctx.Locale.Tr "repo.repo_name_profile_private_hint"}}</span>
  44. </div>
  45. <div class="inline field">
  46. <label>{{ctx.Locale.Tr "repo.visibility"}}</label>
  47. <div class="ui checkbox">
  48. {{if .IsForcedPrivate}}
  49. <input name="private" type="checkbox" checked disabled>
  50. <label>{{ctx.Locale.Tr "repo.visibility_helper_forced"}}</label>
  51. {{else}}
  52. <input name="private" type="checkbox" {{if .private}}checked{{end}}>
  53. <label>{{ctx.Locale.Tr "repo.visibility_helper"}}</label>
  54. {{end}}
  55. </div>
  56. <span class="help">{{ctx.Locale.Tr "repo.visibility_description"}}</span>
  57. </div>
  58. <div class="inline field {{if .Err_Description}}error{{end}}">
  59. <label for="description">{{ctx.Locale.Tr "repo.repo_desc"}}</label>
  60. <textarea id="description" rows="2" name="description" placeholder="{{ctx.Locale.Tr "repo.repo_desc_helper"}}" maxlength="2048">{{.description}}</textarea>
  61. </div>
  62. <div class="inline field">
  63. <label>{{ctx.Locale.Tr "repo.template"}}</label>
  64. <div id="repo_template_search" class="ui search selection dropdown">
  65. <input type="hidden" id="repo_template" name="repo_template" value="{{or .repo_template ""}}">
  66. <div class="default text">{{.repo_template_name}}</div>
  67. <div class="menu">
  68. </div>
  69. </div>
  70. </div>
  71. <div id="template_units" class="tw-hidden">
  72. <div class="inline field">
  73. <label>{{ctx.Locale.Tr "repo.template.items"}}</label>
  74. <div class="ui checkbox">
  75. <input name="git_content" type="checkbox" {{if .git_content}}checked{{end}}>
  76. <label>{{ctx.Locale.Tr "repo.template.git_content"}}</label>
  77. </div>
  78. <div class="ui checkbox" {{if not .SignedUser.CanEditGitHook}}data-tooltip-content="{{ctx.Locale.Tr "repo.template.git_hooks_tooltip"}}"{{end}}>
  79. <input name="git_hooks" type="checkbox" {{if .git_hooks}}checked{{end}}>
  80. <label>{{ctx.Locale.Tr "repo.template.git_hooks"}}</label>
  81. </div>
  82. </div>
  83. <div class="inline field">
  84. <label></label>
  85. <div class="ui checkbox">
  86. <input name="webhooks" type="checkbox" {{if .webhooks}}checked{{end}}>
  87. <label>{{ctx.Locale.Tr "repo.template.webhooks"}}</label>
  88. </div>
  89. <div class="ui checkbox">
  90. <input name="topics" type="checkbox" {{if .topics}}checked{{end}}>
  91. <label>{{ctx.Locale.Tr "repo.template.topics"}}</label>
  92. </div>
  93. </div>
  94. <div class="inline field">
  95. <label></label>
  96. <div class="ui checkbox">
  97. <input name="avatar" type="checkbox" {{if .avatar}}checked{{end}}>
  98. <label>{{ctx.Locale.Tr "repo.template.avatar"}}</label>
  99. </div>
  100. <div class="ui checkbox">
  101. <input name="labels" type="checkbox" {{if .labels}}checked{{end}}>
  102. <label>{{ctx.Locale.Tr "repo.template.issue_labels"}}</label>
  103. </div>
  104. </div>
  105. <div class="inline field">
  106. <label></label>
  107. <div class="ui checkbox">
  108. <input name="protected_branch" type="checkbox" {{if .protected_branch}}checked{{end}}>
  109. <label>{{ctx.Locale.Tr "repo.settings.protected_branch"}}</label>
  110. </div>
  111. </div>
  112. </div>
  113. <div id="non_template">
  114. <div class="inline field">
  115. <label>{{ctx.Locale.Tr "repo.issue_labels"}}</label>
  116. <div class="ui search selection dropdown">
  117. <input type="hidden" name="issue_labels" value="{{.issueLabels}}">
  118. <div class="default text">{{ctx.Locale.Tr "repo.issue_labels_helper"}}</div>
  119. <div class="menu">
  120. <div class="item" data-value="">{{ctx.Locale.Tr "repo.issue_labels_helper"}}</div>
  121. {{range .LabelTemplateFiles}}
  122. <div class="item" data-value="{{.DisplayName}}">{{.DisplayName}}<br><i>({{.Description}})</i></div>
  123. {{end}}
  124. </div>
  125. </div>
  126. </div>
  127. <div class="divider"></div>
  128. <div class="inline field">
  129. <label>.gitignore</label>
  130. <div class="ui multiple search selection dropdown">
  131. <input type="hidden" name="gitignores" value="{{.gitignores}}">
  132. <div class="default text">{{ctx.Locale.Tr "repo.repo_gitignore_helper"}}</div>
  133. <div class="menu">
  134. {{range .Gitignores}}
  135. <div class="item" data-value="{{.}}">{{.}}</div>
  136. {{end}}
  137. </div>
  138. </div>
  139. <span class="help">{{ctx.Locale.Tr "repo.repo_gitignore_helper_desc"}}</span>
  140. </div>
  141. <div class="inline field">
  142. <label>{{ctx.Locale.Tr "repo.license"}}</label>
  143. <div class="ui search selection dropdown">
  144. <input type="hidden" name="license" value="{{.license}}">
  145. <div class="default text">{{ctx.Locale.Tr "repo.license_helper"}}</div>
  146. <div class="menu">
  147. <div class="item" data-value="">{{ctx.Locale.Tr "repo.license_helper"}}</div>
  148. {{range .Licenses}}
  149. <div class="item" data-value="{{.}}">{{.}}</div>
  150. {{end}}
  151. </div>
  152. </div>
  153. <span class="help">{{ctx.Locale.Tr "repo.license_helper_desc" "https://choosealicense.com/"}}</span>
  154. </div>
  155. <div class="inline field">
  156. <label>{{ctx.Locale.Tr "repo.readme"}}</label>
  157. <div class="ui selection dropdown">
  158. <input type="hidden" name="readme" value="{{.readme}}">
  159. <div class="default text">{{ctx.Locale.Tr "repo.readme_helper"}}</div>
  160. <div class="menu">
  161. {{range .Readmes}}
  162. <div class="item" data-value="{{.}}">{{.}}</div>
  163. {{end}}
  164. </div>
  165. </div>
  166. <span class="help">{{ctx.Locale.Tr "repo.readme_helper_desc"}}</span>
  167. </div>
  168. <div class="inline field">
  169. <label></label>
  170. <div class="ui checkbox" id="auto-init">
  171. <input name="auto_init" type="checkbox" {{if .auto_init}}checked{{end}}>
  172. <label>{{ctx.Locale.Tr "repo.auto_init"}}</label>
  173. </div>
  174. </div>
  175. <div class="inline field">
  176. <label for="default_branch">{{ctx.Locale.Tr "repo.default_branch"}}</label>
  177. <input id="default_branch" name="default_branch" value="{{.default_branch}}" placeholder="{{.default_branch}}">
  178. <span class="help">{{ctx.Locale.Tr "repo.default_branch_helper"}}</span>
  179. </div>
  180. <div class="inline field">
  181. <label>{{ctx.Locale.Tr "repo.object_format"}}</label>
  182. <div class="ui selection owner dropdown">
  183. <input type="hidden" id="object_format_name" name="object_format_name" value="{{or .object_format_name .DefaultObjectFormat.Name}}" required>
  184. <div class="default text">{{.DefaultObjectFormat.Name}}</div>
  185. <div class="menu">
  186. {{range .SupportedObjectFormats}}
  187. <div class="item" data-value="{{.Name}}">{{.Name}}</div>
  188. {{end}}
  189. </div>
  190. </div>
  191. <span class="help">{{ctx.Locale.Tr "repo.object_format_helper"}}</span>
  192. </div>
  193. <div class="inline field">
  194. <label>{{ctx.Locale.Tr "repo.template"}}</label>
  195. <div class="ui checkbox">
  196. <input name="template" type="checkbox">
  197. <label>{{ctx.Locale.Tr "repo.template_helper"}}</label>
  198. </div>
  199. </div>
  200. </div>
  201. <br>
  202. <div class="inline field">
  203. <label></label>
  204. <button class="ui primary button">
  205. {{ctx.Locale.Tr "repo.create_repo"}}
  206. </button>
  207. </div>
  208. </form>
  209. </div>
  210. </div>
  211. </div>
  212. {{template "base/footer" .}}