diff options
author | Gervase Markham <gerv@mozilla.org> | 2014-12-18 17:08:19 +0100 |
---|---|---|
committer | Gervase Markham <gerv@gerv.net> | 2014-12-18 17:08:19 +0100 |
commit | 323acaaecd742e195c718e696e3206c516ccda32 (patch) | |
tree | d2d2c2ee8b71c9d776fef5c83551be3af44c6870 /Bugzilla/Template.pm | |
parent | 1365815665b01b62e5085130eb3a690abf2aff24 (diff) | |
download | bugzilla-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.pm | 36 |
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; }, |