| @@ -269,7 +269,8 @@ body { | |||
| /* gogits user setting */ | |||
| #gogs-user-setting-nav > h4, #gogs-user-setting-container > h4, #gogs-ssh-keys > h4, #gogs-user-delete > h4 ,#gogs-repo-setting-container .tab-pane > h4{ | |||
| #gogs-user-setting-nav > h4, #gogs-user-setting-container > h4, #gogs-user-setting-container > div > h4, | |||
| #gogs-ssh-keys > h4, #gogs-user-delete > h4, #gogs-repo-setting-container .tab-pane > h4 { | |||
| padding-bottom: 18px; | |||
| margin-bottom: 18px; | |||
| border-bottom: 1px solid #CCC; | |||
| @@ -429,8 +430,7 @@ body { | |||
| margin-bottom: 4px; | |||
| } | |||
| #gogs-repo-toolbar{ | |||
| #gogs-repo-toolbar { | |||
| margin-top: 51px; | |||
| margin-bottom: -50px; | |||
| border-bottom: 1px solid #BBB; | |||
| @@ -438,23 +438,23 @@ body { | |||
| height: 40px; | |||
| } | |||
| #gogs-repo-toolbar .navbar-default{ | |||
| #gogs-repo-toolbar .navbar-default { | |||
| border: none; | |||
| height: 39px; | |||
| } | |||
| #gogs-repo-toolbar .nav > li > a{ | |||
| #gogs-repo-toolbar .nav > li > a { | |||
| height: 39px; | |||
| } | |||
| #gogs-repo-toolbar .navbar-toolbar.navbar-default .navbar-nav>.active>a:after{ | |||
| #gogs-repo-toolbar .navbar-toolbar.navbar-default .navbar-nav > .active > a:after { | |||
| border-bottom-color: #999; | |||
| } | |||
| #gogs-repo-toolbar .navbar.nav-toolbar{ | |||
| #gogs-repo-toolbar .navbar.nav-toolbar { | |||
| margin-bottom: 0; | |||
| } | |||
| #gogs-repo-toolbar .navbar-collapse{ | |||
| #gogs-repo-toolbar .navbar-collapse { | |||
| padding: 0; | |||
| } | |||
| @@ -47,6 +47,14 @@ func Setting(form auth.UpdateProfileForm, r render.Render, data base.TmplData, r | |||
| r.HTML(200, "user/setting", data) | |||
| } | |||
| func SettingEmailPassword(r render.Render, data base.TmplData, session sessions.Session, req *http.Request) { | |||
| data["Title"] = "Email & Password" | |||
| data["PageIsUserSetting"] = true | |||
| data["IsPwdSuccess"] = (req.FormValue("password") == "true") | |||
| r.HTML(200, "user/email_password", data) | |||
| } | |||
| func UpdatePasswd(form auth.UpdatePasswdForm, r render.Render, data base.TmplData, req *http.Request, session sessions.Session) { | |||
| data["Title"] = "Setting" | |||
| data["PageIsUserSetting"] = true | |||
| @@ -5,10 +5,10 @@ | |||
| <h4>Account Setting</h4> | |||
| <ul class="list-group"> | |||
| <li class="list-group-item"><a href="/user/setting">Account Profile</a></li> | |||
| <li class="list-group-item"><a href="#">Emails and Password</a></li> | |||
| <li class="list-group-item"><a href="#">Notifications</a></li> | |||
| <li class="list-group-item"><a href="/user/setting/email_password">Emails and Password</a></li> | |||
| <li class="list-group-item"><a href="/user/setting/notification">Notifications</a></li> | |||
| <li class="list-group-item"><a href="/user/setting/ssh/">SSH Keys</a></li> | |||
| <li class="list-group-item"><a href="#">Security</a></li> | |||
| <li class="list-group-item"><a href="/user/setting/security">Security</a></li> | |||
| <li class="list-group-item list-group-item-success"><a href="/user/delete">Delete Account</a></li> | |||
| </ul> | |||
| </div> | |||
| @@ -0,0 +1,53 @@ | |||
| {{template "base/head" .}} | |||
| {{template "base/navbar" .}} | |||
| <div id="gogs-body" class="container"> | |||
| <div id="gogs-user-setting-nav" class="col-md-3"> | |||
| <h4>Account Setting</h4> | |||
| <ul class="list-group"> | |||
| <li class="list-group-item"><a href="/user/setting">Account Profile</a></li> | |||
| <li class="list-group-item list-group-item-success"><a href="/user/setting/email_password">Emails and Password</a></li> | |||
| <li class="list-group-item"><a href="/user/setting/notification">Notifications</a></li> | |||
| <li class="list-group-item"><a href="/user/setting/ssh/">SSH Keys</a></li> | |||
| <li class="list-group-item"><a href="/user/setting/security">Security</a></li> | |||
| <li class="list-group-item"><a href="/user/delete">Delete Account</a></li> | |||
| </ul> | |||
| </div> | |||
| <div id="gogs-user-setting-container" class="col-md-9"> | |||
| <div id="gogs-setting-email"> | |||
| <h4>Email</h4> | |||
| <p><strong>Your Primary Email</strong> will be used for Account related notifications as well as any web based operations, such as edits and merges made via the web.</p> | |||
| <p>// TODO</p><br/> | |||
| </div> | |||
| <div id="gogs-setting-pwd"> | |||
| <h4>Password</h4> | |||
| <form class="form-horizontal" id="gogs-password-form" method="post" action="/user/setting/update_passwd">{{if .IsPwdSuccess}} | |||
| <p class="alert alert-success">Password is changed successfully. You can sign in via new password.</p>{{end}} | |||
| <div class="form-group"> | |||
| <label class="col-md-2 control-label">Old Password<strong class="text-danger">*</strong></label> | |||
| <div class="col-md-8"> | |||
| <input type="password" name="oldpasswd" class="form-control" placeholder="Type your current password" required="required"> | |||
| </div> | |||
| </div> | |||
| <div class="form-group"> | |||
| <label class="col-md-2 control-label">New Password<strong class="text-danger">*</strong></label> | |||
| <div class="col-md-8"> | |||
| <input type="password" name="newpasswd" class="form-control" placeholder="Type your new password" required="required"> | |||
| </div> | |||
| </div> | |||
| <div class="form-group"> | |||
| <label class="col-md-2 control-label">Re-Type<strong class="text-danger">*</strong></label> | |||
| <div class="col-md-8"> | |||
| <input type="password" name="re-type" class="form-control" placeholder="Re-type your new password" required="required"> | |||
| </div> | |||
| </div> | |||
| <div class="form-group"> | |||
| <div class="col-md-offset-2 col-md-8"> | |||
| <button type="submit" class="btn btn-primary">Change Password</button> | |||
| <a href="/forget-password/">Forget Password ?</a> | |||
| </div> | |||
| </div> | |||
| </form> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| {{template "base/footer" .}} | |||
| @@ -5,10 +5,10 @@ | |||
| <h4>Account Setting</h4> | |||
| <ul class="list-group"> | |||
| <li class="list-group-item"><a href="/user/setting">Account Profile</a></li> | |||
| <li class="list-group-item"><a href="#">Emails and Password</a></li> | |||
| <li class="list-group-item"><a href="#">Notifications</a></li> | |||
| <li class="list-group-item"><a href="/user/setting/email_password">Emails and Password</a></li> | |||
| <li class="list-group-item"><a href="/user/setting/notification">Notifications</a></li> | |||
| <li class="list-group-item list-group-item-success"><a href="/user/setting/ssh/">SSH Keys</a></li> | |||
| <li class="list-group-item"><a href="#">Security</a></li> | |||
| <li class="list-group-item"><a href="/user/setting/security">Security</a></li> | |||
| <li class="list-group-item"><a href="/user/delete">Delete Account</a></li> | |||
| </ul> | |||
| </div> | |||
| @@ -1,26 +0,0 @@ | |||
| {{template "base/head" .}} | |||
| {{template "base/navbar" .}} | |||
| <div class="container" id="gogs-body"> | |||
| <form action="/user/publickey/add" method="post" class="form-horizontal"> | |||
| <div class="form-group"> | |||
| <label class="col-md-4 control-label">Name of this public key: </label> | |||
| <div class="col-md-3"> | |||
| <input name="keyname" class="form-control" placeholder="Type your preferred name" value="{{.KeyName}}"> | |||
| </div> | |||
| </div> | |||
| <div class="form-group"> | |||
| <label class="col-md-4 control-label">Paste your key here: </label> | |||
| <div class="col-md-3"> | |||
| <textarea name="key_content" cols="30" rows="10" class="form-control">{{.KeyContent}}</textarea> | |||
| </div> | |||
| </div> | |||
| <div class="form-group"> | |||
| <div class="col-md-offset-4 col-md-3"> | |||
| <button type="submit" class="btn btn-info">Add public key</button> | |||
| </div> | |||
| </div> | |||
| </form> | |||
| </div> | |||
| {{template "base/footer" .}} | |||
| @@ -1,8 +0,0 @@ | |||
| {{template "base/head" .}} | |||
| {{template "base/navbar" .}} | |||
| <div class="container"> | |||
| <div class="form-group"> | |||
| publickey added | |||
| </div> | |||
| </div> | |||
| {{template "base/footer" .}} | |||
| @@ -1,12 +0,0 @@ | |||
| {{template "base/head" .}} | |||
| {{template "base/navbar" .}} | |||
| <div class="container" id="gogs-body"> | |||
| <div><a href="/user/publickey/add">Add publick key</a></div> | |||
| <ul> | |||
| {{range .Keys}} | |||
| <li>{{.Name}}</li> | |||
| <li>{{.Content}}</li> | |||
| {{end}} | |||
| </ul> | |||
| </div> | |||
| {{template "base/footer" .}} | |||
| @@ -5,10 +5,10 @@ | |||
| <h4>Account Setting</h4> | |||
| <ul class="list-group"> | |||
| <li class="list-group-item list-group-item-success"><a href="/user/setting">Account Profile</a></li> | |||
| <li class="list-group-item"><a href="#">Emails and Password</a></li> | |||
| <li class="list-group-item"><a href="#">Notifications</a></li> | |||
| <li class="list-group-item"><a href="/user/setting/ssh">SSH Keys</a></li> | |||
| <li class="list-group-item"><a href="#">Security</a></li> | |||
| <li class="list-group-item"><a href="/user/setting/email_password">Emails and Password</a></li> | |||
| <li class="list-group-item"><a href="/user/setting/notification">Notifications</a></li> | |||
| <li class="list-group-item"><a href="/user/setting/ssh/">SSH Keys</a></li> | |||
| <li class="list-group-item"><a href="/user/setting/security">Security</a></li> | |||
| <li class="list-group-item"><a href="/user/delete">Delete Account</a></li> | |||
| </ul> | |||
| </div> | |||
| @@ -64,6 +64,7 @@ func runWeb(*cli.Context) { | |||
| m.Get("/user/feeds", binding.Bind(auth.FeedsForm{}), user.Feeds) | |||
| m.Any("/user/setting", auth.SignInRequire(true), binding.BindIgnErr(auth.UpdateProfileForm{}), user.Setting) | |||
| m.Get("/user/setting/email_password",auth.SignInRequire(true),user.SettingEmailPassword) | |||
| m.Post("/user/setting/update_passwd", auth.SignInRequire(true), binding.BindIgnErr(auth.UpdatePasswdForm{}), user.UpdatePasswd) | |||
| m.Any("/user/setting/ssh", auth.SignInRequire(true), binding.BindIgnErr(auth.AddSSHKeyForm{}), user.SettingSSHKeys) | |||