]> source.dussan.org Git - gitea.git/commitdiff
routers/repo/setting: display correct error for invalid mirror interval (#6429)
authorAllen Wild <aswild@users.noreply.github.com>
Tue, 26 Mar 2019 00:35:06 +0000 (20:35 -0400)
committertechknowlogick <matti@mdranta.net>
Tue, 26 Mar 2019 00:35:06 +0000 (20:35 -0400)
Set Err_Interval in the context data so that the mirror interval box is
highlighted red as expected.

Clear Err_RepoName for the mirror and advanced actions. repo_name is not
set by these forms, causing auth.validate() to set the Err_RepoName
before SettingsPost is called, which would lead to the repository name
box getting erroneously highlighted red.

Fixes: https://github.com/go-gitea/gitea/issues/6396
routers/repo/setting.go

index 853c34311564c58c6cf672f767eb73a056741a2e..d68edb4e564148e46cddbdc929337c3d55400030 100644 (file)
@@ -124,8 +124,13 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) {
                        return
                }
 
+               // This section doesn't require repo_name/RepoName to be set in the form, don't show it
+               // as an error on the UI for this action
+               ctx.Data["Err_RepoName"] = nil
+
                interval, err := time.ParseDuration(form.Interval)
                if err != nil || (interval != 0 && interval < setting.Mirror.MinInterval) {
+                       ctx.Data["Err_Interval"] = true
                        ctx.RenderWithErr(ctx.Tr("repo.mirror_interval_invalid"), tplSettingsOptions, &form)
                } else {
                        ctx.Repo.Mirror.EnablePrune = form.EnablePrune
@@ -136,6 +141,7 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) {
                                ctx.Repo.Mirror.NextUpdateUnix = 0
                        }
                        if err := models.UpdateMirror(ctx.Repo.Mirror); err != nil {
+                               ctx.Data["Err_Interval"] = true
                                ctx.RenderWithErr(ctx.Tr("repo.mirror_interval_invalid"), tplSettingsOptions, &form)
                                return
                        }
@@ -161,6 +167,10 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) {
        case "advanced":
                var units []models.RepoUnit
 
+               // This section doesn't require repo_name/RepoName to be set in the form, don't show it
+               // as an error on the UI for this action
+               ctx.Data["Err_RepoName"] = nil
+
                for _, tp := range models.MustRepoUnits {
                        units = append(units, models.RepoUnit{
                                RepoID: repo.ID,