From 93919407f0e7e7a638d9e3c36640bd2f78d77367 Mon Sep 17 00:00:00 2001 From: Byron Jones Date: Wed, 6 Jan 2016 23:13:27 +0800 Subject: Bug 1237188 - add support for servicenow to the 'see also' field --- Bugzilla/BugUrl.pm | 3 ++- Bugzilla/BugUrl/ServiceNow.pm | 24 ++++++++++++++++++++++ .../template/en/default/bug_modal/field.html.tmpl | 4 +++- template/en/default/global/user-error.html.tmpl | 5 +++-- 4 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 Bugzilla/BugUrl/ServiceNow.pm diff --git a/Bugzilla/BugUrl.pm b/Bugzilla/BugUrl.pm index 74a69e6f9..2475390f2 100644 --- a/Bugzilla/BugUrl.pm +++ b/Bugzilla/BugUrl.pm @@ -60,7 +60,6 @@ use constant VALIDATORS => { # pick the first one that should handle the url. New # subclasses should be added at the end of the list. use constant SUB_CLASSES => qw( - Bugzilla::BugUrl::Aha Bugzilla::BugUrl::Bugzilla::Local Bugzilla::BugUrl::Bugzilla Bugzilla::BugUrl::Launchpad @@ -72,7 +71,9 @@ use constant SUB_CLASSES => qw( Bugzilla::BugUrl::SourceForge Bugzilla::BugUrl::GitHub Bugzilla::BugUrl::MozSupport + Bugzilla::BugUrl::Aha Bugzilla::BugUrl::WebCompat + Bugzilla::BugUrl::ServiceNow ); ############################### diff --git a/Bugzilla/BugUrl/ServiceNow.pm b/Bugzilla/BugUrl/ServiceNow.pm new file mode 100644 index 000000000..b73f56a00 --- /dev/null +++ b/Bugzilla/BugUrl/ServiceNow.pm @@ -0,0 +1,24 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This Source Code Form is "Incompatible With Secondary Licenses", as +# defined by the Mozilla Public License, v. 2.0. + +package Bugzilla::BugUrl::ServiceNow; +use strict; +use base qw(Bugzilla::BugUrl); + +sub should_handle { + my ($class, $uri) = @_; + return $uri =~ m#^https?://[^.]+\.service-now\.com/nav_to\.do\?#; +} + +sub _check_value { + my ($class, $uri) = @_; + $uri = $class->SUPER::_check_value($uri); + $uri->scheme('https'); + return $uri; +} + +1; diff --git a/extensions/BugModal/template/en/default/bug_modal/field.html.tmpl b/extensions/BugModal/template/en/default/bug_modal/field.html.tmpl index b31052d36..0fe143919 100644 --- a/extensions/BugModal/template/en/default/bug_modal/field.html.tmpl +++ b/extensions/BugModal/template/en/default/bug_modal/field.html.tmpl @@ -308,7 +308,9 @@ END; [% IF url.isa('Bugzilla::BugUrl::Bugzilla::Local') %] [% url.target_bug_id FILTER bug_link(url.target_bug_id, use_alias => 1) FILTER none %] [% ELSE %] - [% url.name FILTER html %] + [% url.name FILTER truncate(40) FILTER html %] [% END %] [% IF edit %]