aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2023-02-01 02:31:19 +0100
committerGitHub <noreply@github.com>2023-02-01 01:31:19 +0000
commitfaa96553d1dd5487b8d3682c8eac100580b321e3 (patch)
tree15a7a0d4ef006c48c19bef8ce1a6295ef67da16f
parentb6145bfaa348cb90364837a0fa86421d26f93463 (diff)
downloadgitea-faa96553d1dd5487b8d3682c8eac100580b321e3.tar.gz
gitea-faa96553d1dd5487b8d3682c8eac100580b321e3.zip
Add repository setting to enable/disable releases unit (#22671)
To go along with similar settings for issues, pulls, projects, packages.
-rw-r--r--options/locale/locale_en-US.ini1
-rw-r--r--routers/web/repo/setting.go9
-rw-r--r--services/forms/repo_form.go1
-rw-r--r--templates/repo/settings/options.tmpl13
4 files changed, 24 insertions, 0 deletions
diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index f3da8dd539..3495afe859 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.actions_desc = Enable Repository Actions
diff --git a/routers/web/repo/setting.go b/routers/web/repo/setting.go
index d2d15537ac..73887195e6 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 c084e65600..436d79df68 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
EnableActions bool
diff --git a/templates/repo/settings/options.tmpl b/templates/repo/settings/options.tmpl
index 5b7b9ec5f8..0383364279 100644
--- a/templates/repo/settings/options.tmpl
+++ b/templates/repo/settings/options.tmpl
@@ -420,6 +420,19 @@
</div>
</div>
+ {{$isReleasesEnabled := .Repository.UnitEnabled $.Context $.UnitTypeReleases}}
+ <div class="inline field">
+ <label>{{.locale.Tr "repo.releases"}}</label>
+ {{if .UnitTypeReleases.UnitGlobalDisabled}}
+ <div class="ui checkbox tooltip disabled" data-content="{{.locale.Tr "repo.unit_disabled"}}">
+ {{else}}
+ <div class="ui checkbox">
+ {{end}}
+ <input class="enable-system" name="enable_releases" type="checkbox" {{if $isReleasesEnabled}}checked{{end}}>
+ <label>{{.locale.Tr "repo.settings.releases_desc"}}</label>
+ </div>
+ </div>
+
{{$isPackagesEnabled := .Repository.UnitEnabled $.Context $.UnitTypePackages}}
<div class="inline field">
<label>{{.locale.Tr "repo.packages"}}</label>