mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-31 06:21:11 +00:00 
			
		
		
		
	This was [implemented](022820103d) almost 10 years ago in Gogs.
It was using `readonly` attribute instead of `disabled` on checkbox which was doing nothing. According to [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/readonly), `readonly` attribute is not applicable to checkbox inputs. This bug was reported by mrwusel in Matrix room.
Fork page that has similar UI feature did not have this bug.
- replace `readonly` with `disabled`
- do not put info about the restriction directly into the checkbox title
### Before

### After

### In other case

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3786
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
		
	
			
		
			
				
	
	
		
			224 lines
		
	
	
	
		
			9.4 KiB
		
	
	
	
		
			Go HTML Template
		
	
	
	
	
	
			
		
		
	
	
			224 lines
		
	
	
	
		
			9.4 KiB
		
	
	
	
		
			Go HTML Template
		
	
	
	
	
	
| {{template "base/head" .}}
 | |
| <div role="main" aria-label="{{.Title}}" class="page-content repository new repo">
 | |
| 	<div class="ui middle very relaxed page one column grid">
 | |
| 		<div class="column">
 | |
| 			<form class="ui form" action="{{.Link}}" method="post">
 | |
| 				{{.CsrfTokenHtml}}
 | |
| 				<h3 class="ui top attached header">
 | |
| 					{{ctx.Locale.Tr "new_repo"}}
 | |
| 				</h3>
 | |
| 				<div class="ui attached segment">
 | |
| 					{{template "base/alert" .}}
 | |
| 					{{template "repo/create_helper" .}}
 | |
| 
 | |
| 					{{if not .CanCreateRepo}}
 | |
| 						<div class="ui negative message">
 | |
| 							<p>{{ctx.Locale.TrN .MaxCreationLimit "repo.form.reach_limit_of_creation_1" "repo.form.reach_limit_of_creation_n" .MaxCreationLimit}}</p>
 | |
| 						</div>
 | |
| 					{{end}}
 | |
| 					<div class="inline required field {{if .Err_Owner}}error{{end}}">
 | |
| 						<label>{{ctx.Locale.Tr "repo.owner"}}</label>
 | |
| 						<div class="ui selection owner dropdown">
 | |
| 							<input type="hidden" id="uid" name="uid" value="{{.ContextUser.ID}}" required>
 | |
| 							<span class="text truncated-item-container" title="{{.ContextUser.Name}}">
 | |
| 								{{ctx.AvatarUtils.Avatar .ContextUser 28 "mini"}}
 | |
| 								<span class="truncated-item-name">{{.ContextUser.ShortName 40}}</span>
 | |
| 							</span>
 | |
| 							{{svg "octicon-triangle-down" 14 "dropdown icon"}}
 | |
| 							<div class="menu">
 | |
| 								<div class="item truncated-item-container" data-value="{{.SignedUser.ID}}" title="{{.SignedUser.Name}}">
 | |
| 									{{ctx.AvatarUtils.Avatar .SignedUser 28 "mini"}}
 | |
| 									<span class="truncated-item-name">{{.SignedUser.ShortName 40}}</span>
 | |
| 								</div>
 | |
| 								{{range .Orgs}}
 | |
| 									<div class="item truncated-item-container" data-value="{{.ID}}" title="{{.Name}}">
 | |
| 										{{ctx.AvatarUtils.Avatar . 28 "mini"}}
 | |
| 										<span class="truncated-item-name">{{.ShortName 40}}</span>
 | |
| 									</div>
 | |
| 								{{end}}
 | |
| 							</div>
 | |
| 						</div>
 | |
| 						<span class="help">{{ctx.Locale.Tr "repo.owner_helper"}}</span>
 | |
| 					</div>
 | |
| 
 | |
| 					<div class="inline required field {{if .Err_RepoName}}error{{end}}">
 | |
| 						<label for="repo_name">{{ctx.Locale.Tr "repo.repo_name"}}</label>
 | |
| 						<input id="repo_name" name="repo_name" value="{{.repo_name}}" autofocus required maxlength="100">
 | |
| 						<span class="help">{{ctx.Locale.Tr "repo.repo_name_helper"}}</span>
 | |
| 					</div>
 | |
| 					<div class="inline field">
 | |
| 						<label>{{ctx.Locale.Tr "repo.visibility"}}</label>
 | |
| 						<div class="ui checkbox">
 | |
| 							<input name="private" type="checkbox"
 | |
| 								{{if .IsForcedPrivate}}
 | |
| 									checked disabled
 | |
| 								{{else}}
 | |
| 									{{if .private}}checked{{end}}
 | |
| 								{{end}}>
 | |
| 							<label>{{ctx.Locale.Tr "repo.visibility_helper"}}</label>
 | |
| 						</div>
 | |
| 						{{if .IsForcedPrivate}}
 | |
| 							<span class="help">{{ctx.Locale.Tr "repo.visibility_helper_forced"}}</span>
 | |
