mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-11-04 00:11:04 +00:00 
			
		
		
		
	Adding Forgero Git Service
Signed-off-by: cassiozareck <cassiomilczareck@gmail.com>
This commit is contained in:
		
					parent
					
						
							
								0a45d9c37b
							
						
					
				
			
			
				commit
				
					
						a878adfe62
					
				
			
		
					 3 changed files with 136 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -286,6 +286,7 @@ const (
 | 
			
		|||
	OneDevService                          // 6 onedev service
 | 
			
		||||
	GitBucketService                       // 7 gitbucket service
 | 
			
		||||
	CodebaseService                        // 8 codebase service
 | 
			
		||||
	ForgejoService                         // 9 forgejo service
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Name represents the service type's name
 | 
			
		||||
| 
						 | 
				
			
			@ -313,6 +314,8 @@ func (gt GitServiceType) Title() string {
 | 
			
		|||
		return "Codebase"
 | 
			
		||||
	case PlainGitService:
 | 
			
		||||
		return "Git"
 | 
			
		||||
	case ForgejoService:
 | 
			
		||||
		return "Forgejo"
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -352,7 +355,7 @@ type MigrateRepoOptions struct {
 | 
			
		|||
// TokenAuth represents whether a service type supports token-based auth
 | 
			
		||||
func (gt GitServiceType) TokenAuth() bool {
 | 
			
		||||
	switch gt {
 | 
			
		||||
	case GithubService, GiteaService, GitlabService:
 | 
			
		||||
	case GithubService, GiteaService, GitlabService, ForgejoService:
 | 
			
		||||
		return true
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
| 
						 | 
				
			
			@ -368,6 +371,7 @@ var SupportedFullGitService = []GitServiceType{
 | 
			
		|||
	OneDevService,
 | 
			
		||||
	GitBucketService,
 | 
			
		||||
	CodebaseService,
 | 
			
		||||
	ForgejoService,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RepoTransfer represents a pending repo transfer
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										130
									
								
								templates/repo/migrate/forgejo.tmpl
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								templates/repo/migrate/forgejo.tmpl
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,130 @@
 | 
			
		|||
{{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">
 | 
			
		||||
					{{.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">{{.locale.Tr "repo.migrate.clone_address"}}</label>
 | 
			
		||||
						<input id="clone_addr" name="clone_addr" value="{{.clone_addr}}" autofocus required>
 | 
			
		||||
						<span class="help">
 | 
			
		||||
							{{.locale.Tr "repo.migrate.clone_address_desc"}}{{if .ContextUser.CanImportLocal}} {{.locale.Tr "repo.migrate.clone_local_path"}}{{end}}
 | 
			
		||||
						</span>
 | 
			
		||||
					</div>
 | 
			
		||||
 | 
			
		||||
					<div class="inline field {{if .Err_Auth}}error{{end}}">
 | 
			
		||||
						<label for="auth_token">{{.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.gitea.io/en-us/api-usage">{{svg "octicon-question"}}</a> -->
 | 
			
		||||
					</div>
 | 
			
		||||
 | 
			
		||||
					{{template "repo/migrate/options" .}}
 | 
			
		||||
 | 
			
		||||
					<div class="inline field">
 | 
			
		||||
						<label>{{.locale.Tr "repo.migrate_items"}}</label>
 | 
			
		||||
						<div class="ui checkbox">
 | 
			
		||||
							<input name="wiki" type="checkbox" {{if .wiki}} checked{{end}}>
 | 
			
		||||
							<label>{{.locale.Tr "repo.migrate_items_wiki" | Safe}}</label>
 | 
			
		||||
						</div>
 | 
			
		||||
					</div>
 | 
			
		||||
 | 
			
		||||
					<div id="migrate_items">
 | 
			
		||||
						<span class="help">{{.locale.Tr "repo.migrate.migrate_items_options"}}</span>
 | 
			
		||||
						<div class="inline field">
 | 
			
		||||
							<label></label>
 | 
			
		||||
							<div class="ui checkbox">
 | 
			
		||||
								<input name="labels" type="checkbox" {{if .labels}} checked{{end}}>
 | 
			
		||||
								<label>{{.locale.Tr "repo.migrate_items_labels" | Safe}}</label>
 | 
			
		||||
							</div>
 | 
			
		||||
							<div class="ui checkbox">
 | 
			
		||||
								<input name="issues" type="checkbox" {{if .issues}} checked{{end}}>
 | 
			
		||||
								<label>{{.locale.Tr "repo.migrate_items_issues" | Safe}}</label>
 | 
			
		||||
							</div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<div class="inline field">
 | 
			
		||||
							<label></label>
 | 
			
		||||
							<div class="ui checkbox">
 | 
			
		||||
								<input name="milestones" type="checkbox" {{if .milestones}} checked{{end}}>
 | 
			
		||||
								<label>{{.locale.Tr "repo.migrate_items_milestones" | Safe}}</label>
 | 
			
		||||
							</div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<!-- Gogs do not support it
 | 
			
		||||
						<div class="inline field">
 | 
			
		||||
							<label></label>
 | 
			
		||||
							<div class="ui checkbox">
 | 
			
		||||
								<input name="pull_requests" type="checkbox" {{if .pull_requests}} checked{{end}}>
 | 
			
		||||
								<label>{{.locale.Tr "repo.migrate_items_merge_requests" | Safe}}</label>
 | 
			
		||||
							</div>
 | 
			
		||||
							<div class="ui checkbox">
 | 
			
		||||
								<input name="releases" type="checkbox" {{if .releases}} checked{{end}}>
 | 
			
		||||
								<label>{{.locale.Tr "repo.migrate_items_releases" | Safe}}</label>
 | 
			
		||||
							</div>
 | 
			
		||||
						</div>
 | 
			
		||||
						-->
 | 
			
		||||
					</div>
 | 
			
		||||
 | 
			
		||||
					<div class="divider"></div>
 | 
			
		||||
 | 
			
		||||
					<div class="inline required field {{if .Err_Owner}}error{{end}}">
 | 
			
		||||
						<label>{{.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}}
 | 
			
		||||
								<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}}
 | 
			
		||||
									<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 .}}
 | 
			
		||||
									<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">{{.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>{{.locale.Tr "repo.visibility"}}</label>
 | 
			
		||||
						<div class="ui checkbox">
 | 
			
		||||
							{{if .IsForcedPrivate}}
 | 
			
		||||
								<input name="private" type="checkbox" checked readonly>
 | 
			
		||||
								<label>{{.locale.Tr "repo.visibility_helper_forced" | Safe}}</label>
 | 
			
		||||
							{{else}}
 | 
			
		||||
								<input name="private" type="checkbox" {{if .private}} checked{{end}}>
 | 
			
		||||
								<label>{{.locale.Tr "repo.visibility_helper" | Safe}}</label>
 | 
			
		||||
							{{end}}
 | 
			
		||||
						</div>
 | 
			
		||||
					</div>
 | 
			
		||||
					<div class="inline field {{if .Err_Description}}error{{end}}">
 | 
			
		||||
						<label for="description">{{.locale.Tr "repo.repo_desc"}}</label>
 | 
			
		||||
						<textarea id="description" name="description" maxlength="2048">{{.description}}</textarea>
 | 
			
		||||
					</div>
 | 
			
		||||
 | 
			
		||||
					<div class="inline field">
 | 
			
		||||
						<label></label>
 | 
			
		||||
						<button class="ui green button">
 | 
			
		||||
							{{.locale.Tr "repo.migrate_repo"}}
 | 
			
		||||
						</button>
 | 
			
		||||
					</div>
 | 
			
		||||
				</div>
 | 
			
		||||
			</form>
 | 
			
		||||
		</div>
 | 
			
		||||
	</div>
 | 
			
		||||
</div>
 | 
			
		||||
{{template "base/footer" .}}
 | 
			
		||||
							
								
								
									
										1
									
								
								web_src/svg/gitea-forgejo.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								web_src/svg/gitea-forgejo.svg
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="64px" height="64px"><path d="M42.2,22.1L25.9,5.8C25.4,5.3,24.7,5,24,5c0,0,0,0,0,0c-0.7,0-1.4,0.3-1.9,0.8l-3.5,3.5l4.1,4.1c0.4-0.2,0.8-0.3,1.3-0.3c1.7,0,3,1.3,3,3c0,0.5-0.1,0.9-0.3,1.3l4,4c0.4-0.2,0.8-0.3,1.3-0.3c1.7,0,3,1.3,3,3s-1.3,3-3,3c-1.7,0-3-1.3-3-3c0-0.5,0.1-0.9,0.3-1.3l-4-4c-0.1,0-0.2,0.1-0.3,0.1v10.4c1.2,0.4,2,1.5,2,2.8c0,1.7-1.3,3-3,3s-3-1.3-3-3c0-1.3,0.8-2.4,2-2.8V18.8c-1.2-0.4-2-1.5-2-2.8c0-0.5,0.1-0.9,0.3-1.3l-4.1-4.1L5.8,22.1C5.3,22.6,5,23.3,5,24c0,0.7,0.3,1.4,0.8,1.9l16.3,16.3c0,0,0,0,0,0c0.5,0.5,1.2,0.8,1.9,0.8s1.4-0.3,1.9-0.8l16.3-16.3c0.5-0.5,0.8-1.2,0.8-1.9C43,23.3,42.7,22.6,42.2,22.1z"/></svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 687 B  | 
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue