diff options
author | Jonas <cez81@users.noreply.github.com> | 2017-04-08 17:27:26 +0200 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2017-04-08 23:27:26 +0800 |
commit | 54f0293f0ab73f357f545f8e05d16f9b254aba5e (patch) | |
tree | b95f86dd93e7c74cada06a919d7f790c2ca1d083 /routers/repo/setting.go | |
parent | edbb9eefd6c12d6c67bf864539a51f5a09c7d670 (diff) | |
download | gitea-54f0293f0ab73f357f545f8e05d16f9b254aba5e.tar.gz gitea-54f0293f0ab73f357f545f8e05d16f9b254aba5e.zip |
Mirror sync interval specified as duration string (#1407)
* Sync interval specifed as duration string
* Changed mirror interval text
* make fmt
* Add MinInterval for mirror sync
* Use duration internally
* Changed min default to 10m
* make fmt
* Incorrect default
* Removed defaults in MustDuration()
* Add Mirror interval migration
* Default values corrected
* Use transaction during migration
* Change http 500 to page with error message
* Cleanup session.commit()
Diffstat (limited to 'routers/repo/setting.go')
-rw-r--r-- | routers/repo/setting.go | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/routers/repo/setting.go b/routers/repo/setting.go index fb6d68ad9b..ed7254fe1b 100644 --- a/routers/repo/setting.go +++ b/routers/repo/setting.go @@ -111,12 +111,15 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) { return } - if form.Interval > 0 { + interval, err := time.ParseDuration(form.Interval) + if err != nil || interval < setting.Mirror.MinInterval { + ctx.RenderWithErr(ctx.Tr("repo.mirror_interval_invalid"), tplSettingsOptions, &form) + } else { ctx.Repo.Mirror.EnablePrune = form.EnablePrune - ctx.Repo.Mirror.Interval = form.Interval - ctx.Repo.Mirror.NextUpdate = time.Now().Add(time.Duration(form.Interval) * time.Hour) + ctx.Repo.Mirror.Interval = interval + ctx.Repo.Mirror.NextUpdate = time.Now().Add(interval) if err := models.UpdateMirror(ctx.Repo.Mirror); err != nil { - ctx.Handle(500, "UpdateMirror", err) + ctx.RenderWithErr(ctx.Tr("repo.mirror_interval_invalid"), tplSettingsOptions, &form) return } } |