diff --git a/modules/context/org.go b/modules/context/org.go
index f8607bd29..427e4910c 100644
--- a/modules/context/org.go
+++ b/modules/context/org.go
@@ -11,6 +11,7 @@ import (
"code.gitea.io/gitea/models/organization"
"code.gitea.io/gitea/models/perm"
user_model "code.gitea.io/gitea/models/user"
+ "code.gitea.io/gitea/modules/setting"
)
// Organization contains organization context
@@ -119,6 +120,7 @@ func HandleOrgAssignment(ctx *Context, args ...bool) {
}
ctx.Data["IsOrganizationOwner"] = ctx.Org.IsOwner
ctx.Data["IsOrganizationMember"] = ctx.Org.IsMember
+ ctx.Data["IsPackageEnabled"] = setting.Packages.Enabled
ctx.Data["IsPublicMember"] = func(uid int64) bool {
is, _ := organization.IsPublicMembership(ctx.Org.Organization.ID, uid)
return is
diff --git a/routers/web/user/profile.go b/routers/web/user/profile.go
index f62884037..85870eddf 100644
--- a/routers/web/user/profile.go
+++ b/routers/web/user/profile.go
@@ -280,6 +280,7 @@ func Profile(ctx *context.Context) {
pager.AddParam(ctx, "language", "Language")
}
ctx.Data["Page"] = pager
+ ctx.Data["IsPackageEnabled"] = setting.Packages.Enabled
ctx.Data["ShowUserEmail"] = len(ctx.ContextUser.Email) > 0 && ctx.IsSigned && (!ctx.ContextUser.KeepEmailPrivate || ctx.ContextUser.ID == ctx.Doer.ID)
diff --git a/routers/web/web.go b/routers/web/web.go
index 5ff8174be..3bdedab85 100644
--- a/routers/web/web.go
+++ b/routers/web/web.go
@@ -473,10 +473,12 @@ func RegisterRoutes(m *web.Route) {
m.Post("/delete", admin.DeleteRepo)
})
- m.Group("/packages", func() {
- m.Get("", admin.Packages)
- m.Post("/delete", admin.DeletePackageVersion)
- })
+ if setting.Packages.Enabled {
+ m.Group("/packages", func() {
+ m.Get("", admin.Packages)
+ m.Post("/delete", admin.DeletePackageVersion)
+ })
+ }
m.Group("/hooks", func() {
m.Get("", admin.DefaultOrSystemWebhooks)
@@ -670,21 +672,23 @@ func RegisterRoutes(m *web.Route) {
}, reqSignIn)
m.Group("/{username}/-", func() {
- m.Group("/packages", func() {
- m.Get("", user.ListPackages)
- m.Group("/{type}/{name}", func() {
- m.Get("", user.RedirectToLastVersion)
- m.Get("/versions", user.ListPackageVersions)
- m.Group("/{version}", func() {
- m.Get("", user.ViewPackageVersion)
- m.Get("/files/{fileid}", user.DownloadPackageFile)
- m.Group("/settings", func() {
- m.Get("", user.PackageSettings)
- m.Post("", bindIgnErr(forms.PackageSettingForm{}), user.PackageSettingsPost)
- }, reqPackageAccess(perm.AccessModeWrite))
+ if setting.Packages.Enabled {
+ m.Group("/packages", func() {
+ m.Get("", user.ListPackages)
+ m.Group("/{type}/{name}", func() {
+ m.Get("", user.RedirectToLastVersion)
+ m.Get("/versions", user.ListPackageVersions)
+ m.Group("/{version}", func() {
+ m.Get("", user.ViewPackageVersion)
+ m.Get("/files/{fileid}", user.DownloadPackageFile)
+ m.Group("/settings", func() {
+ m.Get("", user.PackageSettings)
+ m.Post("", bindIgnErr(forms.PackageSettingForm{}), user.PackageSettingsPost)
+ }, reqPackageAccess(perm.AccessModeWrite))
+ })
})
- })
- }, context.PackageAssignment(), reqPackageAccess(perm.AccessModeRead))
+ }, context.PackageAssignment(), reqPackageAccess(perm.AccessModeRead))
+ }
}, context_service.UserAssignmentWeb())
// ***** Release Attachment Download without Signin
@@ -973,7 +977,9 @@ func RegisterRoutes(m *web.Route) {
m.Get("/milestones", reqRepoIssuesOrPullsReader, repo.Milestones)
}, context.RepoRef())
- m.Get("/packages", repo.Packages)
+ if setting.Packages.Enabled {
+ m.Get("/packages", repo.Packages)
+ }
m.Group("/projects", func() {
m.Get("", repo.Projects)
diff --git a/templates/org/menu.tmpl b/templates/org/menu.tmpl
index 1f7b1216a..ff1b8cadc 100644
--- a/templates/org/menu.tmpl
+++ b/templates/org/menu.tmpl
@@ -3,9 +3,11 @@
{{svg "octicon-repo"}} {{.i18n.Tr "user.repositories"}}
+ {{if .IsPackageEnabled}}
{{svg "octicon-package"}} {{.i18n.Tr "packages.title"}}
+ {{end}}
{{if .IsOrganizationMember}}
{{svg "octicon-organization"}} {{$.i18n.Tr "org.people"}}
diff --git a/templates/user/profile.tmpl b/templates/user/profile.tmpl
index d761b84d6..34ecf1afe 100644
--- a/templates/user/profile.tmpl
+++ b/templates/user/profile.tmpl
@@ -87,9 +87,11 @@
{{svg "octicon-repo"}} {{.i18n.Tr "user.repositories"}}
+ {{if .IsPackageEnabled}}
{{svg "octicon-package"}} {{.i18n.Tr "packages.title"}}
+ {{end}}
{{svg "octicon-rss"}} {{.i18n.Tr "user.activity"}}