Browse Source

install sample page

FuXiaoHei 11 years ago
parent
commit
7f6126dd04
5 changed files with 95 additions and 2 deletions
  1. 1 1
      modules/base/conf.go
  2. 10 1
      public/css/gogs.css
  3. 13 0
      routers/install.go
  4. 70 0
      templates/install.tmpl
  5. 1 0
      web.go

+ 1 - 1
modules/base/conf.go

@@ -243,7 +243,7 @@ func newNotifyMailService() {
 }
 
 func NewConfigContext() {
-	var err error
+	//var err error
 	workDir, err := exeDir()
 	if err != nil {
 		fmt.Printf("Fail to get work directory: %s\n", err)

+ 10 - 1
public/css/gogs.css

@@ -224,6 +224,15 @@ html, body {
     line-height: 30px;
 }
 
+#gogs-install-card{
+    width: 800px;
+}
+
+#gogs-install-card .form-group {
+    margin-left: 0;
+    margin-right: 0;
+}
+
 .gogs-card .btn {
     cursor: pointer;
     margin-right: 1.2em;
@@ -676,7 +685,7 @@ html, body {
     margin: 0 .5em 0 0;
 }
 
-.file-content .file-head .file-size{
+.file-content .file-head .file-size {
     font-size: 13px;
     color: #888;
     margin-left: 1em;

+ 13 - 0
routers/install.go

@@ -0,0 +1,13 @@
+// Copyright 2014 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package routers
+
+import "github.com/gogits/gogs/modules/middleware"
+
+func Install(ctx *middleware.Context){
+	ctx.Data["PageIsInstall"] = true
+	ctx.Data["Title"] = "Install"
+	ctx.HTML(200,"install")
+}

+ 70 - 0
templates/install.tmpl

@@ -0,0 +1,70 @@
+{{template "base/head" .}}
+<div id="gogs-body" class="container">
+    <form action="/install" method="post" class="form-horizontal gogs-card" id="gogs-install-card">
+        {{.CsrfTokenHtml}}
+        <h3>Install Steps</h3>
+        <div class="alert alert-danger form-error{{if .HasError}}{{else}} hidden{{end}}">{{.ErrorMsg}}</div>
+        <p class="help-block text-center">GoGits need MySQL or PostgreSQL server</p>
+        <div class="form-group {{if .Err_User}}has-error has-feedback{{end}}">
+            <label class="col-md-3 control-label"><strong>MySQL </strong>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 {{if .Err_User}}has-error has-feedback{{end}}">
+            <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">
+            </div>
+        </div>
+        <div class="form-group {{if .Err_User}}has-error has-feedback{{end}}">
+            <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">
+            </div>
+        </div>
+        <div class="form-group {{if .Err_Password}}has-error has-feedback{{end}}">
+            <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">
+            </div>
+        </div>
+        <div class="form-group {{if .Err_Password}}has-error has-feedback{{end}}">
+            <label class="col-md-3 control-label">Database: </label>
+            <div class="col-md-8">
+                <input name="database" type="text" class="form-control" placeholder="Type mysql database name" value="gogs" required="required">
+                <p class="help-block">Recommend use INNODB engine with utf8_general_ci charset.</p>
+            </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 for GoGits</p>
+
+        <div class="form-group {{if .Err_Password}}has-error has-feedback{{end}}">
+            <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">
+                <p class="help-block">The git copy of each repository is saved in this directory.</p>
+            </div>
+        </div>
+        <div class="form-group {{if .Err_Password}}has-error has-feedback{{end}}">
+            <label class="col-md-3 control-label">System User: </label>
+            <div class="col-md-8">
+                <input name="system-user" type="text" class="form-control" placeholder="Type mysql password" value="root" required="required">
+                <p class="help-block">The user has access to visit and run GoGits.</p>
+            </div>
+        </div>
+        <hr/>
+        <div class="form-group text-center">
+            <a class="btn btn-danger btn-lg">Install GoGits</a>
+        </div>
+    </form>
+</div>
+{{template "base/footer" .}}

+ 1 - 0
web.go

@@ -90,6 +90,7 @@ func runWeb(*cli.Context) {
 
 	// Routers.
 	m.Get("/", ignSignIn, routers.Home)
+	m.Get("/install",routers.Install)
 	m.Get("/issues", reqSignIn, user.Issues)
 	m.Get("/pulls", reqSignIn, user.Pulls)
 	m.Get("/stars", reqSignIn, user.Stars)