Merge branch 'url-builder-fix-for-relative-urls' into 'master'

Fix URL construction for merge requests, issues, notes, and commits for relative URL config

This MR fixes the constructor of URL links for systems using relative URLs in the application config. The `host` parameter was used improperly, supplying an extra path (e.g. https://mydomain.com/gitlab) and unnecessary scheme. We should be able to default to the URL options set in `8_default_url_options.rb` file.

Closes https://github.com/gitlabhq/gitlabhq/issues/9605

See merge request !1250
This commit is contained in:
Dmitriy Zaporozhets 2015-09-07 09:57:05 +00:00
commit 14805d6f5c
2 changed files with 3 additions and 6 deletions

View File

@ -1,6 +1,7 @@
Please view this file on the master branch, on stable branches it's out of date.
v 8.0.0 (unreleased)
- Fix URL construction for merge requests, issues, notes, and commits for relative URL config (Stan Hu)
- Omit filename in Content-Disposition header in raw file download to avoid RFC 6266 encoding issues (Stan HU)
- Fix broken Wiki Page History (Stan Hu)
- Prevent anchors from being hidden by header (Stan Hu)

View File

@ -23,12 +23,12 @@ module Gitlab
def build_issue_url(id)
issue = Issue.find(id)
issue_url(issue, host: Gitlab.config.gitlab['url'])
issue_url(issue)
end
def build_merge_request_url(id)
merge_request = MergeRequest.find(id)
merge_request_url(merge_request, host: Gitlab.config.gitlab['url'])
merge_request_url(merge_request)
end
def build_note_url(id)
@ -37,22 +37,18 @@ module Gitlab
namespace_project_commit_url(namespace_id: note.project.namespace,
id: note.commit_id,
project_id: note.project,
host: Gitlab.config.gitlab['url'],
anchor: "note_#{note.id}")
elsif note.for_issue?
issue = Issue.find(note.noteable_id)
issue_url(issue,
host: Gitlab.config.gitlab['url'],
anchor: "note_#{note.id}")
elsif note.for_merge_request?
merge_request = MergeRequest.find(note.noteable_id)
merge_request_url(merge_request,
host: Gitlab.config.gitlab['url'],
anchor: "note_#{note.id}")
elsif note.for_project_snippet?
snippet = Snippet.find(note.noteable_id)
project_snippet_url(snippet,
host: Gitlab.config.gitlab['url'],
anchor: "note_#{note.id}")
end
end