@@ -123,34 +123,34 @@ type RepoSettingForm struct { | |||
EnablePrune bool | |||
// Advanced settings | |||
EnableWiki bool | |||
EnableExternalWiki bool | |||
ExternalWikiURL string | |||
EnableIssues bool | |||
EnableExternalTracker bool | |||
ExternalTrackerURL string | |||
TrackerURLFormat string | |||
TrackerIssueStyle string | |||
EnableProjects bool | |||
EnablePulls bool | |||
PullsIgnoreWhitespace bool | |||
PullsAllowMerge bool | |||
PullsAllowRebase bool | |||
PullsAllowRebaseMerge bool | |||
PullsAllowSquash bool | |||
PullsAllowManualMerge bool | |||
EnableAutodetectManualMerge bool | |||
EnableTimetracker bool | |||
AllowOnlyContributorsToTrackTime bool | |||
EnableIssueDependencies bool | |||
IsArchived bool | |||
EnableWiki bool | |||
EnableExternalWiki bool | |||
ExternalWikiURL string | |||
EnableIssues bool | |||
EnableExternalTracker bool | |||
ExternalTrackerURL string | |||
TrackerURLFormat string | |||
TrackerIssueStyle string | |||
EnableCloseIssuesViaCommitInAnyBranch bool | |||
EnableProjects bool | |||
EnablePulls bool | |||
PullsIgnoreWhitespace bool | |||
PullsAllowMerge bool | |||
PullsAllowRebase bool | |||
PullsAllowRebaseMerge bool | |||
PullsAllowSquash bool | |||
PullsAllowManualMerge bool | |||
EnableAutodetectManualMerge bool | |||
EnableTimetracker bool | |||
AllowOnlyContributorsToTrackTime bool | |||
EnableIssueDependencies bool | |||
IsArchived bool | |||
// Signing Settings | |||
TrustModel string | |||
// Admin settings | |||
EnableHealthCheck bool | |||
EnableCloseIssuesViaCommitInAnyBranch bool | |||
EnableHealthCheck bool | |||
} | |||
// Validate validates the fields |
@@ -216,6 +216,7 @@ func SettingsPost(ctx *context.Context) { | |||
ctx.Redirect(repo.Link() + "/settings") | |||
case "advanced": | |||
var repoChanged bool | |||
var units []models.RepoUnit | |||
var deleteUnitTypes []models.UnitType | |||
@@ -223,6 +224,11 @@ func SettingsPost(ctx *context.Context) { | |||
// as an error on the UI for this action | |||
ctx.Data["Err_RepoName"] = nil | |||
if repo.CloseIssuesViaCommitInAnyBranch != form.EnableCloseIssuesViaCommitInAnyBranch { | |||
repo.CloseIssuesViaCommitInAnyBranch = form.EnableCloseIssuesViaCommitInAnyBranch | |||
repoChanged = true | |||
} | |||
if form.EnableWiki && form.EnableExternalWiki && !models.UnitTypeExternalWiki.UnitGlobalDisabled() { | |||
if !validation.IsValidExternalURL(form.ExternalWikiURL) { | |||
ctx.Flash.Error(ctx.Tr("repo.settings.external_wiki_url_error")) | |||
@@ -326,6 +332,12 @@ func SettingsPost(ctx *context.Context) { | |||
ctx.ServerError("UpdateRepositoryUnits", err) | |||
return | |||
} | |||
if repoChanged { | |||
if err := models.UpdateRepository(repo, false); err != nil { | |||
ctx.ServerError("UpdateRepository", err) | |||
return | |||
} | |||
} | |||
log.Trace("Repository advanced settings updated: %s/%s", ctx.Repo.Owner.Name, repo.Name) | |||
ctx.Flash.Success(ctx.Tr("repo.settings.update_settings_success")) | |||
@@ -361,10 +373,6 @@ func SettingsPost(ctx *context.Context) { | |||
repo.IsFsckEnabled = form.EnableHealthCheck | |||
} | |||
if repo.CloseIssuesViaCommitInAnyBranch != form.EnableCloseIssuesViaCommitInAnyBranch { | |||
repo.CloseIssuesViaCommitInAnyBranch = form.EnableCloseIssuesViaCommitInAnyBranch | |||
} | |||
if err := models.UpdateRepository(repo, false); err != nil { | |||
ctx.ServerError("UpdateRepository", err) | |||
return |
@@ -221,12 +221,16 @@ | |||
</div> | |||
</div> | |||
{{end}} | |||
<div class="field"> | |||
<div class="ui checkbox"> | |||
<input name="enable_issue_dependencies" type="checkbox" {{if (.Repository.IsDependenciesEnabled)}}checked{{end}}> | |||
<label>{{.i18n.Tr "repo.issues.dependency.setting"}}</label> | |||
</div> | |||
<div class="field"> | |||
<div class="ui checkbox"> | |||
<input name="enable_issue_dependencies" type="checkbox" {{if (.Repository.IsDependenciesEnabled)}}checked{{end}}> | |||
<label>{{.i18n.Tr "repo.issues.dependency.setting"}}</label> | |||
</div> | |||
</div> | |||
<div class="ui checkbox"> | |||
<input name="enable_close_issues_via_commit_in_any_branch" type="checkbox" {{ if .Repository.CloseIssuesViaCommitInAnyBranch }}checked{{end}}> | |||
<label>{{.i18n.Tr "repo.settings.admin_enable_close_issues_via_commit_in_any_branch"}}</label> | |||
</div> | |||
</div> | |||
<div class="field"> | |||
{{if .UnitTypeExternalTracker.UnitGlobalDisabled}} | |||
@@ -412,10 +416,6 @@ | |||
<label>{{.i18n.Tr "repo.settings.admin_enable_health_check"}}</label> | |||
</div> | |||
</div> | |||
<div class="ui checkbox"> | |||
<input name="enable_close_issues_via_commit_in_any_branch" type="checkbox" {{ if .Repository.CloseIssuesViaCommitInAnyBranch }}checked{{end}}> | |||
<label>{{.i18n.Tr "repo.settings.admin_enable_close_issues_via_commit_in_any_branch"}}</label> | |||
</div> | |||
<div class="ui divider"></div> | |||
<div class="field"> |