From cd33979f5a683fd91bd79225e300e41173335926 Mon Sep 17 00:00:00 2001
From: rock2dust <its@baronbunny.cn>
Date: Sat, 22 Oct 2022 11:24:09 +0800
Subject: [PATCH] Added check for disabled Packages (#21540)

At the moment, If admin disable Packages, still show the Packages on the
admin dashboard

This patch added a check to hide the Packages entry

Signed-off-by: baronbunny <its@baronbunny.cn>

Signed-off-by: baronbunny <its@baronbunny.cn>
---
 routers/web/web.go          | 1 +
 templates/admin/navbar.tmpl | 8 +++++---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/routers/web/web.go b/routers/web/web.go
index 62503b3141..9b814c3f54 100644
--- a/routers/web/web.go
+++ b/routers/web/web.go
@@ -591,6 +591,7 @@ func RegisterRoutes(m *web.Route) {
 		})
 	}, func(ctx *context.Context) {
 		ctx.Data["EnableOAuth2"] = setting.OAuth2.Enable
+		ctx.Data["EnablePackages"] = setting.Packages.Enabled
 	}, adminReq)
 	// ***** END: Admin *****
 
diff --git a/templates/admin/navbar.tmpl b/templates/admin/navbar.tmpl
index b138eb79ba..1c8b12fc2f 100644
--- a/templates/admin/navbar.tmpl
+++ b/templates/admin/navbar.tmpl
@@ -12,9 +12,11 @@
 		<a class="{{if .PageIsAdminRepositories}}active{{end}} item" href="{{AppSubUrl}}/admin/repos">
 			{{.locale.Tr "admin.repositories"}}
 		</a>
-		<a class="{{if .PageIsAdminPackages}}active{{end}} item" href="{{AppSubUrl}}/admin/packages">
-			{{.locale.Tr "packages.title"}}
-		</a>
+		{{if .EnablePackages}}
+			<a class="{{if .PageIsAdminPackages}}active{{end}} item" href="{{AppSubUrl}}/admin/packages">
+				{{.locale.Tr "packages.title"}}
+			</a>
+		{{end}}
 		{{if not DisableWebhooks}}
 			<a class="{{if or .PageIsAdminDefaultHooks .PageIsAdminSystemHooks}}active{{end}} item" href="{{AppSubUrl}}/admin/hooks">
 				{{.locale.Tr "admin.hooks"}}