1
0
mirror of https://github.com/meineerde/redmine.git synced 2026-01-31 11:37:14 +00:00

Fix CommonMark Markdown help page to reflect user's language setting (#39755).

Patch by Go MAEDA.


git-svn-id: https://svn.redmine.org/redmine/trunk@22496 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA 2023-12-06 14:26:57 +00:00
parent b150a8e9b2
commit 7a06338a04
2 changed files with 45 additions and 7 deletions

View File

@ -23,13 +23,8 @@ module Redmine
module Helper
def wikitoolbar_for(field_id, preview_url = preview_text_path)
heads_for_wiki_formatter
help_file = "/help/#{current_language.to_s.downcase}/wiki_syntax_common_mark.html"
# fall back to the english help page if there is none for the current
# language
unless File.readable? Rails.public_path.join(help_file)
help_file = "/help/en/wiki_syntax_common_mark.html"
end
url = "#{Redmine::Utils.relative_url_root}#{help_file}"
url = help_path(current_language)
javascript_tag(
"var wikiToolbar = new jsToolBar(document.getElementById('#{field_id}')); " \
"wikiToolbar.setHelpLink('#{escape_javascript url}'); " \
@ -38,6 +33,16 @@ module Redmine
)
end
def help_path(lang)
help_file = "help/#{lang.to_s.downcase}/wiki_syntax_common_mark.html"
# fall back to the english help page if there is none for the current
# language
unless Rails.public_path.join(help_file).readable?
help_file = "help/en/wiki_syntax_common_mark.html"
end
File.join(Redmine::Utils.relative_url_root, help_file)
end
def initial_page_content(page)
"# #{@page.pretty_title}"
end

View File

@ -0,0 +1,33 @@
# frozen_string_literal: true
# Redmine - project management software
# Copyright (C) 2006-2023 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
require_relative '../../../../../test_helper'
class Redmine::WikiFormatting::CommonMark::HelperTest < Redmine::HelperTest
if Object.const_defined?(:CommonMarker)
def test_help_path_should_reflect_language
assert_equal '/help/de/wiki_syntax_common_mark.html', help_path('de')
end
def test_help_path_should_fallback_to_english
assert_equal '/help/en/wiki_syntax_common_mark.html', help_path('xx')
end
end
end