| 						{{end}}
 | |
| 						<span class="help">{{ctx.Locale.Tr "repo.visibility_description"}}</span>
 | |
| 					</div>
 | |
| 					<div class="inline field {{if .Err_Description}}error{{end}}">
 | |
| 						<label for="description">{{ctx.Locale.Tr "repo.repo_desc"}}</label>
 | |
| 						<textarea id="description" rows="2" name="description" placeholder="{{ctx.Locale.Tr "repo.repo_desc_helper"}}" maxlength="2048">{{.description}}</textarea>
 | |
| 					</div>
 | |
| 					<div class="inline field">
 | |
| 						<label>{{ctx.Locale.Tr "repo.template"}}</label>
 | |
| 						<div id="repo_template_search" class="ui search selection dropdown">
 | |
| 							<input type="hidden" id="repo_template" name="repo_template" value="{{.repo_template}}">
 | |
| 							<div class="default text">{{.repo_template_name}}</div>
 | |
| 							<div class="menu">
 | |
| 							</div>
 | |
| 						</div>
 | |
| 					</div>
 | |
| 
 | |
| 					<div id="template_units" class="tw-hidden">
 | |
| 						<div class="inline field">
 | |
| 							<label>{{ctx.Locale.Tr "repo.template.items"}}</label>
 | |
| 							<div class="ui checkbox">
 | |
| 								<input name="git_content" type="checkbox" {{if .git_content}}checked{{end}}>
 | |
| 								<label>{{ctx.Locale.Tr "repo.template.git_content"}}</label>
 | |
| 							</div>
 | |
| 							<div class="ui checkbox" {{if not .SignedUser.CanEditGitHook}}data-tooltip-content="{{ctx.Locale.Tr "repo.template.git_hooks_tooltip"}}"{{end}}>
 | |
| 								<input name="git_hooks" type="checkbox" {{if .git_hooks}}checked{{end}}>
 | |
| 								<label>{{ctx.Locale.Tr "repo.template.git_hooks"}}</label>
 | |
| 							</div>
 | |
| 						</div>
 | |
| 						<div class="inline field">
 | |
| 							<label></label>
 | |
| 							<div class="ui checkbox">
 | |
| 								<input name="webhooks" type="checkbox" {{if .webhooks}}checked{{end}}>
 | |
| 								<label>{{ctx.Locale.Tr "repo.template.webhooks"}}</label>
 | |
| 							</div>
 | |
| 							<div class="ui checkbox">
 | |
| 								<input name="topics" type="checkbox" {{if .topics}}checked{{end}}>
 | |
| 								<label>{{ctx.Locale.Tr "repo.template.topics"}}</label>
 | |
| 							</div>
 | |
| 						</div>
 | |
| 						<div class="inline field">
 | |
| 							<label></label>
 | |
| 							<div class="ui checkbox">
 | |
| 								<input name="avatar" type="checkbox" {{if .avatar}}checked{{end}}>
 | |
| 								<label>{{ctx.Locale.Tr "repo.template.avatar"}}</label>
 | |
| 							</div>
 | |
| 							<div class="ui checkbox">
 | |
| 								<input name="labels" type="checkbox" {{if .labels}}checked{{end}}>
 | |
| 								<label>{{ctx.Locale.Tr "repo.template.issue_labels"}}</label>
 | |
| 							</div>
 | |
| 						</div>
 | |
| 						<div class="inline field">
 | |
| 							<label></label>
 | |
| 							<div class="ui checkbox">
 | |
| 								<input name="protected_branch" type="checkbox" {{if .protected_branch}}checked{{end}}>
 | |
| 								<label>{{ctx.Locale.Tr "repo.settings.protected_branch"}}</label>
 | |
| 							</div>
 | |
| 						</div>
 | |
| 					</div>
 | |
| 
 | |
| 					<div id="non_template">
 | |
| 						<div class="inline field">
 | |
| 							<label>{{ctx.Locale.Tr "repo.issue_labels"}}</label>
 | |
| 							<div class="ui search selection dropdown">
 | |
| 								<input type="hidden" name="issue_labels" value="{{.issueLabels}}">
 | |
| 								<div class="default text">{{ctx.Locale.Tr "repo.issue_labels_helper"}}</div>
 | |
| 								<div class="menu">
 | |
| 									<div class="item" data-value="">{{ctx.Locale.Tr "repo.issue_labels_helper"}}</div>
 | |
| 									{{range .LabelTemplateFiles}}
 | |
| 										<div class="item" data-value="{{.DisplayName}}">{{.DisplayName}}<br><p>({{.Description}})</p></div>
 | |
| 									{{end}}
 | |
| 								</div>
 | |
| 							</div>
 | |
| 						</div>
 | |
| 
 | |
| 						<div class="divider"></div>
 | |
| 
 | |
| 						<div class="inline field">
 | |
| 							<label>.gitignore</label>
 | |
