Add button to delete undeleted repositories from failed migrations (#16197)
This PR adds a button to delete failed repositories if there has been a failure during migration and for whatever reason the repository doesn't get deleted automatically. Fix #16154 Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
		
							parent
							
								
									71c7d0a993
								
							
						
					
					
						commit
						365c4e9316
					
				| 
						 | 
					@ -29,6 +29,7 @@ import (
 | 
				
			||||||
	"code.gitea.io/gitea/modules/log"
 | 
						"code.gitea.io/gitea/modules/log"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/markup"
 | 
						"code.gitea.io/gitea/modules/markup"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/setting"
 | 
						"code.gitea.io/gitea/modules/setting"
 | 
				
			||||||
 | 
						"code.gitea.io/gitea/modules/structs"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/typesniffer"
 | 
						"code.gitea.io/gitea/modules/typesniffer"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -624,6 +625,7 @@ func Home(ctx *context.Context) {
 | 
				
			||||||
			ctx.Data["Repo"] = ctx.Repo
 | 
								ctx.Data["Repo"] = ctx.Repo
 | 
				
			||||||
			ctx.Data["MigrateTask"] = task
 | 
								ctx.Data["MigrateTask"] = task
 | 
				
			||||||
			ctx.Data["CloneAddr"] = safeURL(cfg.CloneAddr)
 | 
								ctx.Data["CloneAddr"] = safeURL(cfg.CloneAddr)
 | 
				
			||||||
 | 
								ctx.Data["Failed"] = task.Status == structs.TaskStatusFailed
 | 
				
			||||||
			ctx.HTML(http.StatusOK, tplMigrating)
 | 
								ctx.HTML(http.StatusOK, tplMigrating)
 | 
				
			||||||
			return
 | 
								return
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -28,6 +28,12 @@
 | 
				
			||||||
								<p>{{.i18n.Tr "repo.migrate.migrating_failed" .CloneAddr | Safe}}</p>
 | 
													<p>{{.i18n.Tr "repo.migrate.migrating_failed" .CloneAddr | Safe}}</p>
 | 
				
			||||||
								<p id="repo_migrating_failed_error"></p>
 | 
													<p id="repo_migrating_failed_error"></p>
 | 
				
			||||||
							</div>
 | 
												</div>
 | 
				
			||||||
 | 
												{{if and .Failed .Permission.IsAdmin}}
 | 
				
			||||||
 | 
													<div class="ui divider"></div>
 | 
				
			||||||
 | 
													<div class="item">
 | 
				
			||||||
 | 
														<button class="ui basic red show-modal button" data-modal="#delete-repo-modal">{{.i18n.Tr "repo.settings.delete"}}</button>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												{{end}}
 | 
				
			||||||
						</div>
 | 
											</div>
 | 
				
			||||||
					</div>
 | 
										</div>
 | 
				
			||||||
				</div>
 | 
									</div>
 | 
				
			||||||
| 
						 | 
					@ -35,4 +41,37 @@
 | 
				
			||||||
		</div>
 | 
							</div>
 | 
				
			||||||
	</div>
 | 
						</div>
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 | 
					<div class="ui small modal" id="delete-repo-modal">
 | 
				
			||||||
 | 
						<div class="header">
 | 
				
			||||||
 | 
							{{.i18n.Tr "repo.settings.delete"}}
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
 | 
						<div class="content">
 | 
				
			||||||
 | 
							<div class="ui warning message text left">
 | 
				
			||||||
 | 
								{{.i18n.Tr "repo.settings.delete_notices_1" | Safe}}<br>
 | 
				
			||||||
 | 
								{{.i18n.Tr "repo.settings.delete_notices_2" .Repository.FullName | Safe}}
 | 
				
			||||||
 | 
								{{if .Repository.NumForks}}<br>
 | 
				
			||||||
 | 
								{{.i18n.Tr "repo.settings.delete_notices_fork_1"}}
 | 
				
			||||||
 | 
								{{end}}
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
							<form class="ui form" action="{{.Link}}/settings" method="post">
 | 
				
			||||||
 | 
								{{.CsrfTokenHtml}}
 | 
				
			||||||
 | 
								<input type="hidden" name="action" value="delete">
 | 
				
			||||||
 | 
								<div class="field">
 | 
				
			||||||
 | 
									<label>
 | 
				
			||||||
 | 
										{{.i18n.Tr "repo.settings.transfer_form_title"}}
 | 
				
			||||||
 | 
										<span class="text red">{{.Repository.Name}}</span>
 | 
				
			||||||
 | 
									</label>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
								<div class="required field">
 | 
				
			||||||
 | 
									<label for="repo_name">{{.i18n.Tr "repo.repo_name"}}</label>
 | 
				
			||||||
 | 
									<input id="repo_name" name="repo_name" required>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								<div class="text right actions">
 | 
				
			||||||
 | 
									<div class="ui cancel button">{{.i18n.Tr "settings.cancel"}}</div>
 | 
				
			||||||
 | 
									<button class="ui red button">{{.i18n.Tr "repo.settings.confirm_delete"}}</button>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
							</form>
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
{{template "base/footer" .}}
 | 
					{{template "base/footer" .}}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue