aboutsummaryrefslogtreecommitdiffstats
path: root/Bugzilla/Template.pm
diff options
context:
space:
mode:
authorGervase Markham <gerv@mozilla.org>2014-12-22 10:11:12 +0000
committerGervase Markham <gerv@gerv.net>2014-12-22 10:11:12 +0000
commit1d1bb369d6608e4e276767289dc2c1651afe0d58 (patch)
tree13f00ced5664c63c44ef853ba5376e0d70eafebe /Bugzilla/Template.pm
parent5d0b206ac01fac427f25767d11cd81dc170f6387 (diff)
downloadbugs-1d1bb369d6608e4e276767289dc2c1651afe0d58.tar
bugs-1d1bb369d6608e4e276767289dc2c1651afe0d58.tar.gz
bugs-1d1bb369d6608e4e276767289dc2c1651afe0d58.tar.bz2
bugs-1d1bb369d6608e4e276767289dc2c1651afe0d58.tar.xz
bugs-1d1bb369d6608e4e276767289dc2c1651afe0d58.zip
Bug 399068: Remove the docs_urlbase parameter. r=LpSolit, a=glob.
Diffstat (limited to 'Bugzilla/Template.pm')
-rw-r--r--Bugzilla/Template.pm36
1 files changed, 32 insertions, 4 deletions
diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm
index 3703c9188..078a8a0d6 100644
--- a/Bugzilla/Template.pm
+++ b/Bugzilla/Template.pm
@@ -1037,10 +1037,38 @@ sub create {
'urlbase' => sub { return Bugzilla::Util::correct_urlbase(); },
# Allow templates to access docs url with users' preferred language
- 'docs_urlbase' => sub {
- my $language = Bugzilla->current_language;
- my $docs_urlbase = Bugzilla->params->{'docs_urlbase'};
- $docs_urlbase =~ s/\%lang\%/$language/;
+ # We fall back to English if documentation in the preferred
+ # language is not available
+ 'docs_urlbase' => sub {
+ my $docs_urlbase;
+ my $lang = Bugzilla->current_language;
+ # Translations currently available on readthedocs.org
+ my @rtd_translations = ('en', 'fr');
+
+ if ($lang ne 'en' && -f "docs/$lang/html/index.html") {
+ $docs_urlbase = "docs/$lang/html/";
+ }
+ elsif (-f "docs/en/html/index.html") {
+ $docs_urlbase = "docs/en/html/";
+ }
+ else {
+ if (!grep { $_ eq $lang } @rtd_translations) {
+ $lang = "en";
+ }
+
+ my $version = BUGZILLA_VERSION;
+ $version =~ /^(\d+)\.(\d+)/;
+ if ($2 % 2 == 1) {
+ # second number is odd; development version
+ $version = 'latest';
+ }
+ else {
+ $version = "$1.$2";
+ }
+
+ $docs_urlbase = "https://bugzilla.readthedocs.org/$lang/$version/";
+ }
+
return $docs_urlbase;
},