|
|
|
@ -23,6 +23,10 @@ import (
|
|
|
|
|
"github.com/gogits/gogs/modules/middleware"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type installRouter int
|
|
|
|
|
|
|
|
|
|
var InstallRouter installRouter = 1
|
|
|
|
|
|
|
|
|
|
// Check run mode(Default of martini is Dev).
|
|
|
|
|
func checkRunMode() {
|
|
|
|
|
switch base.Cfg.MustValue("", "RUN_MODE") {
|
|
|
|
@ -54,7 +58,7 @@ func GlobalInit() {
|
|
|
|
|
checkRunMode()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func Install(ctx *middleware.Context, form auth.InstallForm) {
|
|
|
|
|
func (r installRouter) Get(ctx *middleware.Context, form auth.InstallForm) {
|
|
|
|
|
if base.InstallLock {
|
|
|
|
|
ctx.Handle(404, "install.Install", errors.New("Installation is prohibited"))
|
|
|
|
|
return
|
|
|
|
@ -63,42 +67,49 @@ func Install(ctx *middleware.Context, form auth.InstallForm) {
|
|
|
|
|
ctx.Data["Title"] = "Install"
|
|
|
|
|
ctx.Data["PageIsInstall"] = true
|
|
|
|
|
|
|
|
|
|
if ctx.Req.Method == "GET" {
|
|
|
|
|
// Get and assign value to install form.
|
|
|
|
|
if len(form.Host) == 0 {
|
|
|
|
|
form.Host = models.DbCfg.Host
|
|
|
|
|
}
|
|
|
|
|
if len(form.User) == 0 {
|
|
|
|
|
form.User = models.DbCfg.User
|
|
|
|
|
}
|
|
|
|
|
if len(form.Passwd) == 0 {
|
|
|
|
|
form.Passwd = models.DbCfg.Pwd
|
|
|
|
|
}
|
|
|
|
|
if len(form.DatabaseName) == 0 {
|
|
|
|
|
form.DatabaseName = models.DbCfg.Name
|
|
|
|
|
}
|
|
|
|
|
if len(form.DatabasePath) == 0 {
|
|
|
|
|
form.DatabasePath = models.DbCfg.Path
|
|
|
|
|
}
|
|
|
|
|
// Get and assign value to install form.
|
|
|
|
|
if len(form.Host) == 0 {
|
|
|
|
|
form.Host = models.DbCfg.Host
|
|
|
|
|
}
|
|
|
|
|
if len(form.User) == 0 {
|
|
|
|
|
form.User = models.DbCfg.User
|
|
|
|
|
}
|
|
|
|
|
if len(form.Passwd) == 0 {
|
|
|
|
|
form.Passwd = models.DbCfg.Pwd
|
|
|
|
|
}
|
|
|
|
|
if len(form.DatabaseName) == 0 {
|
|
|
|
|
form.DatabaseName = models.DbCfg.Name
|
|
|
|
|
}
|
|
|
|
|
if len(form.DatabasePath) == 0 {
|
|
|
|
|
form.DatabasePath = models.DbCfg.Path
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if len(form.RepoRootPath) == 0 {
|
|
|
|
|
form.RepoRootPath = base.RepoRootPath
|
|
|
|
|
}
|
|
|
|
|
if len(form.RunUser) == 0 {
|
|
|
|
|
form.RunUser = base.RunUser
|
|
|
|
|
}
|
|
|
|
|
if len(form.Domain) == 0 {
|
|
|
|
|
form.Domain = base.Domain
|
|
|
|
|
}
|
|
|
|
|
if len(form.AppUrl) == 0 {
|
|
|
|
|
form.AppUrl = base.AppUrl
|
|
|
|
|
}
|
|
|
|
|
if len(form.RepoRootPath) == 0 {
|
|
|
|
|
form.RepoRootPath = base.RepoRootPath
|
|
|
|
|
}
|
|
|
|
|
if len(form.RunUser) == 0 {
|
|
|
|
|
form.RunUser = base.RunUser
|
|
|
|
|
}
|
|
|
|
|
if len(form.Domain) == 0 {
|
|
|
|
|
form.Domain = base.Domain
|
|
|
|
|
}
|
|
|
|
|
if len(form.AppUrl) == 0 {
|
|
|
|
|
form.AppUrl = base.AppUrl
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
auth.AssignForm(form, ctx.Data)
|
|
|
|
|
ctx.HTML(200, "install")
|
|
|
|
|
auth.AssignForm(form, ctx.Data)
|
|
|
|
|
ctx.HTML(200, "install")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r installRouter) Post(ctx *middleware.Context, form auth.InstallForm) {
|
|
|
|
|
if base.InstallLock {
|
|
|
|
|
ctx.Handle(404, "install.Install", errors.New("Installation is prohibited"))
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ctx.Data["Title"] = "Install"
|
|
|
|
|
ctx.Data["PageIsInstall"] = true
|
|
|
|
|
|
|
|
|
|
if ctx.HasError() {
|
|
|
|
|
ctx.HTML(200, "install")
|
|
|
|
|
return
|
|
|
|
@ -197,5 +208,6 @@ func Install(ctx *middleware.Context, form auth.InstallForm) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
log.Info("First-time run install finished!")
|
|
|
|
|
ctx.Flash.Success("Welcome! We're glad that you choose Gogs, have fun and take care.")
|
|
|
|
|
ctx.Redirect("/user/login")
|
|
|
|
|
}
|
|
|
|
|