diff options
author | Unknwon <joe2010xtmf@163.com> | 2014-10-19 01:35:24 -0400 |
---|---|---|
committer | Unknwon <joe2010xtmf@163.com> | 2014-10-19 01:35:24 -0400 |
commit | a342d58d7e208ef64d29151970244de7f7b4fac6 (patch) | |
tree | 55972233ac1517513d865dc2ba4895b7cdaf95cb /modules | |
parent | d7d167ac63e0ada717f78383016f5b208a1b209a (diff) | |
download | gitea-a342d58d7e208ef64d29151970244de7f7b4fac6.tar.gz gitea-a342d58d7e208ef64d29151970244de7f7b4fac6.zip |
Able to fork repo to individuals
Diffstat (limited to 'modules')
-rw-r--r-- | modules/base/template.go | 14 | ||||
-rw-r--r-- | modules/middleware/repo.go | 12 |
2 files changed, 23 insertions, 3 deletions
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 |