From a342d58d7e208ef64d29151970244de7f7b4fac6 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Sun, 19 Oct 2014 01:35:24 -0400 Subject: Able to fork repo to individuals --- modules/base/template.go | 14 ++++++++++++-- modules/middleware/repo.go | 12 +++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) (limited to 'modules') diff --git a/modules/base/template.go b/modules/base/template.go index 6d25cd45a8..58572e24e4 100644 --- a/modules/base/template.go +++ b/modules/base/template.go @@ -110,7 +110,7 @@ var TemplateFuncs template.FuncMap = map[string]interface{}{ "List": List, "Mail2Domain": func(mail string) string { if !strings.Contains(mail, "@") { - return "try.gogits.org" + return "try.gogs.io" } suffix := strings.SplitN(mail, "@", 2)[1] @@ -121,7 +121,17 @@ var TemplateFuncs template.FuncMap = map[string]interface{}{ return domain }, "SubStr": func(str string, start, length int) string { - return str[start : start+length] + if len(str) == 0 { + return "" + } + end := start + length + if length == -1 { + end = len(str) + } + if len(str) < end { + return str + } + return str[start:end] }, "DiffTypeToStr": DiffTypeToStr, "DiffLineTypeToStr": DiffLineTypeToStr, diff --git a/modules/middleware/repo.go b/modules/middleware/repo.go index 78af58eac8..fec9c54161 100644 --- a/modules/middleware/repo.go +++ b/modules/middleware/repo.go @@ -160,7 +160,11 @@ func RepoAssignment(redirect bool, args ...bool) macaron.Handler { return } ctx.Repo.GitRepo = gitRepo - ctx.Repo.RepoLink = setting.AppSubUrl + "/" + u.Name + "/" + repo.Name + ctx.Repo.RepoLink, err = repo.RepoLink() + if err != nil { + ctx.Handle(500, "RepoLink", err) + return + } ctx.Data["RepoLink"] = ctx.Repo.RepoLink tags, err := ctx.Repo.GitRepo.GetTags() @@ -171,6 +175,12 @@ func RepoAssignment(redirect bool, args ...bool) macaron.Handler { ctx.Data["Tags"] = tags ctx.Repo.Repository.NumTags = len(tags) + // Non-fork repository will not return error in this method. + if err = repo.GetForkRepo(); err != nil { + ctx.Handle(500, "GetForkRepo", err) + return + } + ctx.Data["Title"] = u.Name + "/" + repo.Name ctx.Data["Repository"] = repo ctx.Data["Owner"] = ctx.Repo.Repository.Owner -- cgit v1.2.3