Fix sidebar with non default title #27

This commit is contained in:
Alexander Meindl 2018-07-31 16:09:40 +02:00
parent cdf4d57a7b
commit 0354b34ed4
5 changed files with 51 additions and 78 deletions

View File

@ -0,0 +1,47 @@
module AdditionalsWikiPdfHelper
include Redmine::Export::PDF
def wiki_page_to_pdf(page, project)
pdf = ITCPDF.new(current_language)
pdf.set_title("#{project} - #{page.title}")
pdf.alias_nb_pages
pdf.footer_date = format_date(User.current.today)
pdf.add_page
if Additionals.settings[:wiki_pdf_header].present?
pdf.SetFontStyle('', 9)
pdf.RDMwriteFormattedCell(100,
5,
'',
'',
textilizable(Additionals.settings[:wiki_pdf_header],
only_path: false,
edit_section_links: false,
headings: false,
inline_attachments: false))
end
unless Additionals.setting?(:wiki_pdf_remove_title)
pdf.SetFontStyle('B', 11)
pdf.RDMMultiCell(190, 5,
"#{project} - #{page.title} - # #{page.content.version}")
end
pdf.ln
# Set resize image scale
pdf.set_image_scale(1.6)
pdf.SetFontStyle('', 9)
if Additionals.setting?(:wiki_pdf_remove_attachments)
pdf.RDMwriteFormattedCell(190,
5,
'',
'',
textilizable(page.content,
:text,
only_path: false,
edit_section_links: false,
headings: false,
inline_attachments: false), page.attachments)
else
write_wiki_page(pdf, page)
end
pdf.output
end
end

View File

@ -12,7 +12,6 @@ module Additionals
redmine_base_deface])
patch(%w[AccountController
Issue
IssuesController
IssuePriority
TimeEntry
Wiki
@ -34,7 +33,8 @@ module Additionals
end
# Static class patches
Redmine::Export::PDF::WikiPdfHelper.send(:include, Additionals::Patches::WikiPdfHelperPatch)
IssuesController.send(:helper, AdditionalsIssuesHelper)
WikiController.send(:helper, AdditionalsWikiPdfHelper)
Redmine::AccessControl.send(:include, Additionals::Patches::AccessControlPatch)
# Global helpers

View File

@ -1,13 +0,0 @@
require_dependency 'issues_controller'
module Additionals
module Patches
module IssuesControllerPatch
def self.included(base)
base.class_eval do
helper :additionals_issues
end
end
end
end
end

View File

@ -20,8 +20,8 @@ module Additionals
if @sidebar && @sidebar.content
sidebar_without_additionals
else
wiki_sidebar = '' + Additionals.settings[:global_wiki_sidebar].to_s
@sidebar ||= find_page('Wiki', with_redirect: false)
wiki_sidebar = Additionals.settings[:global_wiki_sidebar].to_s
@sidebar ||= find_page(project.wiki.start_page, with_redirect: false)
@sidebar.content.text = wiki_sidebar if wiki_sidebar != '' && @sidebar.try(:content)
end
end

View File

@ -1,61 +0,0 @@
module Additionals
module Patches
module WikiPdfHelperPatch
def self.included(base)
base.send(:include, InstanceMethods)
base.class_eval do
alias_method :wiki_page_to_pdf_without_additionals, :wiki_page_to_pdf
alias_method :wiki_page_to_pdf, :wiki_page_to_pdf_with_additionals
end
end
module InstanceMethods
include Redmine::Export::PDF
def wiki_page_to_pdf_with_additionals(page, project)
pdf = ITCPDF.new(current_language)
pdf.set_title("#{project} - #{page.title}")
pdf.alias_nb_pages
pdf.footer_date = format_date(User.current.today)
pdf.add_page
if Additionals.settings[:wiki_pdf_header].present?
pdf.SetFontStyle('', 9)
pdf.RDMwriteFormattedCell(100,
5,
'',
'',
textilizable(Additionals.settings[:wiki_pdf_header],
only_path: false,
edit_section_links: false,
headings: false,
inline_attachments: false))
end
unless Additionals.setting?(:wiki_pdf_remove_title)
pdf.SetFontStyle('B', 11)
pdf.RDMMultiCell(190, 5,
"#{project} - #{page.title} - # #{page.content.version}")
end
pdf.ln
# Set resize image scale
pdf.set_image_scale(1.6)
pdf.SetFontStyle('', 9)
if Additionals.setting?(:wiki_pdf_remove_attachments)
pdf.RDMwriteFormattedCell(190,
5,
'',
'',
textilizable(page.content,
:text,
only_path: false,
edit_section_links: false,
headings: false,
inline_attachments: false), page.attachments)
else
write_wiki_page(pdf, page)
end
pdf.output
end
end
end
end
end