summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Template.pm
diff options
context:
space:
mode:
authorGervase Markham <gerv@mozilla.org>2014-12-18 17:08:19 +0100
committerGervase Markham <gerv@gerv.net>2014-12-18 17:08:19 +0100
commit323acaaecd742e195c718e696e3206c516ccda32 (patch)
treed2d2c2ee8b71c9d776fef5c83551be3af44c6870 /Bugzilla/Template.pm
parent1365815665b01b62e5085130eb3a690abf2aff24 (diff)
downloadbugzilla-323acaaecd742e195c718e696e3206c516ccda32.tar.gz
bugzilla-323acaaecd742e195c718e696e3206c516ccda32.tar.xz
Bug 399068: Remove the docs_urlbase parameter. r=LpSolit, a=dkl.
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 2b068dc2c..066f9dc30 100644
--- a/Bugzilla/Template.pm
+++ b/Bugzilla/Template.pm
@@ -1028,10 +1028,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;
},