Redirect to package after version deletion (#25594) (#25599)

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
This commit is contained in:
KN4CK3R 2023-06-30 00:14:57 +02:00 committed by GitHub
parent 12aca3ef20
commit c27a3af728
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 12 deletions

View file

@ -420,7 +420,13 @@ func PackageSettingsPost(ctx *context.Context) {
ctx.Flash.Success(ctx.Tr("packages.settings.delete.success")) 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 return
} }
} }

View file

@ -84,7 +84,6 @@
{{end}} {{end}}
</div> </div>
{{end}} {{end}}
{{if .LatestVersions}}
<div class="ui divider"></div> <div class="ui divider"></div>
<strong>{{.locale.Tr "packages.versions"}} ({{.TotalVersionCount}})</strong> <strong>{{.locale.Tr "packages.versions"}} ({{.TotalVersionCount}})</strong>
<a class="ui right" href="{{$.PackageDescriptor.PackageWebLink}}/versions">{{.locale.Tr "packages.versions.view_all"}}</a> <a class="ui right" href="{{$.PackageDescriptor.PackageWebLink}}/versions">{{.locale.Tr "packages.versions.view_all"}}</a>
@ -96,7 +95,6 @@
</div> </div>
{{end}} {{end}}
</div> </div>
{{end}}
{{if or .CanWritePackages .HasRepositoryAccess}} {{if or .CanWritePackages .HasRepositoryAccess}}
<div class="ui divider"></div> <div class="ui divider"></div>
<div class="ui relaxed list"> <div class="ui relaxed list">