aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorUnknwon <joe2010xtmf@163.com>2014-10-19 01:35:24 -0400
committerUnknwon <joe2010xtmf@163.com>2014-10-19 01:35:24 -0400
commita342d58d7e208ef64d29151970244de7f7b4fac6 (patch)
tree55972233ac1517513d865dc2ba4895b7cdaf95cb /modules
parentd7d167ac63e0ada717f78383016f5b208a1b209a (diff)
downloadgitea-a342d58d7e208ef64d29151970244de7f7b4fac6.tar.gz
gitea-a342d58d7e208ef64d29151970244de7f7b4fac6.zip
Able to fork repo to individuals
Diffstat (limited to 'modules')
-rw-r--r--modules/base/template.go14
-rw-r--r--modules/middleware/repo.go12
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