]> source.dussan.org Git - gitea.git/commitdiff
Fix wrong transfer hint (#30889) (#30900)
authorGiteabot <teabot@gitea.io>
Wed, 8 May 2024 15:12:37 +0000 (23:12 +0800)
committerGitHub <noreply@github.com>
Wed, 8 May 2024 15:12:37 +0000 (15:12 +0000)
Backport #30889 by @lunny

Fix #30187

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
routers/web/repo/setting/setting.go

index 17a400e3607e5fdd4e2e0362daa3205a06b51529..1e0349cdeec4abcc015325a0566475674c3accc5 100644 (file)
@@ -789,6 +789,7 @@ func SettingsPost(ctx *context.Context) {
                        ctx.Repo.GitRepo = nil
                }
 
+               oldFullname := repo.FullName()
                if err := repo_service.StartRepositoryTransfer(ctx, ctx.Doer, newOwner, repo, nil); err != nil {
                        if repo_model.IsErrRepoAlreadyExist(err) {
                                ctx.RenderWithErr(ctx.Tr("repo.settings.new_owner_has_same_repo"), tplSettingsOptions, nil)
@@ -803,8 +804,13 @@ func SettingsPost(ctx *context.Context) {
                        return
                }
 
-               log.Trace("Repository transfer process was started: %s/%s -> %s", ctx.Repo.Owner.Name, repo.Name, newOwner)
-               ctx.Flash.Success(ctx.Tr("repo.settings.transfer_started", newOwner.DisplayName()))
+               if ctx.Repo.Repository.Status == repo_model.RepositoryPendingTransfer {
+                       log.Trace("Repository transfer process was started: %s/%s -> %s", ctx.Repo.Owner.Name, repo.Name, newOwner)
+                       ctx.Flash.Success(ctx.Tr("repo.settings.transfer_started", newOwner.DisplayName()))
+               } else {
+                       log.Trace("Repository transferred: %s -> %s", oldFullname, ctx.Repo.Repository.FullName())
+                       ctx.Flash.Success(ctx.Tr("repo.settings.transfer_succeed"))
+               }
                ctx.Redirect(repo.Link() + "/settings")
 
        case "cancel_transfer":