Commit 3d6d0e1e authored by Marin Jankovski's avatar Marin Jankovski

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

Fix namespace in merge request url building

Changes in 42387b73 now require namespace specification and broke abc69c89.

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

See merge request !363
parents 66fa4b09 2088cee9
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
......@@ -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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment