]> source.dussan.org Git - gitea.git/commitdiff
Redirect to package after version deletion (#25594)
authorKN4CK3R <admin@oldschoolhack.me>
Thu, 29 Jun 2023 17:01:14 +0000 (19:01 +0200)
committerGitHub <noreply@github.com>
Thu, 29 Jun 2023 17:01:14 +0000 (17:01 +0000)
Related #25559

Current behaviour:
1. Deletion of a package version
2. Redirect to the owners package list

New behaviour:
1. Deletion of a package version
2.1. If there are more versions available, redirect to the package again
2.2. If there are no versions available, redirect to the owners package
list

routers/web/user/package.go
templates/package/view.tmpl

index 81a26da827283649ba6e1416d0fa7b975ca9e795..20141914b655b61e0d141bfaa3d7a5c9e9c39789 100644 (file)
@@ -420,7 +420,13 @@ func PackageSettingsPost(ctx *context.Context) {
                        ctx.Flash.Success(ctx.Tr("packages.settings.delete.success"))
                }
 
-               ctx.Redirect(ctx.Package.Owner.HomeLink() + "/-/packages")
+               redirectURL := ctx.Package.Owner.HomeLink() + "/-/packages"
+               // redirect to the package if there are still versions available
+               if has, _ := packages_model.ExistVersion(ctx, &packages_model.PackageSearchOptions{PackageID: ctx.Package.Descriptor.Package.ID}); has {
+                       redirectURL = ctx.Package.Descriptor.PackageWebLink()
+               }
+
+               ctx.Redirect(redirectURL)
                return
        }
 }
index 1e7d13285ec33abbf39ff8a6ac1c84b9b5863882..6064db1b4c03e6d1ac3bab8981eeb8555b26e5ef 100644 (file)
                                        {{end}}
                                        </div>
                                {{end}}
-                               {{if .LatestVersions}}
-                                       <div class="divider"></div>
-                                       <strong>{{.locale.Tr "packages.versions"}} ({{.TotalVersionCount}})</strong>
-                                       <a class="ui right" href="{{$.PackageDescriptor.PackageWebLink}}/versions">{{.locale.Tr "packages.versions.view_all"}}</a>
-                                       <div class="ui relaxed list">
-                                       {{range .LatestVersions}}
-                                               <div class="item gt-df">
-                                                       <a class="gt-f1" href="{{$.PackageDescriptor.PackageWebLink}}/{{PathEscape .LowerVersion}}">{{.Version}}</a>
-                                                       <span class="text small">{{DateTime "short" .CreatedUnix}}</span>
-                                               </div>
-                                       {{end}}
+                               <div class="divider"></div>
+                               <strong>{{.locale.Tr "packages.versions"}} ({{.TotalVersionCount}})</strong>
+                               <a class="ui right" href="{{$.PackageDescriptor.PackageWebLink}}/versions">{{.locale.Tr "packages.versions.view_all"}}</a>
+                               <div class="ui relaxed list">
+                               {{range .LatestVersions}}
+                                       <div class="item gt-df">
+                                               <a class="gt-f1" href="{{$.PackageDescriptor.PackageWebLink}}/{{PathEscape .LowerVersion}}">{{.Version}}</a>
+                                               <span class="text small">{{DateTime "short" .CreatedUnix}}</span>
                                        </div>
                                {{end}}
+                               </div>
                                {{if or .CanWritePackages .HasRepositoryAccess}}
                                        <div class="divider"></div>
                                        <div class="ui relaxed list">