diff --git a/lib/gitlab/url_builder.rb b/lib/gitlab/url_builder.rb index 7ab3f090a89..ab7c8ad89f3 100644 --- a/lib/gitlab/url_builder.rb +++ b/lib/gitlab/url_builder.rb @@ -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 diff --git a/spec/lib/gitlab/url_builder_spec.rb b/spec/lib/gitlab/url_builder_spec.rb index 518239fab6d..94b2fd5508e 100644 --- a/spec/lib/gitlab/url_builder_spec.rb +++ b/spec/lib/gitlab/url_builder_spec.rb @@ -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