summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2014-03-03 23:24:29 +0800
committerLunny Xiao <xiaolunwen@gmail.com>2014-03-03 23:24:29 +0800
commitfea660f1d787f353f06632982861000c9078da2e (patch)
treebf34f22c98551e7b0c5dbc4bc58e6bc0a20efba2
parentb73cf0ee77cf035b118315568c605f4f54fa81aa (diff)
parent39ac95e5a2f256a840dac6206623100a7688ac16 (diff)
downloadgitea-fea660f1d787f353f06632982861000c9078da2e.tar.gz
gitea-fea660f1d787f353f06632982861000c9078da2e.zip
merged
-rwxr-xr-xpublic/css/gogs.css69
-rw-r--r--public/js/app.js7
-rw-r--r--routers/user/user.go38
-rw-r--r--templates/base/footer.tmpl7
-rw-r--r--templates/base/navbar.tmpl13
-rw-r--r--templates/user/profile.tmpl1
-rw-r--r--templates/user/signin.tmpl9
7 files changed, 97 insertions, 47 deletions
diff --git a/public/css/gogs.css b/public/css/gogs.css
index 08dada0457..c08c1e3ba3 100755
--- a/public/css/gogs.css
+++ b/public/css/gogs.css
@@ -10,17 +10,17 @@ body {
/* override bs3 */
-.tooltip-inner{
+.tooltip-inner {
border-radius: 3px;
background: #333;
border: none;
}
-.tooltip-arrow{
+.tooltip-arrow {
border-bottom-color: #333 !important;
}
-.fa{
+.fa {
margin: 0 .5em;
}
@@ -28,8 +28,7 @@ body {
.gogs-masthead {
background-color: #428bca;
box-shadow: inset 0 -2px 5px rgba(0, 0, 0, .1);
- min-height: 45px;
- padding: 2px 16px;
+ padding: 0 16px;
}
/* gogits nav item link */
@@ -54,6 +53,14 @@ body {
padding: 5px 15px;
}
+.gogs-nav-item.navbar-right {
+ margin-top: 3px;
+}
+
+.gogs-nav-item.navbar-right .fa{
+ margin: 0;
+}
+
/* gogits nav item active status */
.gogs-nav .active {
color: #fff;
@@ -73,19 +80,41 @@ body {
border-left: 5px solid transparent;
}
+.gogs-nav .tooltip{
+ border: none;
+}
+
/* gogits logo */
-#gogs-logo {
+#gogs-nav-avatar {
+ margin-top: 0;
+}
+
+#gogs-logo, #gogs-nav-avatar img {
width: 28px;
+ height: 28px;
+}
+
+#gogs-nav-out {
+ margin-top: 10px;
+ padding: 5px 0;
+ margin-left: 10px;
+ height: 28px;
+}
+
+#gogs-nav-out .fa {
+ vertical-align: -10%;
+ margin: 0 .5em;
}
/* gogits body */
#gogs-body {
padding-top: 30px;
padding-bottom: 60px;
+ margin-top: 50px;
}
/* gogits login card */
-.gogs-card{
+.gogs-card {
margin: auto;
padding: 30px;
background: #fff;
@@ -101,7 +130,7 @@ body {
border-bottom: 1px solid #ccc;
}
-#gogs-login-card{
+#gogs-login-card {
width: 600px;
}
@@ -115,51 +144,51 @@ body {
line-height: 30px;
}
-.gogs-card .btn{
+.gogs-card .btn {
cursor: pointer;
margin-right: 1.2em;
}
-#gogs-social-login{
+#gogs-social-login {
margin-top: 30px;
padding-top: 20px;
border-top: 1px solid #ccc;
}
-#gogs-social-login .btn{
+#gogs-social-login .btn {
float: none;
margin: auto;
}
/* gogs-user-profile */
-#gogs-user-avatar{
+#gogs-user-avatar {
width: 200px;
height: 200px;
border-radius: 6px;
}
-#gogs-user-name{
+#gogs-user-name {
margin-top: 20px;
font-size: 1.6em;
font-weight: bold;
margin-bottom: 20px;
}
-#gogs-user-profile .profile-info .list-group-item{
+#gogs-user-profile .profile-info .list-group-item {
background-color: transparent;
padding-top: 18px;
color: #666;
}
-#gogs-user-profile .profile-info .list-group-item a{
+#gogs-user-profile .profile-info .list-group-item a {
margin: 0;
padding: 0;
display: inline;
color: #0093c4;
}
-#gogs-user-profile .profile-info .list-group{
+#gogs-user-profile .profile-info .list-group {
border-top: 1px solid #ccc;
padding-bottom: 18px;
border-bottom: 1px solid #ccc;
@@ -167,20 +196,20 @@ body {
padding-right: 18px;
}
-#gogs-user-activity .tab-pane{
+#gogs-user-activity .tab-pane {
padding: 20px;
}
-#gogs-user-act-tabs li.active a{
+#gogs-user-act-tabs li.active a {
border-bottom-color: #ddd;
}
/* gogits repo create */
-#gogs-repo-create{
+#gogs-repo-create {
width: 800px;
}
-#gogs-repo-create textarea[name=desc]{
+#gogs-repo-create textarea[name=desc] {
height: 8em;
} \ No newline at end of file
diff --git a/public/js/app.js b/public/js/app.js
index a8220f46e1..414af13522 100644
--- a/public/js/app.js
+++ b/public/js/app.js
@@ -14,4 +14,9 @@ var Gogits = {};
$(selector).tab("show");
$(selector).find("li:eq(" + index + ") a").tab("show");
}
-})(jQuery); \ No newline at end of file
+})(jQuery);
+
+
+function initCore(){
+ Gogits.showTooltips();
+} \ No newline at end of file
diff --git a/routers/user/user.go b/routers/user/user.go
index d2da19d5a0..5dc2c0b97d 100644
--- a/routers/user/user.go
+++ b/routers/user/user.go
@@ -25,24 +25,28 @@ func Profile(r render.Render) {
}
func SignIn(req *http.Request, r render.Render, session sessions.Session) {
- if req.Method == "GET" {
- r.HTML(200, "user/signin", map[string]interface{}{
- "Title": "Log In",
- })
- return
- }
-
- // TODO: LDAP sign in
- user, err := models.LoginUserPlain(req.FormValue("account"), req.FormValue("passwd"))
- if err != nil {
- r.HTML(200, "base/error", map[string]interface{}{
- "Error": fmt.Sprintf("%v", err),
- })
- return
+ var (
+ errString string
+ account string
+ )
+ if req.Method == "POST" {
+ account = req.FormValue("account")
+ user, err := models.LoginUserPlain(account, req.FormValue("passwd"))
+ if err == nil {
+ // login success
+ session.Set("userId", user.Id)
+ session.Set("userName", user.Name)
+ r.Redirect("/")
+ return
+ }
+ // login fail
+ errString = fmt.Sprintf("%v", err)
}
- session.Set("userId", user.Id)
- session.Set("userName", user.Name)
- r.Redirect("/")
+ r.HTML(200, "user/signin", map[string]interface{}{
+ "Title": "Log In",
+ "Error": errString,
+ "Account": account,
+ })
}
func SignUp(req *http.Request, r render.Render) {
diff --git a/templates/base/footer.tmpl b/templates/base/footer.tmpl
index 4d4a7e5285..eaf5bd626e 100644
--- a/templates/base/footer.tmpl
+++ b/templates/base/footer.tmpl
@@ -1,2 +1,7 @@
- </body>
+<script>
+ $(function(){
+ initCore();
+ });
+</script>
+</body>
</html> \ No newline at end of file
diff --git a/templates/base/navbar.tmpl b/templates/base/navbar.tmpl
index 56d4a5794a..c4bd3a7a51 100644
--- a/templates/base/navbar.tmpl
+++ b/templates/base/navbar.tmpl
@@ -1,13 +1,18 @@
-<div class="gogs-masthead" id="masthead">
+<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 class="gogs-nav-item" href="#">Explore</a>
<a class="gogs-nav-item" href="#">Help</a>
- <a class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/repo/create">Create a repository</a>
- <a class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/login/">Sign in</a>
- <!--<a class="gogs-nav-item navbar-right" href="#">Profile</a>-->
+
+ <!--<a class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/login/">Sign in</a>-->
+ <a id="gogs-nav-out" class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/login/"><i class="fa fa-power-off fa-lg"></i></a>
+ <a id="gogs-nav-avatar" class="gogs-nav-item navbar-right" href="/user/profile" data-toggle="tooltip" data-placement="bottom" title="Username">
+ <img src="http://1.gravatar.com/avatar/x?s=28" alt="user-avatar" title="username"/>
+ </a>
+ <a class="navbar-right gogs-nav-item" href="/repo/create" data-toggle="tooltip" data-placement="bottom" title="New Repository"><i class="fa fa-plus fa-lg"></i></a>
+ <a class="navbar-right gogs-nav-item" href="#" data-toggle="tooltip" data-placement="bottom" title="Setting"><i class="fa fa-cogs fa-lg"></i></a>
</nav>
</div>
</div>
diff --git a/templates/user/profile.tmpl b/templates/user/profile.tmpl
index f32601001d..e7056aa869 100644
--- a/templates/user/profile.tmpl
+++ b/templates/user/profile.tmpl
@@ -30,7 +30,6 @@
</div>
<script>
$(function () {
- Gogits.showTooltips();
Gogits.showTab("#gogs-user-act-tabs");
});
</script>
diff --git a/templates/user/signin.tmpl b/templates/user/signin.tmpl
index 856e46d97b..6527ae53f2 100644
--- a/templates/user/signin.tmpl
+++ b/templates/user/signin.tmpl
@@ -2,17 +2,20 @@
{{template "base/navbar" .}}
<div class="container" id="gogs-body">
<form action="/user/signin" method="post" class="form-horizontal gogs-card" id="gogs-login-card">
- <h3>Log in</h3>
+ <h3>Log in</h3>{{if .Error}}
+ <div class="form-group">
+ <div class="col-md-6 col-md-offset-3 alert alert-danger text-center"><strong>{{.Error}}</strong></div>
+ </div>{{end}}
<div class="form-group">
<label class="col-md-4 control-label">Username or Email: </label>
<div class="col-md-6">
- <input name="account" class="form-control" placeholder="Type your username or e-mail address">
+ <input name="account" class="form-control" placeholder="Type your username or e-mail address" value="{{.Account}}" required="required">
</div>
</div>
<div class="form-group">
<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">
</div>
</div>
<div class="form-group">