Working on install page
This commit is contained in:
		
							parent
							
								
									5344a03003
								
							
						
					
					
						commit
						0fd754bbe0
					
				
					 6 changed files with 56 additions and 37 deletions
				
			
		|  | @ -34,7 +34,7 @@ func LoadModelsConfig() { | |||
| 	DbCfg.Path = base.Cfg.MustValue("database", "PATH", "data/gogs.db") | ||||
| } | ||||
| 
 | ||||
| func setEngine() { | ||||
| func SetEngine() { | ||||
| 	var err error | ||||
| 	switch DbCfg.Type { | ||||
| 	case "mysql": | ||||
|  | @ -70,7 +70,7 @@ func setEngine() { | |||
| } | ||||
| 
 | ||||
| func NewEngine() { | ||||
| 	setEngine() | ||||
| 	SetEngine() | ||||
| 	if err := orm.Sync(new(User), new(PublicKey), new(Repository), new(Watch), | ||||
| 		new(Action), new(Access), new(Issue), new(Comment)); err != nil { | ||||
| 		fmt.Printf("sync database struct error: %v\n", err) | ||||
|  |  | |||
|  | @ -38,6 +38,8 @@ var ( | |||
| 	RunUser      string | ||||
| 	RepoRootPath string | ||||
| 
 | ||||
| 	InstallLock bool | ||||
| 
 | ||||
| 	EnableHttpsClone bool | ||||
| 
 | ||||
| 	LogInRememberDays  int | ||||
|  | @ -282,6 +284,8 @@ func NewConfigContext() { | |||
| 		os.Exit(2) | ||||
| 	} | ||||
| 
 | ||||
| 	InstallLock = Cfg.MustBool("security", "INSTALL_LOCK", false) | ||||
| 
 | ||||
| 	EnableHttpsClone = Cfg.MustBool("security", "ENABLE_HTTPS_CLONE", false) | ||||
| 
 | ||||
| 	LogInRememberDays = Cfg.MustInt("security", "LOGIN_REMEMBER_DAYS") | ||||
|  |  | |||
|  | @ -4,10 +4,28 @@ | |||
| 
 | ||||
| package routers | ||||
| 
 | ||||
| import "github.com/gogits/gogs/modules/middleware" | ||||
| import ( | ||||
| 	"errors" | ||||
| 
 | ||||
| 	"github.com/gogits/gogs/models" | ||||
| 	"github.com/gogits/gogs/modules/base" | ||||
| 	"github.com/gogits/gogs/modules/middleware" | ||||
| ) | ||||
| 
 | ||||
| func Install(ctx *middleware.Context) { | ||||
| 	if base.InstallLock { | ||||
| 		ctx.Handle(404, "install.Install", errors.New("Installation is prohibited")) | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| func Install(ctx *middleware.Context){ | ||||
| 	ctx.Data["PageIsInstall"] = true | ||||
| 	ctx.Data["Title"] = "Install" | ||||
| 	ctx.HTML(200,"install") | ||||
| 	ctx.Data["DbCfg"] = models.DbCfg | ||||
| 	ctx.Data["RepoRootPath"] = base.RepoRootPath | ||||
| 	ctx.Data["RunUser"] = base.RunUser | ||||
| 	ctx.Data["PageIsInstall"] = true | ||||
| 
 | ||||
| 	if ctx.Req.Method == "GET" { | ||||
| 		ctx.HTML(200, "install") | ||||
| 		return | ||||
| 	} | ||||
| } | ||||
|  |  | |||
							
								
								
									
										2
									
								
								serve.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								serve.go
									
									
									
									
									
								
							|  | @ -78,7 +78,7 @@ func runServ(k *cli.Context) { | |||
| 
 | ||||
| 	base.NewConfigContext() | ||||
| 	models.LoadModelsConfig() | ||||
| 	models.NewEngine() | ||||
| 	models.SetEngine() | ||||
| 
 | ||||
| 	keys := strings.Split(os.Args[2], "-") | ||||
| 	if len(keys) != 2 { | ||||
|  |  | |||
|  | @ -12,7 +12,7 @@ | |||
|                 <select name="database" id="install-database" class="form-control"> | ||||
|                     <option value="mysql">MySQL</option> | ||||
|                     <option value="pgsql">PostgreSQL</option> | ||||
|                     <option value="sqlite">SQLite</option> | ||||
|                     <option value="sqlite">SQLite3</option> | ||||
|                 </select> | ||||
|             </div> | ||||
|         </div> | ||||
|  | @ -21,28 +21,21 @@ | |||
|                 <label class="col-md-3 control-label">Host: </label> | ||||
| 
 | ||||
|                 <div class="col-md-8"> | ||||
|                     <input name="host" class="form-control" placeholder="Type mysql server ip or domain" value="localhost" required="required"> | ||||
|                 </div> | ||||
|             </div> | ||||
|             <div class="form-group"> | ||||
|                 <label class="col-md-3 control-label">Port: </label> | ||||
| 
 | ||||
|                 <div class="col-md-8"> | ||||
|                     <input name="port" class="form-control" placeholder="Type mysql server port" value="3306" required="required"> | ||||
|                     <input name="host" class="form-control" placeholder="Type database server host, leave blank to keep default" value="{{.DbCfg.Host}}" required="required"> | ||||
|                 </div> | ||||
|             </div> | ||||
|             <div class="form-group"> | ||||
|                 <label class="col-md-3 control-label">User: </label> | ||||
| 
 | ||||
|                 <div class="col-md-8"> | ||||
|                     <input name="user" class="form-control" placeholder="Type mysql username" required="required"> | ||||
|                     <input name="user" class="form-control" placeholder="Type database username" required="required" value="{{.DbCfg.User}}"> | ||||
|                 </div> | ||||
|             </div> | ||||
|             <div class="form-group"> | ||||
|                 <label class="col-md-3 control-label">Password: </label> | ||||
| 
 | ||||
|                 <div class="col-md-8"> | ||||
|                     <input name="passwd" type="password" class="form-control" placeholder="Type mysql password" required="required"> | ||||
|                     <input name="passwd" type="password" class="form-control" placeholder="Type database password" required="required" value="{{.DbCfg.Pwd}}"> | ||||
|                 </div> | ||||
|             </div> | ||||
| 
 | ||||
|  | @ -50,7 +43,7 @@ | |||
|                 <label class="col-md-3 control-label">Database Name: </label> | ||||
| 
 | ||||
|                 <div class="col-md-8"> | ||||
|                     <input name="database" type="text" class="form-control" placeholder="Type mysql database name" value="gogs" required="required"> | ||||
|                     <input name="database" type="text" class="form-control" placeholder="Type mysql database name" value="{{.DbCfg.Name}}" required="required"> | ||||
|                     <p class="help-block">Recommend use INNODB engine with utf8_general_ci charset.</p> | ||||
|                 </div> | ||||
|             </div> | ||||
|  | @ -71,18 +64,12 @@ | |||
|                 <label class="col-md-3 control-label">Path: </label> | ||||
| 
 | ||||
|                 <div class="col-md-8"> | ||||
|                     <input name="path" class="form-control" placeholder="Type sqlite file path" value="xxx/file.db"> | ||||
|                     <p class="help-block">The file path of SQLite database.</p> | ||||
|                     <input name="path" class="form-control" placeholder="Type sqlite3 file path" value="{{.DbCfg.Path}}"> | ||||
|                     <p class="help-block">The file path of SQLite3 database.</p> | ||||
|                 </div> | ||||
|             </div> | ||||
|         </div> | ||||
| 
 | ||||
|         <!-- <div class="form-group"> | ||||
|             <div class="col-md-8 col-md-offset-3"> | ||||
|                 <button class="btn btn-sm btn-info">Test Connection</button> | ||||
|             </div> | ||||
|         </div> --> | ||||
| 
 | ||||
|         <hr/> | ||||
| 
 | ||||
|         <p class="help-block text-center">General Settings of Gogs</p> | ||||
|  | @ -91,7 +78,7 @@ | |||
|             <label class="col-md-3 control-label">Repository Path: </label> | ||||
| 
 | ||||
|             <div class="col-md-8"> | ||||
|                 <input name="repo-path" type="text" class="form-control" placeholder="Type your repository directory" value="/var/gogs/repostiory" required="required"> | ||||
|                 <input name="repo-path" type="text" class="form-control" placeholder="Type your repository directory" value="{{.RepoRootPath}}" required="required"> | ||||
| 
 | ||||
|                 <p class="help-block">The git copy of each repository is saved in this directory.</p> | ||||
|             </div> | ||||
|  | @ -100,7 +87,7 @@ | |||
|             <label class="col-md-3 control-label">Run User: </label> | ||||
| 
 | ||||
|             <div class="col-md-8"> | ||||
|                 <input name="system-user" type="text" class="form-control" placeholder="Type mysql password" value="root" required="required"> | ||||
|                 <input name="system-user" type="text" class="form-control" placeholder="Type system user name" value="{{.RunUser}}" required="required"> | ||||
|                 <p class="help-block">The user has access to visit and run Gogs.</p> | ||||
|             </div> | ||||
|         </div> | ||||
|  | @ -113,20 +100,30 @@ | |||
|             <label class="col-md-3 control-label">Username: </label> | ||||
| 
 | ||||
|             <div class="col-md-8"> | ||||
|                 <input name="repo-path" type="text" class="form-control" placeholder="Type admin user name" value="admin" required="required"> | ||||
|                 <input name="admin_name" type="text" class="form-control" placeholder="Type admin user name" value="admin" required="required"> | ||||
|             </div> | ||||
|         </div> | ||||
| 
 | ||||
|         <div class="form-group"> | ||||
|             <label class="col-md-3 control-label">Password: </label> | ||||
| 
 | ||||
|             <div class="col-md-8"> | ||||
|                 <input name="system-user" type="password" class="form-control" placeholder="Type admin user password" required="required"> | ||||
|                 <input name="admin_pwd" type="password" class="form-control" placeholder="Type admin user password" required="required"> | ||||
|             </div> | ||||
|         </div> | ||||
| 
 | ||||
|         <div class="form-group"> | ||||
|             <label class="col-md-3 control-label">E-mail: </label> | ||||
| 
 | ||||
|             <div class="col-md-8"> | ||||
|                 <input name="admin_email" type="text" class="form-control" placeholder="Type admin user e-mail" required="required"> | ||||
|             </div> | ||||
|         </div> | ||||
| 
 | ||||
|         <hr/> | ||||
| 
 | ||||
|         <div class="form-group text-center"> | ||||
|             <button class="btn btn-primary btn-lg">Test Configuration</button> | ||||
|             <button class="btn btn-danger btn-lg">Install Gogs</button> | ||||
|             <button class="btn btn-default btn-sm" type="button" data-toggle="modal" data-target="#advance-options-modal"> | ||||
|                 Advanced Options | ||||
|  | @ -144,21 +141,21 @@ | |||
|                             <label class="col-md-3 control-label">SMTP Host: </label> | ||||
| 
 | ||||
|                             <div class="col-md-8"> | ||||
|                                 <input name="repo-path" type="text" class="form-control" placeholder="Type admin user name"> | ||||
|                                 <input name="smtp_host" type="text" class="form-control" placeholder="Type SMTP host address"> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="form-group"> | ||||
|                             <label class="col-md-3 control-label">Email: </label> | ||||
| 
 | ||||
|                             <div class="col-md-8"> | ||||
|                                 <input name="repo-path" type="text" class="form-control" placeholder="Type admin user name"> | ||||
|                                 <input name="mailer_user" type="text" class="form-control" placeholder="Type SMTP user e-mail address"> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <div class="form-group"> | ||||
|                             <label class="col-md-3 control-label">Password: </label> | ||||
| 
 | ||||
|                             <div class="col-md-8"> | ||||
|                                 <input name="system-user" type="password" class="form-control" placeholder="Type admin user password"> | ||||
|                                 <input name="mailer_pwd" type="password" class="form-control" placeholder="Type SMTP user password"> | ||||
|                             </div> | ||||
|                         </div> | ||||
|                         <hr/> | ||||
|  | @ -168,7 +165,7 @@ | |||
|                             <div class="col-md-offset-3 col-md-7"> | ||||
|                                 <div class="checkbox"> | ||||
|                                     <label> | ||||
|                                         <input name="system-user" type="checkbox"> | ||||
|                                         <input name="register_confirm" type="checkbox"> | ||||
|                                         <strong>Enable Register Confirmation</strong> | ||||
|                                     </label> | ||||
|                                 </div> | ||||
|  | @ -179,7 +176,7 @@ | |||
|                             <div class="col-md-offset-3 col-md-7"> | ||||
|                                 <div class="checkbox"> | ||||
|                                     <label> | ||||
|                                         <input name="system-user" type="checkbox"> | ||||
|                                         <input name="mail_notify" type="checkbox"> | ||||
|                                         <strong>Enable Mail Notification</strong> | ||||
|                                     </label> | ||||
|                                 </div> | ||||
|  |  | |||
|  | @ -32,7 +32,7 @@ gogs serv provide access auth for repositories`, | |||
| func runUpdate(c *cli.Context) { | ||||
| 	base.NewConfigContext() | ||||
| 	models.LoadModelsConfig() | ||||
| 	models.NewEngine() | ||||
| 	models.SetEngine() | ||||
| 
 | ||||
| 	w, _ := os.Create("update.log") | ||||
| 	defer w.Close() | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue