diff --git a/modules/base/template.go b/modules/base/template.go index f5f567aded..a93d20ad86 100644 --- a/modules/base/template.go +++ b/modules/base/template.go @@ -141,6 +141,9 @@ var TemplateFuncs template.FuncMap = map[string]interface{}{ "AppName": func() string { return setting.AppName }, + "AppUrl": func() string { + return setting.AppUrl + }, "AppSubUrl": func() string { return setting.AppSubUrl }, diff --git a/modules/git/submodule.go b/modules/git/submodule.go index 0c7c2696c3..1291e112b9 100644 --- a/modules/git/submodule.go +++ b/modules/git/submodule.go @@ -30,7 +30,7 @@ func NewSubModuleFile(c *Commit, refUrl, refId string) *SubModuleFile { } // RefUrl guesses and returns reference URL. -func (sf *SubModuleFile) RefUrl() string { +func (sf *SubModuleFile) RefUrl(appUrl string) string { if sf.refUrl == "" { return "" } @@ -51,8 +51,14 @@ func (sf *SubModuleFile) RefUrl() string { i := strings.Index(url, "@") j := strings.LastIndex(url, ":") if i > -1 && j > -1 { - return "http://" + url[i+1:j] + "/" + url[j+1:] + // fix problem with reverse proxy works only with local server + if strings.Contains(appUrl,url[i+1:j]) { + return appUrl + url[j+1:] + } else { + return "http://" + url[i+1:j] + "/" + url[j+1:] + } } + return url } diff --git a/templates/repo/view_list.tmpl b/templates/repo/view_list.tmpl index d3303193f8..bebac1ea43 100644 --- a/templates/repo/view_list.tmpl +++ b/templates/repo/view_list.tmpl @@ -39,8 +39,8 @@ - {{if $commit.RefUrl}} - {{$entry.Name}} @ {{ShortSha $commit.RefId}} + {{if $commit.RefUrl AppUrl}} + {{$entry.Name}} @ {{ShortSha $commit.RefId}} {{else}} {{$entry.Name}} @ {{ShortSha $commit.RefId}} {{end}}