From 5f41f65c1c3b32d15d7469256dfdfcd7c6fa1e43 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 31 Jan 2023 00:08:40 +0100 Subject: [PATCH] Add repository setting to enable/disable releases unit To go along with similar settings for issues, pulls, projects, packages. --- options/locale/locale_en-US.ini | 1 + routers/web/repo/setting.go | 9 +++++++++ services/forms/repo_form.go | 1 + templates/repo/settings/options.tmpl | 13 +++++++++++++ 4 files changed, 24 insertions(+) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 74ba85ca90161..4a4683e8af03c 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -1870,6 +1870,7 @@ settings.pulls.allow_manual_merge = Enable Mark PR as manually merged settings.pulls.enable_autodetect_manual_merge = Enable autodetect manual merge (Note: In some special cases, misjudgments can occur) settings.pulls.allow_rebase_update = Enable updating pull request branch by rebase settings.pulls.default_delete_branch_after_merge = Delete pull request branch after merge by default +settings.releases_desc = Enable Repository Releases settings.packages_desc = Enable Repository Packages Registry settings.projects_desc = Enable Repository Projects settings.admin_settings = Administrator Settings diff --git a/routers/web/repo/setting.go b/routers/web/repo/setting.go index 43a615abfe991..659d9d2f08769 100644 --- a/routers/web/repo/setting.go +++ b/routers/web/repo/setting.go @@ -488,6 +488,15 @@ func SettingsPost(ctx *context.Context) { deleteUnitTypes = append(deleteUnitTypes, unit_model.TypeProjects) } + if form.EnableReleases && !unit_model.TypeReleases.UnitGlobalDisabled() { + units = append(units, repo_model.RepoUnit{ + RepoID: repo.ID, + Type: unit_model.TypeReleases, + }) + } else if !unit_model.TypeReleases.UnitGlobalDisabled() { + deleteUnitTypes = append(deleteUnitTypes, unit_model.TypeReleases) + } + if form.EnablePackages && !unit_model.TypePackages.UnitGlobalDisabled() { units = append(units, repo_model.RepoUnit{ RepoID: repo.ID, diff --git a/services/forms/repo_form.go b/services/forms/repo_form.go index b7687af2b5af4..d9f8fd8c3ede0 100644 --- a/services/forms/repo_form.go +++ b/services/forms/repo_form.go @@ -146,6 +146,7 @@ type RepoSettingForm struct { ExternalTrackerRegexpPattern string EnableCloseIssuesViaCommitInAnyBranch bool EnableProjects bool + EnableReleases bool EnablePackages bool EnablePulls bool PullsIgnoreWhitespace bool diff --git a/templates/repo/settings/options.tmpl b/templates/repo/settings/options.tmpl index e1f53072b8301..269385d8542d6 100644 --- a/templates/repo/settings/options.tmpl +++ b/templates/repo/settings/options.tmpl @@ -420,6 +420,19 @@ + {{$isReleasesEnabled := .Repository.UnitEnabled $.Context $.UnitTypeReleases}} +
+ + {{if .UnitTypeReleases.UnitGlobalDisabled}} +
+ {{else}} +
+ {{end}} + + +
+
+ {{$isPackagesEnabled := .Repository.UnitEnabled $.Context $.UnitTypePackages}}