Merge branch 'master' of github.com:gogits/gogs
This commit is contained in:
		
						commit
						f047df6e2b
					
				| 
						 | 
					@ -1,7 +1,9 @@
 | 
				
			||||||
Gogs - Go Git Service [](https://app.wercker.com/project/bykey/ad0bdb0bc450ac6f09bc56b9640a50aa) [](https://gowalker.org/github.com/gogits/gogs)
 | 
					Gogs - Go Git Service [](https://app.wercker.com/project/bykey/ad0bdb0bc450ac6f09bc56b9640a50aa) [](https://gowalker.org/github.com/gogits/gogs)
 | 
				
			||||||
=====================
 | 
					=====================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Gogs(Go Git Service) is a GitHub-like clone in the Go Programming Language, it currently supports Linux and Max OS X, but Windows has **NOT** supported yet due to installation problem with [libgit2](http://libgit2.github.com/) in Windows.
 | 
					Gogs(Go Git Service) is a GitHub-like clone in the Go Programming Language.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Since we choose to use pure Go implmentation of Git manipulation, Gogs certainly supports **ALL platforms**  that Go supports, including Linux, Max OS X, and Windows with **ZERO** dependency.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##### Current version: 0.0.8 Alpha
 | 
					##### Current version: 0.0.8 Alpha
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -41,6 +41,23 @@ func (ctx *Context) Query(name string) string {
 | 
				
			||||||
// 	return ctx.p[name]
 | 
					// 	return ctx.p[name]
 | 
				
			||||||
// }
 | 
					// }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// HasError returns true if error occurs in form validation.
 | 
				
			||||||
 | 
					func (ctx *Context) HasError() bool {
 | 
				
			||||||
 | 
						hasErr, ok := ctx.Data["HasError"]
 | 
				
			||||||
 | 
						if !ok {
 | 
				
			||||||
 | 
							return false
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return hasErr.(bool)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// RenderWithErr used for page has form validation but need to prompt error to users.
 | 
				
			||||||
 | 
					func (ctx *Context) RenderWithErr(msg, tpl string, form auth.Form) {
 | 
				
			||||||
 | 
						ctx.Data["HasError"] = true
 | 
				
			||||||
 | 
						ctx.Data["ErrorMsg"] = msg
 | 
				
			||||||
 | 
						auth.AssignForm(form, ctx.Data)
 | 
				
			||||||
 | 
						ctx.Render.HTML(200, tpl, ctx.Data)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Handle handles and logs error by given status.
 | 
					// Handle handles and logs error by given status.
 | 
				
			||||||
func (ctx *Context) Handle(status int, title string, err error) {
 | 
					func (ctx *Context) Handle(status int, title string, err error) {
 | 
				
			||||||
	ctx.Data["ErrorMsg"] = err
 | 
						ctx.Data["ErrorMsg"] = err
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,7 +20,7 @@ func Create(ctx *middleware.Context, form auth.CreateRepoForm) {
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if hasErr, ok := ctx.Data["HasError"]; ok && hasErr.(bool) {
 | 
						if ctx.HasError() {
 | 
				
			||||||
		ctx.Render.HTML(200, "repo/create", ctx.Data)
 | 
							ctx.Render.HTML(200, "repo/create", ctx.Data)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -30,10 +30,7 @@ func Create(ctx *middleware.Context, form auth.CreateRepoForm) {
 | 
				
			||||||
	user, err := models.GetUserById(form.UserId)
 | 
						user, err := models.GetUserById(form.UserId)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		if err.Error() == models.ErrUserNotExist.Error() {
 | 
							if err.Error() == models.ErrUserNotExist.Error() {
 | 
				
			||||||
			ctx.Data["HasError"] = true
 | 
								ctx.RenderWithErr("User does not exist", "repo/create", &form)
 | 
				
			||||||
			ctx.Data["ErrorMsg"] = "User does not exist"
 | 
					 | 
				
			||||||
			auth.AssignForm(form, ctx.Data)
 | 
					 | 
				
			||||||
			ctx.Render.HTML(200, "repo/create", ctx.Data)
 | 
					 | 
				
			||||||
			return
 | 
								return
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -48,10 +45,7 @@ func Create(ctx *middleware.Context, form auth.CreateRepoForm) {
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if err.Error() == models.ErrRepoAlreadyExist.Error() {
 | 
						if err.Error() == models.ErrRepoAlreadyExist.Error() {
 | 
				
			||||||
		ctx.Data["HasError"] = true
 | 
							ctx.RenderWithErr("Repository name has already been used", "repo/create", &form)
 | 
				
			||||||
		ctx.Data["ErrorMsg"] = "Repository name has already been used"
 | 
					 | 
				
			||||||
		auth.AssignForm(form, ctx.Data)
 | 
					 | 
				
			||||||
		ctx.Render.HTML(200, "repo/create", ctx.Data)
 | 
					 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -52,6 +52,5 @@ func Setting(ctx *middleware.Context) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ctx.Data["Title"] = ctx.Data["Title"].(string) + " - settings"
 | 
						ctx.Data["Title"] = ctx.Data["Title"].(string) + " - settings"
 | 
				
			||||||
	ctx.Data["IsRepoToolbarSetting"] = true
 | 
						ctx.Data["IsRepoToolbarSetting"] = true
 | 
				
			||||||
 | 
					 | 
				
			||||||
	ctx.Render.HTML(200, "repo/setting", ctx.Data)
 | 
						ctx.Render.HTML(200, "repo/setting", ctx.Data)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -128,9 +128,7 @@ func SettingSSHKeys(ctx *middleware.Context, form auth.AddSSHKeyForm) {
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if err := models.AddPublicKey(k); err != nil {
 | 
							if err := models.AddPublicKey(k); err != nil {
 | 
				
			||||||
			ctx.Data["ErrorMsg"] = err
 | 
								ctx.Handle(200, "ssh.AddPublicKey", err)
 | 
				
			||||||
			log.Error("ssh.AddPublicKey: %v", err)
 | 
					 | 
				
			||||||
			ctx.Render.HTML(200, "base/error", ctx.Data)
 | 
					 | 
				
			||||||
			return
 | 
								return
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
			ctx.Data["AddSSHKeySuccess"] = true
 | 
								ctx.Data["AddSSHKeySuccess"] = true
 | 
				
			||||||
| 
						 | 
					@ -140,9 +138,7 @@ func SettingSSHKeys(ctx *middleware.Context, form auth.AddSSHKeyForm) {
 | 
				
			||||||
	// List existed SSH keys.
 | 
						// List existed SSH keys.
 | 
				
			||||||
	keys, err := models.ListPublicKey(ctx.User.Id)
 | 
						keys, err := models.ListPublicKey(ctx.User.Id)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		ctx.Data["ErrorMsg"] = err
 | 
							ctx.Handle(200, "ssh.ListPublicKey", err)
 | 
				
			||||||
		log.Error("ssh.ListPublicKey: %v", err)
 | 
					 | 
				
			||||||
		ctx.Render.HTML(200, "base/error", ctx.Data)
 | 
					 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -82,10 +82,7 @@ func SignIn(ctx *middleware.Context, form auth.LogInForm) {
 | 
				
			||||||
	user, err := models.LoginUserPlain(form.UserName, form.Password)
 | 
						user, err := models.LoginUserPlain(form.UserName, form.Password)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		if err.Error() == models.ErrUserNotExist.Error() {
 | 
							if err.Error() == models.ErrUserNotExist.Error() {
 | 
				
			||||||
			ctx.Data["HasError"] = true
 | 
								ctx.RenderWithErr("Username or password is not correct", "user/signin", &form)
 | 
				
			||||||
			ctx.Data["ErrorMsg"] = "Username or password is not correct"
 | 
					 | 
				
			||||||
			auth.AssignForm(form, ctx.Data)
 | 
					 | 
				
			||||||
			ctx.Render.HTML(200, "user/signin", ctx.Data)
 | 
					 | 
				
			||||||
			return
 | 
								return
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -121,7 +118,7 @@ func SignUp(ctx *middleware.Context, form auth.RegisterForm) {
 | 
				
			||||||
		auth.AssignForm(form, ctx.Data)
 | 
							auth.AssignForm(form, ctx.Data)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if hasErr, ok := ctx.Data["HasError"]; ok && hasErr.(bool) {
 | 
						if ctx.HasError() {
 | 
				
			||||||
		ctx.Render.HTML(200, "user/signup", ctx.Data)
 | 
							ctx.Render.HTML(200, "user/signup", ctx.Data)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -133,18 +130,11 @@ func SignUp(ctx *middleware.Context, form auth.RegisterForm) {
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if err := models.RegisterUser(u); err != nil {
 | 
						if err := models.RegisterUser(u); err != nil {
 | 
				
			||||||
		ctx.Data["HasError"] = true
 | 
					 | 
				
			||||||
		auth.AssignForm(form, ctx.Data)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		switch err.Error() {
 | 
							switch err.Error() {
 | 
				
			||||||
		case models.ErrUserAlreadyExist.Error():
 | 
							case models.ErrUserAlreadyExist.Error():
 | 
				
			||||||
			ctx.Data["Err_Username"] = true
 | 
								ctx.RenderWithErr("Username has been already taken", "user/signup", &form)
 | 
				
			||||||
			ctx.Data["ErrorMsg"] = "Username has been already taken"
 | 
					 | 
				
			||||||
			ctx.Render.HTML(200, "user/signup", ctx.Data)
 | 
					 | 
				
			||||||
		case models.ErrEmailAlreadyUsed.Error():
 | 
							case models.ErrEmailAlreadyUsed.Error():
 | 
				
			||||||
			ctx.Data["Err_Email"] = true
 | 
								ctx.RenderWithErr("E-mail address has been already used", "user/signup", &form)
 | 
				
			||||||
			ctx.Data["ErrorMsg"] = "E-mail address has been already used"
 | 
					 | 
				
			||||||
			ctx.Render.HTML(200, "user/signup", ctx.Data)
 | 
					 | 
				
			||||||
		default:
 | 
							default:
 | 
				
			||||||
			ctx.Handle(200, "user.SignUp", err)
 | 
								ctx.Handle(200, "user.SignUp", err)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,7 +22,7 @@
 | 
				
			||||||
                <span class="clearfix"></span>
 | 
					                <span class="clearfix"></span>
 | 
				
			||||||
            </li>
 | 
					            </li>
 | 
				
			||||||
        {{else}}
 | 
					        {{else}}
 | 
				
			||||||
            <li>Not any activity yet.</li>
 | 
					            <li>No any activity yet.</li>
 | 
				
			||||||
        {{end}}
 | 
					        {{end}}
 | 
				
			||||||
        </ul>
 | 
					        </ul>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -39,7 +39,7 @@
 | 
				
			||||||
                        <span class="clearfix"></span>
 | 
					                        <span class="clearfix"></span>
 | 
				
			||||||
                    </li>
 | 
					                    </li>
 | 
				
			||||||
                {{else}}
 | 
					                {{else}}
 | 
				
			||||||
                    <li>Not any public activity yet.</li>
 | 
					                    <li>No any public activity yet.</li>
 | 
				
			||||||
                {{end}}
 | 
					                {{end}}
 | 
				
			||||||
                </ul>
 | 
					                </ul>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue