mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-31 14:31:02 +00:00 
			
		
		
		
	* Firefox thinks that this is a login form and that `clone_addr` is it's username field * It would have been an easy fix with with `autocomplete="off"`, but there's an issue with that approach: Firefox plays a cat-mouse game with web developers and intentionally ignores `autocomplete="off"` "for users' security". * Set it to the `url` autocompletion type, Firefox and maybe other browsers give actually somewhat relevant completion entries. They will not be always relevant, but they may be when a migration has to be re-done with different settings. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7377 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: 0ko <0ko@noreply.codeberg.org> Co-committed-by: 0ko <0ko@noreply.codeberg.org>
		
			
				
	
	
		
			137 lines
		
	
	
	
		
			5.7 KiB
		
	
	
	
		
			Go HTML Template
		
	
	
	
	
	
			
		
		
	
	
			137 lines
		
	
	
	
		
			5.7 KiB
		
	
	
	
		
			Go HTML Template
		
	
	
	
	
	
| {{template "base/head" .}}
 | |
| <div role="main" aria-label="{{.Title}}" class="page-content repository new migrate">
 | |
| 	<div class="ui middle very relaxed page grid">
 | |
| 		<div class="column">
 | |
| 			<form class="ui form" action="{{.Link}}" method="post">
 | |
| 				{{.CsrfTokenHtml}}
 | |
| 				<h3 class="ui top attached header">
 | |
| 					{{ctx.Locale.Tr "repo.migrate.migrate" .service.Title}}
 | |
| 					<input id="service_type" type="hidden" name="service" value="{{.service}}">
 | |
| 				</h3>
 | |
| 				<div class="ui attached segment">
 | |
| 					{{template "base/alert" .}}
 | |
| 					<div class="inline required field {{if .Err_CloneAddr}}error{{end}}">
 | |
| 						<label for="clone_addr">{{ctx.Locale.Tr "repo.migrate.clone_address"}}</label>
 | |
| 						<input id="clone_addr" name="clone_addr" value="{{.clone_addr}}" autofocus required autocomplete="url">
 | |
| 						<span class="help">
 | |
| 						{{ctx.Locale.Tr "repo.migrate.clone_address_desc"}}{{if .ContextUser.CanImportLocal}} {{ctx.Locale.Tr "repo.migrate.clone_local_path"}}{{end}}
 | |
| 						</span>
 | |
| 					</div>
 | |
| 
 | |
| 					<div class="inline field {{if .Err_Auth}}error{{end}}">
 | |
| 						<label for="auth_token">{{ctx.Locale.Tr "access_token"}}</label>
 | |
| 						<input id="auth_token" name="auth_token" type="password" autocomplete="new-password" value="{{.auth_token}}" {{if not .auth_token}}data-need-clear="true"{{end}}>
 | |
| 						<a target="_blank" href="https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html">{{svg "octicon-question"}}</a>
 | |
| 					</div>
 | |
| 
 | |
| 					{{template "repo/migrate/options" .}}
 | |
| 
 | |
| 					<div class="inline field">
 | |
| 						<label>{{ctx.Locale.Tr "repo.migrate_items"}}</label>
 | |
| 						<div class="ui checkbox">
 | |
| 							<input name="wiki" type="checkbox" {{if .wiki}}checked{{end}}>
 | |
| 							<label>{{ctx.Locale.Tr "repo.migrate_items_wiki"}}</label>
 | |
| 						</div>
 | |
| 					</div>
 | |
| 					<div id="migrate_items">
 | |
| 						<span class="help">{{ctx.Locale.Tr "repo.migrate.migrate_items_options"}}</span>
 | |
| 						<div class="inline field">
 | |
| 							<label></label>
 | |
| 							<div class="ui checkbox">
 | |
| 								<input name="issues" type="checkbox" {{if .issues}}checked{{end}}>
 | |
| 								<label>{{ctx.Locale.Tr "repo.migrate_items_issues"}}</label>
 | |
| 							</div>
 | |
| 						</div>
 | |
| 						<div class="inline field">
 | |
| 							<label></label>
 | |
| 							<div class="ui checkbox">
 | |
| 								<input name="pull_requests" type="checkbox" {{if .pull_requests}}checked{{end}}>
 | |
| 								<label>{{ctx.Locale.Tr "repo.migrate_items_merge_requests"}}</label>
 | |
| 							</div>
 | |
| 						</div>
 | |
| 						<div class="inline field">
 | |
| 							<label></label>
 | |
| 							<div class="ui checkbox">
 | |
| 								<input name="labels" type="checkbox" {{if .labels}}checked{{end}}>
 | |
| 								<label>{{ctx.Locale.Tr "repo.migrate_items_labels"}}</label>
 | |
| 							</div>
 | |
| 						</div>
 | |
| 						<div class="inline field">
 | |
| 							<label></label>
 | |
| 							<div class="ui checkbox">
 | |
| 								<input name="milestones" type="checkbox" {{if .milestones}}checked{{end}}>
 | |
| 								<label>{{ctx.Locale.Tr "repo.migrate_items_milestones"}}</label>
 | |
| 							</div>
 | |
| 						</div>
 | |
| 						<div class="inline field">
 | |
| 							<label></label>
 | |
| 							<div class="ui checkbox">
 | |
| 								<input name="releases" type="checkbox" {{if .releases}}checked{{end}}>
 | |
| 								<label>{{ctx.Locale.Tr "repo.migrate_items_releases"}}</label>
 | |
| 							</div>
 | |
| 						</div>
 | |
| 					</div>
 | |
| 
 | |
| 					<div class="divider"></div>
 | |
| 
 | |
| 					<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" title="{{.SignedUser.Name}}">
 | |
| 								<div class="item truncated-item-container" data-value="{{.SignedUser.ID}}">
 | |
| 									{{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>
 | |
| 					</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}}" required maxlength="100">
 | |
| 					</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" name="description" maxlength="2048" placeholder="{{ctx.Locale.Tr "repo.migrate.repo_desc_helper"}}">{{.description}}</textarea>
 | |
| 					</div>
 | |
| 
 | |
| 					<div class="inline field">
 | |
| 						<label></label>
 | |
| 						<button class="ui primary button">
 | |
| 							{{ctx.Locale.Tr "repo.migrate_repo"}}
 | |
| 						</button>
 | |
| 					</div>
 | |
| 				</div>
 | |
| 			</form>
 | |
| 		</div>
 | |
| 	</div>
 | |
| </div>
 | |
| {{template "base/footer" .}}
 |