summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2021-06-30 20:14:53 +0100
committerGitHub <noreply@github.com>2021-06-30 21:14:53 +0200
commit365c4e9316bbcc8bdf9cf68ef237bf18ae8db315 (patch)
tree61df1ed3843892461332e436ffb553ce81830893
parent71c7d0a993f4b4638697ad54b4c594ae8ef35b3c (diff)
downloadgitea-365c4e9316bbcc8bdf9cf68ef237bf18ae8db315.tar.gz
gitea-365c4e9316bbcc8bdf9cf68ef237bf18ae8db315.zip
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>
-rw-r--r--routers/web/repo/view.go2
-rw-r--r--templates/repo/migrate/migrating.tmpl39
2 files changed, 41 insertions, 0 deletions
diff --git a/routers/web/repo/view.go b/routers/web/repo/view.go
index 74e2a29597..90d06d11c1 100644
--- a/routers/web/repo/view.go
+++ b/routers/web/repo/view.go
@@ -29,6 +29,7 @@ import (
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/markup"
"code.gitea.io/gitea/modules/setting"
+ "code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/modules/typesniffer"
)
@@ -624,6 +625,7 @@ func Home(ctx *context.Context) {
ctx.Data["Repo"] = ctx.Repo
ctx.Data["MigrateTask"] = task
ctx.Data["CloneAddr"] = safeURL(cfg.CloneAddr)
+ ctx.Data["Failed"] = task.Status == structs.TaskStatusFailed
ctx.HTML(http.StatusOK, tplMigrating)
return
}
diff --git a/templates/repo/migrate/migrating.tmpl b/templates/repo/migrate/migrating.tmpl
index c1f189553f..cc12243205 100644
--- a/templates/repo/migrate/migrating.tmpl
+++ b/templates/repo/migrate/migrating.tmpl
@@ -28,6 +28,12 @@
<p>{{.i18n.Tr "repo.migrate.migrating_failed" .CloneAddr | Safe}}</p>
<p id="repo_migrating_failed_error"></p>
</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>
@@ -35,4 +41,37 @@
</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" .}}