| 							<div class="ui multiple search selection dropdown">
 | |
| 								<input type="hidden" name="gitignores" value="{{.gitignores}}">
 | |
| 								<div class="default text">{{ctx.Locale.Tr "repo.repo_gitignore_helper"}}</div>
 | |
| 								<div class="menu">
 | |
| 									{{range .Gitignores}}
 | |
| 										<div class="item" data-value="{{.}}">{{.}}</div>
 | |
| 									{{end}}
 | |
| 								</div>
 | |
| 							</div>
 | |
| 							<span class="help">{{ctx.Locale.Tr "repo.repo_gitignore_helper_desc"}}</span>
 | |
| 						</div>
 | |
| 						<div class="inline field">
 | |
| 							<label>{{ctx.Locale.Tr "repo.license"}}</label>
 | |
| 							<div class="ui search selection dropdown">
 | |
| 								<input type="hidden" name="license" value="{{.license}}">
 | |
| 								<div class="default text">{{ctx.Locale.Tr "repo.license_helper"}}</div>
 | |
| 								<div class="menu">
 | |
| 									<div class="item" data-value="">{{ctx.Locale.Tr "repo.license_helper"}}</div>
 | |
| 									{{range .Licenses}}
 | |
| 										<div class="item" data-value="{{.}}">{{.}}</div>
 | |
| 									{{end}}
 | |
| 								</div>
 | |
| 							</div>
 | |
| 							<span class="help">{{ctx.Locale.Tr "repo.license_helper_desc" "https://choosealicense.com/"}}</span>
 | |
| 						</div>
 | |
| 
 | |
| 						<div class="inline field">
 | |
| 							<label>{{ctx.Locale.Tr "repo.readme"}}</label>
 | |
| 							<div class="ui selection dropdown">
 | |
| 								<input type="hidden" name="readme" value="{{.readme}}">
 | |
| 								<div class="default text">{{ctx.Locale.Tr "repo.readme_helper"}}</div>
 | |
| 								<div class="menu">
 | |
| 									{{range .Readmes}}
 | |
| 										<div class="item" data-value="{{.}}">{{.}}</div>
 | |
| 									{{end}}
 | |
| 								</div>
 | |
| 							</div>
 | |
| 							<span class="help">{{ctx.Locale.Tr "repo.readme_helper_desc"}}</span>
 | |
| 						</div>
 | |
| 						<div class="inline field">
 | |
| 							<div class="ui checkbox" id="auto-init">
 | |
| 								<input name="auto_init" type="checkbox" {{if .auto_init}}checked{{end}}>
 | |
| 								<label>{{ctx.Locale.Tr "repo.auto_init"}}</label>
 | |
| 							</div>
 | |
| 						</div>
 | |
| 						<div class="inline field">
 | |
| 							<label for="default_branch">{{ctx.Locale.Tr "repo.default_branch"}}</label>
 | |
| 							<input id="default_branch" name="default_branch" value="{{.default_branch}}" placeholder="{{.default_branch}}">
 | |
| 							<span class="help">{{ctx.Locale.Tr "repo.default_branch_helper"}}</span>
 | |
| 						</div>
 | |
| 						<div class="inline field">
 | |
| 							<label>{{ctx.Locale.Tr "repo.object_format"}}</label>
 | |
| 							<div class="ui selection owner dropdown">
 | |
| 								<input type="hidden" id="object_format_name" name="object_format_name" value="{{.DefaultObjectFormat.Name}}" required>
 | |
| 								<div class="default text">{{.DefaultObjectFormat.Name}}</div>
 | |
| 								<div class="menu">
 | |
| 									{{range .SupportedObjectFormats}}
 | |
| 										<div class="item" data-value="{{.Name}}">{{.Name}}</div>
 | |
| 									{{end}}
 | |
| 								</div>
 | |
| 							</div>
 | |
| 							<span class="help">{{ctx.Locale.Tr "repo.object_format_helper"}}</span>
 | |
| 						</div>
 | |
| 						<div class="inline field">
 | |
| 							<label>{{ctx.Locale.Tr "repo.template"}}</label>
 | |
| 							<div class="ui checkbox">
 | |
| 								<input name="template" type="checkbox">
 | |
| 								<label>{{ctx.Locale.Tr "repo.template_helper"}}</label>
 | |
| 							</div>
 | |
| 						</div>
 | |
| 					</div>
 | |
| 					<br>
 | |
| 					<div class="inline field">
 | |
| 						<label></label>
 | |
| 						<button class="ui primary button{{if not .CanCreateRepo}} disabled{{end}}">
 | |
| 							{{ctx.Locale.Tr "repo.create_repo"}}
 | |
| 						</button>
 | |
| 					</div>
 | |
| 				</div>
 | |
| 			</form>
 | |
| 		</div>
 | |
| 	</div>
 | |
| </div>
 | |
| {{template "base/footer" .}}
 |