Merge branch 'fix-namespace-merge-request-url' into 'master'

Fix namespace in merge request url building

Changes in 42387b733b now require namespace specification and broke abc69c8905.

There are additional helper functions in c530ca00b0, but this seemed easier not to rely on them.

See merge request !363
This commit is contained in:
Marin Jankovski 2015-03-04 01:08:52 +00:00
commit 3d6d0e1e77
2 changed files with 8 additions and 12 deletions

View file

@ -1,6 +1,7 @@
module Gitlab
class UrlBuilder
include Rails.application.routes.url_helpers
include GitlabRoutingHelper
def initialize(type)
@type = type
@ -9,27 +10,22 @@ module Gitlab
def build(id)
case @type
when :issue
issue_url(id)
build_issue_url(id)
when :merge_request
merge_request_url(id)
build_merge_request_url(id)
end
end
private
def issue_url(id)
def build_issue_url(id)
issue = Issue.find(id)
namespace_project_issue_url(namespace_id: issue.project.namespace,
id: issue.iid,
project_id: issue.project,
host: Gitlab.config.gitlab['url'])
issue_url(issue, host: Gitlab.config.gitlab['url'])
end
def merge_request_url(id)
def build_merge_request_url(id)
merge_request = MergeRequest.find(id)
project_merge_request_url(id: merge_request.id,
project_id: merge_request.project,
host: Gitlab.config.gitlab['url'])
merge_request_url(merge_request, host: Gitlab.config.gitlab['url'])
end
end
end

View file

@ -13,7 +13,7 @@ describe Gitlab::UrlBuilder do
it 'returns the merge request url' do
merge_request = create(:merge_request)
url = Gitlab::UrlBuilder.new(:merge_request).build(merge_request.id)
expect(url).to eq "#{Settings.gitlab['url']}/#{merge_request.project.to_param}/merge_requests/#{merge_request.id}"
expect(url).to eq "#{Settings.gitlab['url']}/#{merge_request.project.path_with_namespace}/merge_requests/#{merge_request.iid}"
end
end
end