diff options
author | 2014-12-22 10:11:12 +0000 | |
---|---|---|
committer | 2014-12-22 10:11:12 +0000 | |
commit | 1d1bb369d6608e4e276767289dc2c1651afe0d58 (patch) | |
tree | 13f00ced5664c63c44ef853ba5376e0d70eafebe /Bugzilla/Template.pm | |
parent | Bug 1108821 - Travis selenium tests are failing pretty consistently for Postg... (diff) | |
download | bugzilla-1d1bb369d6608e4e276767289dc2c1651afe0d58.tar.gz bugzilla-1d1bb369d6608e4e276767289dc2c1651afe0d58.tar.bz2 bugzilla-1d1bb369d6608e4e276767289dc2c1651afe0d58.zip |
Bug 399068: Remove the docs_urlbase parameter. r=LpSolit, a=glob.
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 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; }, |