Prechádzať zdrojové kódy

Merge branch 'master' of github.com:gogits/gogs

Conflicts:
	templates/user/signup.tmpl
Unknown 11 rokov pred
rodič
commit
d8b92b4bc9

+ 11 - 1
public/css/gogs.css

@@ -20,6 +20,10 @@ body {
     border-bottom-color: #333 !important;
 }
 
+.tooltip-arrow:before {
+    border-bottom-color: transparent !important;
+}
+
 .fa {
     margin: 0 .5em;
 }
@@ -39,6 +43,7 @@ body {
     font-weight: bold;
     color: #EEE;
     font-size: 100%;
+    height: 46px;
 }
 
 .gogs-nav-item:hover,
@@ -55,6 +60,7 @@ body {
     cursor: pointer;
     margin-top: 8px;
     padding: 5px 15px;
+    height: 30px;
 }
 
 .gogs-nav-item.navbar-right .fa {
@@ -68,7 +74,7 @@ body {
 
 .gogs-nav .active:after {
     position: absolute;
-    bottom: -2px;
+    bottom: -1px;
     left: 50%;
     width: 0;
     height: 0;
@@ -80,6 +86,10 @@ body {
     border-left: 5px solid transparent;
 }
 
+#gogs-nav-logo:after {
+    bottom: -4px !important;
+}
+
 .gogs-nav .tooltip {
     border: none;
 }

+ 45 - 5
public/js/app.js

@@ -1,7 +1,9 @@
-var Gogits = {};
+var Gogits = {
+    "PageIsSignup": false
+};
 
-(function($){
-    Gogits.showTooltips = function(){
+(function ($) {
+    Gogits.showTooltips = function () {
         $("body").tooltip({
             selector: "[data-toggle=tooltip]"
             //container: "body"
@@ -13,10 +15,48 @@ var Gogits = {};
         }
         $(selector).tab("show");
         $(selector).find("li:eq(" + index + ") a").tab("show");
-    }
+    };
+    Gogits.validateForm = function (selector, options) {
+        var $form = $(selector);
+        options = options || {};
+        options.showErrors = function (map, list) {
+            var $error = $form.find('.form-error').addClass('hidden');
+            $('.has-error').removeClass("has-error");
+            $error.text(list[0].message).show().removeClass("hidden");
+            $(list[0].element).parents(".form-group").addClass("has-error");
+        };
+        $form.validate(options);
+    };
 })(jQuery);
 
 
-function initCore(){
+function initCore() {
     Gogits.showTooltips();
+}
+
+function initRegister() {
+    $.getScript("/js/jquery.validate.min.js", function () {
+        Gogits.validateForm("#gogs-login-card", {
+            rules: {
+                "username": {
+                    required: true,
+                    minlength: 5,
+                    maxlength: 30
+                },
+                "email": {
+                    required: true,
+                    email: true
+                },
+                "passwd": {
+                    required: true,
+                    minlength: 6,
+                    maxlength: 30
+                },
+                "re-passwd": {
+                    required: true,
+                    equalTo: "input[name=passwd]"
+                }
+            }
+        });
+    });
 }

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 0
public/js/jquery.validate.min.js


+ 2 - 1
routers/dashboard.go

@@ -16,5 +16,6 @@ func Home(r render.Render, data base.TmplData, session sessions.Session) {
 		user.Dashboard(r, data, session)
 		return
 	}
-	r.HTML(200, "home", nil)
+	data["PageIsHome"] = true
+	r.HTML(200, "home", data)
 }

+ 2 - 0
routers/user/user.go

@@ -27,6 +27,7 @@ func Dashboard(r render.Render, data base.TmplData, session sessions.Session) {
 	data["IsSigned"] = true
 	data["SignedUserId"] = SignedInId(session)
 	data["SignedUserName"] = SignedInName(session)
+	data["PageIsUserDashboard"] = true
 
 	data["Title"] = "Dashboard"
 	r.HTML(200, "user/dashboard", data)
@@ -112,6 +113,7 @@ func SignIn(req *http.Request, r render.Render, session sessions.Session) {
 
 func SignUp(form auth.RegisterForm, data base.TmplData, req *http.Request, r render.Render) {
 	data["Title"] = "Sign Up"
+	data["PageIsSignUp"] = true
 
 	if req.Method == "GET" {
 		r.HTML(200, "user/signup", data)

+ 2 - 1
templates/base/footer.tmpl

@@ -1,6 +1,7 @@
 <script>
     $(function(){
-       initCore();
+        initCore();
+        {{if .PageIsSignUp}}initRegister();{{end}}
     });
 </script>
 </body>

+ 2 - 2
templates/base/navbar.tmpl

@@ -1,8 +1,8 @@
 <div class="gogs-masthead navbar navbar-fixed-top" id="masthead">
     <div class="container">
         <nav class="gogs-nav">
-            <a class="gogs-nav-item active" href="/"><img src="/img/favicon.png" alt="Gogs Logo" id="gogs-logo"></a>
-            <a class="gogs-nav-item" href="#">Dashboard</a>
+            <a id="gogs-nav-logo" class="gogs-nav-item{{if .PageIsHome}} active{{end}}" href="/"><img src="/img/favicon.png" alt="Gogs Logo" id="gogs-logo"></a>
+            <a class="gogs-nav-item{{if .PageIsUserDashboard}} active{{end}}" href="#">Dashboard</a>
             <a class="gogs-nav-item" href="#">Explore</a>
             <a class="gogs-nav-item" href="#">Help</a>{{if .IsSigned}}
             <a id="gogs-nav-out" class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/user/login/"><i class="fa fa-power-off fa-lg"></i></a>

+ 6 - 10
templates/user/signup.tmpl

@@ -3,41 +3,37 @@
 <div class="container" id="gogs-body">
 	<form action="/user/sign_up" method="post" class="form-horizontal gogs-card" id="gogs-login-card">
         <h3>Sign Up</h3>
-	{{if .HasError}}
-	<div class="alert alert-danger">{{.ErrorMsg}}</div>
-	{{end}}
-		<div class="form-group {{if .Err_UserName}}has-error has-feedback{{end}}">
+	    <div class="alert alert-danger form-error{{if .HasError}}{{else}} hidden{{end}}">{{.ErrorMsg}}</div>
+		<div class="form-group {{if .Err_Username}}has-error has-feedback{{end}}">
 			<label class="col-md-4 control-label">Username: </label>
 			<div class="col-md-6">
-				<input name="username" class="form-control" placeholder="Type your username" value="{{.username}}">
+				<input name="username" class="form-control" placeholder="Type your username" value="{{.username}}" required="required" title="Username must contain at least has 5 characters">
 			</div>
 		</div>
 		<div class="form-group {{if .Err_Email}}has-error has-feedback{{end}}">
 			<label class="col-md-4 control-label">Email: </label>
 			<div class="col-md-6">
-				<input name="email" class="form-control" placeholder="Type your e-mail address" value="{{.email}}">
+				<input name="email" class="form-control" placeholder="Type your e-mail address" value="{{.email}}" required="required" title="Email is not valid">
 			</div>
 		</div>
 
 		<div class="form-group {{if .Err_Password}}has-error has-feedback{{end}}">
 			<label class="col-md-4 control-label">Password: </label>
 			<div class="col-md-6">
-				<input name="passwd" type="password" class="form-control" placeholder="Type your password">
+				<input name="passwd" type="password" class="form-control" placeholder="Type your password" required="required" title="Password must contain at least has 6 characters">
 			</div>
 		</div>
 		<div class="form-group {{if .Err_RetypePasswd}}has-error has-feedback{{end}}">
 			<label class="col-md-4 control-label">Re-type: </label>
 			<div class="col-md-6">
-				<input type="password" class="form-control" placeholder="Re-type your password">
+				<input name="re-passwd" type="password" class="form-control" placeholder="Re-type your password" required="required" title="Re-type Password must be same to Password">
 			</div>
 		</div>
-
 		<div class="form-group">
 		    <div class="col-md-offset-4 col-md-6">
 		    	<button type="submit" class="btn btn-lg btn-primary">Create an account</button>
 		    </div>
 		</div>
-
 	    <div class="form-group">
             <div class="col-md-offset-4 col-md-6">
                 <a href="/user/login">Already have an account? Sign in now!</a>

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov