summaryrefslogtreecommitdiffstats
path: root/web.go
diff options
context:
space:
mode:
authorUnknown <joe2010xtmf@163.com>2014-03-21 01:48:10 -0400
committerUnknown <joe2010xtmf@163.com>2014-03-21 01:48:10 -0400
commitf6596f11c4aacd3c7c30098f7ffe79e936d21583 (patch)
treeaad5d5017b03d530e6c69ea474266fecea86d0e2 /web.go
parent369ddf76a8ae6916ab72f1fa26c81b44c456c6ea (diff)
downloadgitea-f6596f11c4aacd3c7c30098f7ffe79e936d21583.tar.gz
gitea-f6596f11c4aacd3c7c30098f7ffe79e936d21583.zip
All configuration reload-able
Diffstat (limited to 'web.go')
-rw-r--r--web.go20
1 files changed, 17 insertions, 3 deletions
diff --git a/web.go b/web.go
index a5a8305aee..648cb9d79c 100644
--- a/web.go
+++ b/web.go
@@ -16,9 +16,11 @@ import (
"github.com/gogits/binding"
+ "github.com/gogits/gogs/models"
"github.com/gogits/gogs/modules/auth"
"github.com/gogits/gogs/modules/base"
"github.com/gogits/gogs/modules/log"
+ "github.com/gogits/gogs/modules/mailer"
"github.com/gogits/gogs/modules/middleware"
"github.com/gogits/gogs/routers"
"github.com/gogits/gogs/routers/admin"
@@ -36,6 +38,16 @@ gogs web`,
Flags: []cli.Flag{},
}
+// globalInit is for global configuration reload-able.
+func globalInit() {
+ base.NewConfigContext()
+ mailer.NewMailerContext()
+ models.LoadModelsConfig()
+ models.LoadRepoConfig()
+ models.NewRepoContext()
+ models.NewEngine()
+}
+
// Check run mode(Default of martini is Dev).
func checkRunMode() {
switch base.Cfg.MustValue("", "RUN_MODE") {
@@ -59,6 +71,7 @@ func newMartini() *martini.ClassicMartini {
}
func runWeb(*cli.Context) {
+ globalInit()
base.NewServices()
checkRunMode()
log.Info("%s %s", base.AppName, base.AppVer)
@@ -101,9 +114,10 @@ func runWeb(*cli.Context) {
m.Get("/help", routers.Help)
adminReq := middleware.AdminRequire()
- m.Any("/admin", reqSignIn, adminReq, admin.Dashboard)
- m.Any("/admin/users", reqSignIn, adminReq, admin.Users)
- m.Any("/admin/repos", reqSignIn, adminReq, admin.Repositories)
+ m.Get("/admin", reqSignIn, adminReq, admin.Dashboard)
+ m.Get("/admin/users", reqSignIn, adminReq, admin.Users)
+ m.Get("/admin/repos", reqSignIn, adminReq, admin.Repositories)
+ m.Get("/admin/config", reqSignIn, adminReq, admin.Config)
m.Post("/:username/:reponame/settings", reqSignIn, middleware.RepoAssignment(true), repo.SettingPost)
m.Get("/:username/:reponame/settings", reqSignIn, middleware.RepoAssignment(true), repo.Setting)