summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-03-24 17:20:05 +0100
committerDouwe Maan <douwe@gitlab.com>2015-03-27 10:39:05 +0100
commitc5de2ce742f7f2a472eadcd9a2e0d93992930180 (patch)
treedcb7ac46064672d20d3ff3f70e87545218a52882
parent28592ae46767443dc0f3723bd4f05f360bab8f41 (diff)
downloadgitlab-ce-c5de2ce742f7f2a472eadcd9a2e0d93992930180.tar.gz
Return full URLs from GitLabIssueTrackerService.
-rw-r--r--CHANGELOG1
-rw-r--r--app/models/project_services/gitlab_issue_tracker_service.rb19
-rw-r--r--spec/helpers/gitlab_markdown_helper_spec.rb4
-rw-r--r--spec/models/project_services/gitlab_issue_tracker_service_spec.rb14
4 files changed, 19 insertions, 19 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 06b7413e616..d1470c45bad 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -46,6 +46,7 @@ v 7.10.0 (unreleased)
- Refactor issue filtering
- AJAX selectbox for issue assignee and author filters
- Fix issue with missing options in issue filtering dropdown if selected one
+ - Get issue links in notification mail to work again.
v 7.9.0
- Send EmailsOnPush email when branch or tag is created or deleted.
diff --git a/app/models/project_services/gitlab_issue_tracker_service.rb b/app/models/project_services/gitlab_issue_tracker_service.rb
index 84346350a6c..4ff9f75fcc9 100644
--- a/app/models/project_services/gitlab_issue_tracker_service.rb
+++ b/app/models/project_services/gitlab_issue_tracker_service.rb
@@ -20,8 +20,13 @@
class GitlabIssueTrackerService < IssueTrackerService
include Rails.application.routes.url_helpers
- prop_accessor :title, :description, :project_url, :issues_url, :new_issue_url
+ default_url_options[:host] = Gitlab.config.gitlab.host
+ default_url_options[:protocol] = Gitlab.config.gitlab.protocol
+ default_url_options[:port] = Gitlab.config.gitlab.port unless Gitlab.config.gitlab_on_standard_port?
+ default_url_options[:script_name] = Gitlab.config.gitlab.relative_url_root
+
+ prop_accessor :title, :description, :project_url, :issues_url, :new_issue_url
def default?
true
@@ -32,20 +37,14 @@ class GitlabIssueTrackerService < IssueTrackerService
end
def project_url
- "#{gitlab_url}#{namespace_project_issues_path(project.namespace, project)}"
+ namespace_project_issues_url(project.namespace, project)
end
def new_issue_url
- "#{gitlab_url}#{new_namespace_project_issue_path(namespace_id: project.namespace, project_id: project)}"
+ new_namespace_project_issue_url(namespace_id: project.namespace, project_id: project)
end
def issue_url(iid)
- "#{gitlab_url}#{namespace_project_issue_path(namespace_id: project.namespace, project_id: project, id: iid)}"
- end
-
- private
-
- def gitlab_url
- Gitlab.config.gitlab.relative_url_root.chomp("/") if Gitlab.config.gitlab.relative_url_root
+ namespace_project_issue_url(namespace_id: project.namespace, project_id: project, id: iid)
end
end
diff --git a/spec/helpers/gitlab_markdown_helper_spec.rb b/spec/helpers/gitlab_markdown_helper_spec.rb
index c631acc591d..f415f126eea 100644
--- a/spec/helpers/gitlab_markdown_helper_spec.rb
+++ b/spec/helpers/gitlab_markdown_helper_spec.rb
@@ -522,7 +522,7 @@ describe GitlabMarkdownHelper do
# First issue link
expect(groups[1]).
- to match(/href="#{namespace_project_issue_path(project.namespace, project, issues[0])}"/)
+ to match(/href="#{namespace_project_issue_url(project.namespace, project, issues[0])}"/)
expect(groups[1]).to match(/##{issues[0].iid}$/)
# Internal commit link
@@ -531,7 +531,7 @@ describe GitlabMarkdownHelper do
# Second issue link
expect(groups[3]).
- to match(/href="#{namespace_project_issue_path(project.namespace, project, issues[1])}"/)
+ to match(/href="#{namespace_project_issue_url(project.namespace, project, issues[1])}"/)
expect(groups[3]).to match(/##{issues[1].iid}$/)
# Trailing commit link
diff --git a/spec/models/project_services/gitlab_issue_tracker_service_spec.rb b/spec/models/project_services/gitlab_issue_tracker_service_spec.rb
index 959044dc727..bedb6ecf1b4 100644
--- a/spec/models/project_services/gitlab_issue_tracker_service_spec.rb
+++ b/spec/models/project_services/gitlab_issue_tracker_service_spec.rb
@@ -39,15 +39,15 @@ describe GitlabIssueTrackerService do
end
it 'should give the correct path' do
- expect(@service.project_url).to eq("/#{project.path_with_namespace}/issues")
- expect(@service.new_issue_url).to eq("/#{project.path_with_namespace}/issues/new")
- expect(@service.issue_url(432)).to eq("/#{project.path_with_namespace}/issues/432")
+ expect(@service.project_url).to eq("http://localhost/#{project.path_with_namespace}/issues")
+ expect(@service.new_issue_url).to eq("http://localhost/#{project.path_with_namespace}/issues/new")
+ expect(@service.issue_url(432)).to eq("http://localhost/#{project.path_with_namespace}/issues/432")
end
end
context 'with enabled relative urls' do
before do
- Settings.gitlab.stub(:relative_url_root).and_return("/gitlab/root")
+ GitlabIssueTrackerService.default_url_options[:script_name] = "/gitlab/root"
@service = project.create_gitlab_issue_tracker_service(active: true)
end
@@ -56,9 +56,9 @@ describe GitlabIssueTrackerService do
end
it 'should give the correct path' do
- expect(@service.project_url).to eq("/gitlab/root/#{project.path_with_namespace}/issues")
- expect(@service.new_issue_url).to eq("/gitlab/root/#{project.path_with_namespace}/issues/new")
- expect(@service.issue_url(432)).to eq("/gitlab/root/#{project.path_with_namespace}/issues/432")
+ expect(@service.project_url).to eq("http://localhost/gitlab/root/#{project.path_with_namespace}/issues")
+ expect(@service.new_issue_url).to eq("http://localhost/gitlab/root/#{project.path_with_namespace}/issues/new")
+ expect(@service.issue_url(432)).to eq("http://localhost/gitlab/root/#{project.path_with_namespace}/issues/432")
end
end
end