Merge branch 'master' of github.com:gogits/gogs
Conflicts: templates/user/signup.tmpl
This commit is contained in:
commit
d8b92b4bc9
8 changed files with 72 additions and 20 deletions
|
@ -20,6 +20,10 @@ body {
|
||||||
border-bottom-color: #333 !important;
|
border-bottom-color: #333 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tooltip-arrow:before {
|
||||||
|
border-bottom-color: transparent !important;
|
||||||
|
}
|
||||||
|
|
||||||
.fa {
|
.fa {
|
||||||
margin: 0 .5em;
|
margin: 0 .5em;
|
||||||
}
|
}
|
||||||
|
@ -39,6 +43,7 @@ body {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #EEE;
|
color: #EEE;
|
||||||
font-size: 100%;
|
font-size: 100%;
|
||||||
|
height: 46px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gogs-nav-item:hover,
|
.gogs-nav-item:hover,
|
||||||
|
@ -55,6 +60,7 @@ body {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
padding: 5px 15px;
|
padding: 5px 15px;
|
||||||
|
height: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gogs-nav-item.navbar-right .fa {
|
.gogs-nav-item.navbar-right .fa {
|
||||||
|
@ -68,7 +74,7 @@ body {
|
||||||
|
|
||||||
.gogs-nav .active:after {
|
.gogs-nav .active:after {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: -2px;
|
bottom: -1px;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
width: 0;
|
width: 0;
|
||||||
height: 0;
|
height: 0;
|
||||||
|
@ -80,6 +86,10 @@ body {
|
||||||
border-left: 5px solid transparent;
|
border-left: 5px solid transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#gogs-nav-logo:after {
|
||||||
|
bottom: -4px !important;
|
||||||
|
}
|
||||||
|
|
||||||
.gogs-nav .tooltip {
|
.gogs-nav .tooltip {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
var Gogits = {};
|
var Gogits = {
|
||||||
|
"PageIsSignup": false
|
||||||
|
};
|
||||||
|
|
||||||
(function ($) {
|
(function ($) {
|
||||||
Gogits.showTooltips = function () {
|
Gogits.showTooltips = function () {
|
||||||
|
@ -13,10 +15,48 @@ var Gogits = {};
|
||||||
}
|
}
|
||||||
$(selector).tab("show");
|
$(selector).tab("show");
|
||||||
$(selector).find("li:eq(" + index + ") a").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);
|
})(jQuery);
|
||||||
|
|
||||||
|
|
||||||
function initCore() {
|
function initCore() {
|
||||||
Gogits.showTooltips();
|
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]"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
2
public/js/jquery.validate.min.js
vendored
Normal file
2
public/js/jquery.validate.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
|
@ -16,5 +16,6 @@ func Home(r render.Render, data base.TmplData, session sessions.Session) {
|
||||||
user.Dashboard(r, data, session)
|
user.Dashboard(r, data, session)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
r.HTML(200, "home", nil)
|
data["PageIsHome"] = true
|
||||||
|
r.HTML(200, "home", data)
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,7 @@ func Dashboard(r render.Render, data base.TmplData, session sessions.Session) {
|
||||||
data["IsSigned"] = true
|
data["IsSigned"] = true
|
||||||
data["SignedUserId"] = SignedInId(session)
|
data["SignedUserId"] = SignedInId(session)
|
||||||
data["SignedUserName"] = SignedInName(session)
|
data["SignedUserName"] = SignedInName(session)
|
||||||
|
data["PageIsUserDashboard"] = true
|
||||||
|
|
||||||
data["Title"] = "Dashboard"
|
data["Title"] = "Dashboard"
|
||||||
r.HTML(200, "user/dashboard", data)
|
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) {
|
func SignUp(form auth.RegisterForm, data base.TmplData, req *http.Request, r render.Render) {
|
||||||
data["Title"] = "Sign Up"
|
data["Title"] = "Sign Up"
|
||||||
|
data["PageIsSignUp"] = true
|
||||||
|
|
||||||
if req.Method == "GET" {
|
if req.Method == "GET" {
|
||||||
r.HTML(200, "user/signup", data)
|
r.HTML(200, "user/signup", data)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<script>
|
<script>
|
||||||
$(function(){
|
$(function(){
|
||||||
initCore();
|
initCore();
|
||||||
|
{{if .PageIsSignUp}}initRegister();{{end}}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<div class="gogs-masthead navbar navbar-fixed-top" id="masthead">
|
<div class="gogs-masthead navbar navbar-fixed-top" id="masthead">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<nav class="gogs-nav">
|
<nav class="gogs-nav">
|
||||||
<a class="gogs-nav-item active" href="/"><img src="/img/favicon.png" alt="Gogs Logo" id="gogs-logo"></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" href="#">Dashboard</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="#">Explore</a>
|
||||||
<a class="gogs-nav-item" href="#">Help</a>{{if .IsSigned}}
|
<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>
|
<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>
|
||||||
|
|
|
@ -3,41 +3,37 @@
|
||||||
<div class="container" id="gogs-body">
|
<div class="container" id="gogs-body">
|
||||||
<form action="/user/sign_up" method="post" class="form-horizontal gogs-card" id="gogs-login-card">
|
<form action="/user/sign_up" method="post" class="form-horizontal gogs-card" id="gogs-login-card">
|
||||||
<h3>Sign Up</h3>
|
<h3>Sign Up</h3>
|
||||||
{{if .HasError}}
|
<div class="alert alert-danger form-error{{if .HasError}}{{else}} hidden{{end}}">{{.ErrorMsg}}</div>
|
||||||
<div class="alert alert-danger">{{.ErrorMsg}}</div>
|
<div class="form-group {{if .Err_Username}}has-error has-feedback{{end}}">
|
||||||
{{end}}
|
|
||||||
<div class="form-group {{if .Err_UserName}}has-error has-feedback{{end}}">
|
|
||||||
<label class="col-md-4 control-label">Username: </label>
|
<label class="col-md-4 control-label">Username: </label>
|
||||||
<div class="col-md-6">
|
<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>
|
</div>
|
||||||
<div class="form-group {{if .Err_Email}}has-error has-feedback{{end}}">
|
<div class="form-group {{if .Err_Email}}has-error has-feedback{{end}}">
|
||||||
<label class="col-md-4 control-label">Email: </label>
|
<label class="col-md-4 control-label">Email: </label>
|
||||||
<div class="col-md-6">
|
<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>
|
</div>
|
||||||
|
|
||||||
<div class="form-group {{if .Err_Password}}has-error has-feedback{{end}}">
|
<div class="form-group {{if .Err_Password}}has-error has-feedback{{end}}">
|
||||||
<label class="col-md-4 control-label">Password: </label>
|
<label class="col-md-4 control-label">Password: </label>
|
||||||
<div class="col-md-6">
|
<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>
|
</div>
|
||||||
<div class="form-group {{if .Err_RetypePasswd}}has-error has-feedback{{end}}">
|
<div class="form-group {{if .Err_RetypePasswd}}has-error has-feedback{{end}}">
|
||||||
<label class="col-md-4 control-label">Re-type: </label>
|
<label class="col-md-4 control-label">Re-type: </label>
|
||||||
<div class="col-md-6">
|
<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>
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-md-offset-4 col-md-6">
|
<div class="col-md-offset-4 col-md-6">
|
||||||
<button type="submit" class="btn btn-lg btn-primary">Create an account</button>
|
<button type="submit" class="btn btn-lg btn-primary">Create an account</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-md-offset-4 col-md-6">
|
<div class="col-md-offset-4 col-md-6">
|
||||||
<a href="/user/login">Already have an account? Sign in now!</a>
|
<a href="/user/login">Already have an account? Sign in now!</a>
|
||||||
|
|
Loading…
Reference in a new issue