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
					
				
					 2 changed files with 41 additions and 0 deletions
				
			
		|  | @ -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 a new issue