From 78a4e7124507ad32ce43cd10b723224194b8e94d Mon Sep 17 00:00:00 2001 From: Matthias Pioch Date: Sat, 24 Oct 2015 22:03:08 +0200 Subject: [PATCH] workaround for reverse proxy, ssh, submodule --- modules/base/template.go | 3 +++ modules/git/submodule.go | 10 ++++++++-- templates/repo/view_list.tmpl | 4 ++-- 3 files changed, 13 insertions(+), 4 deletions(-) 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}}