Commit 13cadd90 authored by Sven Franck's avatar Sven Franck

erp5_corporate_identity: add book and report templates

parent 858bcca6
<registered_skin_selection>
<skin_folder_selection>
<skin_folder>erp5_corporate_identity_book</skin_folder>
<skin_selection>Book,Report</skin_selection>
</skin_folder_selection>
<skin_folder_selection>
<skin_folder>erp5_corporate_identity_leaflet</skin_folder>
<skin_selection>Leaflet</skin_selection>
......
"""
================================================================================
Save, download or return generated HTML Document
================================================================================
"""
# parameters:
# ------------------------------------------------------------------------------
# doc_download download this document in HTML format
# doc_save save this web page in HTML format
# doc_version version of the document
# doc_title title of the document
# doc_relative_url relative url to set as follow-up
# doc_language language of the document
# doc_reference reference of the document
# doc_full_reference full reference with version/language
# doc_modification_date date to set as initial date
# doc_html_file text content for document
# doc_aggregate_list not applicable (only used for events)
if doc_save == 1:
web_page_module = getattr(context, 'web_page_module', None)
if web_page_module is not None:
web_page = web_page_module.newContent(
portal_type="Web Page",
version=doc_version,
follow_up=doc_relative_url,
title=doc_title,
language=doc_language,
publication_date=doc_modification_date or None,
reference=doc_reference
)
web_page.edit(
text_content=doc_html_file
)
context.setAggregate(web_page.getRelativeUrl())
message = context.Base_translateString(
'%(portal_type)s created successfully as PDF Document.' % {
'portal_type': web_page.getTranslatedPortalType()
}
)
return web_page.Base_redirect(
keep_items=dict(portal_status_message=message)
)
#XXX else:
# download
elif doc_download == 1:
context.REQUEST.RESPONSE.setHeader("Content-Type", "text/html;")
context.REQUEST.RESPONSE.setHeader("Content-Disposition", 'attachment; filename="' + doc_full_reference + '.html"')
# display in browser
else:
context.REQUEST.RESPONSE.setHeader("Content-Type", "text/html;")
context.REQUEST.RESPONSE.setHeader("Content-Disposition", 'filename="' + doc_full_reference + '.html"')
return doc_html_file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>doc_download=None, doc_aggregate_list=None, doc_title=None, doc_save=None, doc_version=None, doc_relative_url=None, doc_language=None, doc_modification_date=None, doc_reference=None, doc_full_reference=None, doc_html_file=None</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_finishWebPageCreation</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
Parse a string for images and return a list with image information
================================================================================
"""
import re
def setFigureAnchor(my_counter, my_title, my_href):
return ''.join([
'<a href="#',
my_counter,
'"></a><img src="',
my_href,
'" alt="',
my_title,
'" /><span>',
my_counter,
' - ',
my_title,
'</span>'
])
# XXX single quotes?
figure_abbreviation = "FIG"
figure_type = "Figure"
match_href = 'src="(.*?)"'
match_content = 'alt="(.*?)"'
figure_list = []
figure_count = 1
figure_doubles = {}
for figure in re.findall('(<img.*?\/>)', document_content or ''):
figure_dict = {}
figure_count = figure_count + 1
# XXX swallow missing alts
figure_title = re.findall(match_content, figure) or ["XXX"]
figure_href = re.findall(match_href, figure) or [""]
figure_id = figure_abbreviation + "-" + str(figure_count)
figure_dict["input"] = figure
figure_dict["output"] = setFigureAnchor(
figure_id,
figure_title[0],
figure_href[0]
)
if figure_doubles.get(figure_title[0], None) is None:
item_dict = {}
item_dict["id"] = figure_id
item_dict["title"] = figure_title[0]
figure_dict["item"] = item_dict
figure_list.append(figure_dict)
response_dict = {}
response_dict["figure_list"] = figure_list
return response_dict
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>document_content=None</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_createImageOverview</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
Parse a string for links and return a list with link information
================================================================================
"""
import re
def setCitation(my_counter, my_title):
return ''.join([
'<a href="#',
my_counter,
'" title="',
my_title,
'">',
my_counter,
'</a>'
])
# XXX single quotes?
blank = ''
na = 'N/A'
match_citation_type = '<a.*?>(.*)</a>'
match_href = 'href="(.*?)"'
match_content = 'title="(.*?)"'
citation_ad_list = []
citation_ab_list = []
citation_rd_list = []
citation_ab_count = 1
citation_ad_count = 1
citation_rd_count = 1
citation_ab_doubles = {}
citation_ad_doubles = {}
citation_rd_doubles = {}
for citation in re.findall('\[(.*?)\]', document_content or ''):
citation_href = (re.findall(match_href, citation) or [""])[0]
# RD = Referenced Document / AD = Applicable Document
# input: bla linked document [<a href="" title="title;version;number">RD</a>]
# output: bla linked document [<a href="#RD-1">RD-1</a>]
# -------------------------------------------------------------------
# | <a id="RD-1">RD-1</a> | <a href="">title</a> | version | number |
# -------------------------------------------------------------------
# AB = Abbreviation
# input: bla ERP5 [<a href="" title="title;description">ERP5</a>]
# output: bla ERP5 [<a href="#AB-1">#AB-1</a>]
# -------------------------------------------------------------------
# | <a id="AB-1">AB-1</a> | ERP5 | title | description |
# -------------------------------------------------------------------
# XXX swalloing missing titles, not very elaborate
citation_content = (re.findall(match_content, citation) or ["XXX"])[0]
citation_content_list = citation_content.split(";")
citation_info = []
if len(citation_content_list) >= 3:
citation_info = citation_content_list
if len(citation_content_list) == 2:
citation_info = [citation_content_list[0], citation_content_list[1], na]
if len(citation_content_list) == 1:
citation_info = [citation_content_list[0], na, na]
if len(citation_content_list) == 0:
citation_info = [na, na, na]
citation_dict = {}
citation_dict["input"] = citation
citation_type = re.findall(match_citation_type, citation)[0]
if citation_type == "AD":
item_dict = {}
item_dict["type"] = citation_type
item_dict["title"] = citation_info[0]
item_dict["number"] = citation_info[1]
item_dict["version"] = citation_info[2]
item_dict["href"] = citation_href
if citation_ad_doubles.get(citation_href, None) is None:
citation_ad_doubles[citation_href] = citation_ad_count
citation_relevant_count = citation_ad_count
else:
citation_relevant_count = citation_ad_doubles[citation_href]
citation_id = ''.join([citation_type, "-", str(citation_relevant_count)])
item_dict["id"] = citation_id
citation_dict["item"] = item_dict
citation_dict["output"] = setCitation(citation_id, citation_info[0])
citation_ad_list.append(citation_dict)
citation_ad_count = citation_ad_count + 1
elif citation_type == "RD":
item_dict = {}
item_dict["type"] = citation_type
item_dict["title"] = citation_info[0]
item_dict["number"] = citation_info[1]
item_dict["version"] = citation_info[2]
item_dict["href"] = citation_href
if citation_rd_doubles.get(citation_href, None) is None:
citation_rd_doubles[citation_href] = citation_rd_count
citation_relevant_count = citation_rd_count
else:
citation_relevant_count = citation_rd_double[citation_href]
citation_id = ''.join([citation_type, "-", str(citation_relevant_count)])
item_dict["id"] = citation_id
citation_dict["item"] = item_dict
citation_dict["output"] = setCitation(
citation_id,
item_dict.get("title")
)
citation_rd_list.append(citation_dict)
citation_rd_count = citation_rd_count + 1
else:
citation_abbreviation = citation_type
citation_type = "AB"
item_dict = {}
item_dict["type"] = citation_type
item_dict["abbreviation"] = citation_abbreviation
item_dict["title"] = citation_info[0]
item_dict["description"] = citation_info[1]
item_dict["href"] = citation_href
if citation_ab_doubles.get(citation_href, None) is None:
citation_ab_doubles[citation_href] = citation_ab_count
citation_relevant_count = citation_ab_count
else:
citation_relevant_count = citation_ab_doubles[citation_href]
citation_id = ''.join([citation_type, "-", str(citation_relevant_count)])
item_dict["id"] = citation_id
citation_dict["item"] = item_dict
citation_dict["output"] = setCitation(
citation_id,
item_dict.get("title")
)
citation_ab_list.append(citation_dict)
citation_ab_count = citation_ab_count + 1
response_dict = {}
response_dict["reference_list"] = citation_rd_list
response_dict["applicable_list"] = citation_ad_list
response_dict["abbreviation_list"] = citation_ab_list
return response_dict
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>document_content=None</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_createLinkOverview</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
Create HTML table of content (to be used on web pages instead of xsl for pdf)
================================================================================
"""
# parameters
# ------------------------------------------------------------------------------
# doc_content text content of document being rendered
# doc_url absolute url of document
# doc_toc_title translated title for table of content
import re
from Products.PythonScripts.standard import html_quote
blank = ""
header_current = 1
header_initial = None
table_of_content = blank
for header in re.findall("<h[1-6].*?</h[1-6]>", doc_content or blank):
header_level = header[2]
header_initial = header_initial or header_level
header_reference = re.findall(">(.*)<", header)[0]
header_lowercase = header_reference.lower()
header_reference_prefix = header_lowercase.replace(" ", "-")
if header_level == header_current:
table_of_content += '</li>'
# start of a list
if header_level > header_current:
header_current = header_level
table_of_content += '<ol>'
# end of a list
if header_level < header_current:
iterations = (int(header_current) - int(header_level))
table_of_content += '</li></ol>' * iterations
header_current = header_level
# add anchor in content
snippet = ''.join(['>', header_reference])
named_snippet = ''.join([
'>',
'<a name="', html_quote(header_reference_prefix), '"></a>',
header_reference,
'<a class="custom-para" href="', doc_url, '#', header_reference_prefix, '"><span style="font-size:.75em;line-height:1em;padding-left:.5em;">&para;</span></a>'
])
doc_content = doc_content.replace(snippet, named_snippet)
# create table of content entry
table_of_content += ''.join([
'<li><div><a href="#',
html_quote(header_reference_prefix),
'">',
html_quote(header_reference),
'</div></a>']
)
closer = int(header_current) * '</ol>'
insert = ''.join([
'<section class="ci-book-table-of-content">',
'<p class="ci-book-toc-faux-h1" i18n:translate="" i18n:domain="erp5_ui">%s</p>' % (doc_toc_title or "Table of Contents"),
table_of_content,
closer,
'</section>'
])
return doc_content, insert
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>doc_content=None, doc_url=None, doc_toc_title=None</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_createTableOfContent</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
Parse a string for tables and return a list with tables information
================================================================================
"""
import re
def setTableCaption(my_counter, my_title):
return ''.join([
'<a href="#',
my_counter,
'"></a><caption>',
my_counter,
' - ',
my_title,
'</caption>'
])
# XXX single quotes?
caption_abbreviation = "TBL"
caption_type = "Table"
caption_list = []
caption_count = 1
match_doubles = {}
for caption in re.findall('(<caption.*?>.*?</caption>)', document_content or ''):
caption_title = re.findall('<caption.*?>(.*?)</caption>', caption)[0]
if match_doubles.get(caption_title, None) is None:
match_doubles[caption_title] = caption_count
caption_relevant_count = caption_count
else:
caption_relevant_count = match_doubles[caption_title]
caption_id = caption_abbreviation + "-" + str(caption_relevant_count)
caption_dict = {}
caption_dict["input"] = caption
caption_dict["item"] = {}
caption_dict["item"]["id"] = caption_id
caption_dict["item"]["title"] = caption_title
caption_dict["output"] = setTableCaption(
caption_id,
caption_title
)
caption_list.append(caption_dict)
caption_count = caption_count + 1
response_dict = {}
response_dict["table_list"] = caption_list
return response_dict
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>document_content=None</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_createTableOverview</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
Replace plain links (no [reference document links]) with linked document
================================================================================
"""
# parameters:
# ------------------------------------------------------------------------------
# doc_content required, content to retrieve document links
import re
blank = ""
for link in re.findall('([^\[]<a.*?<\/a>[^\]])', doc_content or blank):
link_reference_list = re.findall('href=\"(.*?)\"', link)
if len(link_reference_list) == 0:
link_reference = re.findall("href=\'(.*?)\'", link)
if len(link_reference_list) == 0:
link_reference = None
else:
link_reference = link_reference_list[0]
if link_reference.find("report=") > -1:
link_reference = None
# only internal references can be embedded
if link_reference is not None and link_reference.find("http") == -1:
try:
link_doc = context.restrictedTraverse(link_reference.split("?")[0])
doc_content = doc_content.replace(link, link_doc.asStrippedHTML())
except LookupError:
raise LookupError(link_reference)
doc_content = doc_content.replace("${related_subject_list}", blank)
doc_content = doc_content.replace("${table_of_content", blank)
return doc_content
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>doc_content=None</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_embedLinkedDocumentList</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
Insert reports linked to in a document (including backcompat handling)
================================================================================
"""
# parameters (* default)
# ------------------------------------------------------------------------------
# doc_content webpage containing report urls
import re
document = context
blank = ""
# backcompat
def getReportViaFancyName(my_report_name):
for follow_up in document_required_follow_up_list:
report_name = report.split("insertFollowUp").pop().split("Report")[0]
detail_name = "Detail" in report_name
coverage_name = "Coverage" in report_name
# extra curl: CostEffortReport requires format (base|detailed)
if detail_name:
report_name = report_name.replace("Detail", "")
method_name = ''.join(['Base_render', report_name, 'TextDocumentReportAsHtml'])
method_call = getattr(follow_up, method_name)
if method_call is not None:
# extra curl: Coverage report requires parameter details (1|0)
if coverage_name:
return method_call(comment_visibility=True).encode(encoding='UTF-8')
elif detail_name:
return method_call(format='detailed').encode(encoding='UTF-8')
else:
return method_call().encode(encoding='UTF-8')
if (doc_content.find('${WebPage_')):
document_allowed_portal_type_list = ["Project", "Sale Opportunity", "Sale Order"]
document_required_follow_up_list = [x.getObject() for x in document.portal_catalog(
portal_type=document_allowed_portal_type_list,
follow_up_related_uid=document.getUid(),
limit=1
)]
substitution_list = re.findall(r'\${WebPage_(.*)}', doc_content)
for substitution_report in substitution_list:
placeholder = ''.join(['${WebPage_', substitution_report, '}'])
substitution_content = getReportViaFancyName(substitution_report)
doc_content = doc_content.replace(placeholder, substitution_content)
# new handler
# fetch reports same way as embedding documents = via links, like:
# <a href="project_module/1234?report=bam&param1=foo&param2=bar">report</a>
# retrieve relative_url, try to access, see if report is callable, if so
# call it with the parameters provided
for link in re.findall('([^\[]<a.*?<\/a>[^\]])', doc_content):
link_reference = None
link_reference_list = re.findall('href=\"(.*?)\"', link)
if len(link_reference_list) == 0:
link_reference = re.findall("href=\'(.*?)\'", link)
if len(link_reference_list) == 0:
link_reference = None
if len(link_reference_list) > 0:
link_reference = link_reference_list[0]
if link_reference is not None and link_reference.find("report=") > -1:
# url for report, check if report can be found.
report_name = None
link_split = link_reference.split("?")
if len(link_split) > 1:
link_relative_url = link_split[0]
link_param_list = link_split[1].replace("&amp;", "&").split("&")
link_param_dict = {}
for param in link_param_list:
param_key, param_value = param.split("=")
if param_key == "report":
report_name = param_value
else:
link_param_dict[param_key] = param_value
if report_name is not None:
target_context = document.restrictedTraverse(link_relative_url)
target_caller = getattr(target_context, report_name, None)
if target_caller is not None:
substitution_content = target_caller(**link_param_dict)
doc_content = doc_content.replace(link, substitution_content.encode("utf-8").strip())
return doc_content
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>doc_content=None</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_embedReportDocumentList</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>WebPage_exportAsBook</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Export this web page as a Book in the chosen format.</string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list>
<string>content</string>
</list>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list>
<string>override_document_description</string>
</list>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>format</string>
<string>include_history_table</string>
<string>include_content_table</string>
<string>include_reference_table</string>
<string>include_linked_content</string>
<string>include_report_content</string>
<string>display_svg</string>
<string>document_save</string>
<string>portal_skin</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list>
<string>override_document_title</string>
<string>override_document_short_title</string>
<string>override_document_reference</string>
<string>override_logo_reference</string>
<string>override_source_organisation_title</string>
<string>override_source_person_title</string>
<string>override_document_version</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_viewExportAsBookDialog</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>WebPage_viewExportAsBookDialog</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_dialog</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Export Book</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string>WebPage_updateBookDialog</string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="EditorField" module="Products.ERP5Form.EditorField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>content</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>line_too_long</string> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <string>too_many_lines</string> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>text_editor</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>text_editor</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string>page</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>The content of the document considered as a text string</string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>40</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>text_editor</string> </key>
<value> <string>codemirror</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Content</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>100</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
python: \'<iframe width="100%%" height="500" style="background-color:#FFFFFF;box-sizing:border-box;-wekbit-box-sizing:border-box;" src="%s/WebPage_viewAsWeb?portal_skin=Book&amp;override_document_description=%s&amp;override_document_short_title=%s&amp;override_document_title=%s&amp;override_document_version=%s&amp;override_logo_reference=%s&amp;override_source_organisation_title=%s&amp;override_source_person_title=%s&amp;include_content_table=%s&amp;include_history_table=%s&amp;include_reference_table=%s&amp;include_linked_content=%s&amp;include_report_content=%s&amp;display_svg=%s" name="default_version"></iframe>\' % (context.absolute_url(), context.REQUEST.get("override_document_description", ""), context.REQUEST.get("override_document_short_title", ""), context.REQUEST.get("override_document_title", ""), context.REQUEST.get("override_document_version", ""), context.REQUEST.get("override_logo_reference", ""), context.REQUEST.get("override_source_organisation_title", ""), context.REQUEST.get("override_source_person_title", ""),context.REQUEST.get("include_content_table", True),context.REQUEST.get("include_history_table", ""),context.REQUEST.get("include_reference_table", ""),context.REQUEST.get("include_linked_content", ""),context.REQUEST.get("include_report_content", ""), context.REQUEST.get("display_svg", ""))
]]></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>items</string>
<string>orientation</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>display_svg</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>orientation</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string>png</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_radio_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value>
<list>
<tuple>
<string>svg</string>
<string>svg</string>
</tuple>
<tuple>
<string>png</string>
<string>png</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>orientation</string> </key>
<value> <string>horizontal</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Svg Output Format</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>document_save</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_checkbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Save in Document Module</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>enabled</string>
<string>items</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>format</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string>html</string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_dialog_mode_format</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value>
<list>
<tuple>
<string>html</string>
<string>html</string>
</tuple>
<tuple>
<string>pdf</string>
<string>pdf</string>
</tuple>
</list>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>include_content_table</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_checkbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Include Table Of Content</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>include_history_table</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_checkbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Include History Table</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>include_linked_content</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_checkbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Embed Linked Documents</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>include_reference_table</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_checkbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Include Reference Tables</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>include_report_content</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_checkbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Embed Report Documents</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>override_document_description</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_description</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Document Description</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>override_document_reference</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Document Reference</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>override_document_short_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Short Title</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>override_document_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Title</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>override_document_version</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Version</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>override_logo_reference</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Logo Reference</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>override_source_organisation_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Publishing Organisation</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>override_source_person_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Author Title</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>css_class</string>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>portal_skin</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string>hidden</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string>Book</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_portal_skin</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewDialogFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Portal Skin</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>WebPage_exportAsBook</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Print this web page as a Book in PDF format.</string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list>
<string>content</string>
</list>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list>
<string>override_document_description</string>
</list>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>include_history_table</string>
<string>include_content_table</string>
<string>include_reference_table</string>
<string>include_linked_content</string>
<string>include_report_content</string>
<string>display_svg</string>
<string>document_save</string>
<string>portal_skin</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list>
<string>override_document_title</string>
<string>override_document_short_title</string>
<string>override_document_reference</string>
<string>override_logo_reference</string>
<string>override_source_organisation_title</string>
<string>override_source_person_title</string>
<string>override_document_version</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_viewPrintAsBookDialog</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>WebPage_viewExportAsBookDialog</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_dialog</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Print Book</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string>WebPage_updateBookDialog</string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="EditorField" module="Products.ERP5Form.EditorField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>content</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>line_too_long</string> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <string>too_many_lines</string> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>text_editor</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>text_editor</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string>page</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>The content of the document considered as a text string</string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>40</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>text_editor</string> </key>
<value> <string>codemirror</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Content</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>100</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
python: \'<iframe width="100%%" height="500" style="background-color:#FFFFFF;box-sizing:border-box;-wekbit-box-sizing:border-box;" src="%s/WebPage_viewAsWeb?portal_skin=Book&amp;override_document_description=%s&amp;override_document_short_title=%s&amp;override_document_title=%s&amp;override_document_version=%s&amp;override_logo_reference=%s&amp;override_source_organisation_title=%s&amp;override_source_person_title=%s&amp;include_content_table=%s&amp;include_history_table=%s&amp;include_reference_table=%s&amp;include_linked_content=%s&amp;include_report_content=%s&amp;display_svg=%s" name="default_version"></iframe>\' % (context.absolute_url(), context.REQUEST.get("override_document_description", ""), context.REQUEST.get("override_document_short_title", ""), context.REQUEST.get("override_document_title", ""), context.REQUEST.get("override_document_version", ""), context.REQUEST.get("override_logo_reference", ""), context.REQUEST.get("override_source_organisation_title", ""), context.REQUEST.get("override_source_person_title", ""),context.REQUEST.get("include_content_table", True),context.REQUEST.get("include_history_table", ""),context.REQUEST.get("include_reference_table", ""),context.REQUEST.get("include_linked_content", ""),context.REQUEST.get("include_report_content", ""), context.REQUEST.get("display_svg", ""))
]]></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>items</string>
<string>orientation</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>display_svg</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>orientation</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string>png</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_radio_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>items</string> </key>
<value>
<list>
<tuple>
<string>svg</string>
<string>svg</string>
</tuple>
<tuple>
<string>png</string>
<string>png</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>orientation</string> </key>
<value> <string>horizontal</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Svg Output Format</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>document_save</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_checkbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Save in Document Module</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>include_content_table</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_checkbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Include Table Of Content</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>include_history_table</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_checkbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Include History Table</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>include_linked_content</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_checkbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Embed Linked Documents</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>include_reference_table</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_checkbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Include Reference Tables</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>include_report_content</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_checkbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Embed Report Documents</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>override_document_description</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_description</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Document Description</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>override_document_reference</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Document Reference</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>override_document_short_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Short Title</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>override_document_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Title</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>override_document_version</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Version</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>override_logo_reference</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Logo Reference</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>override_source_organisation_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Publishing Organisation</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>override_source_person_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Override Author Title</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>css_class</string>
<string>default</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>portal_skin</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>css_class</string> </key>
<value> <string>hidden</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string>Book</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_portal_skin</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewDialogFieldLibrary</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Portal Skin</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>business_template_skin_layer_priority</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>float</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>business_template_skin_layer_priority</string> </key>
<value> <float>100.0</float> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_corporate_identity_book</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>document</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
Export WebPage as Report
================================================================================
"""
return context.Base_viewAsReport(
format=format,
document_save=document_save,
document_download=document_download,
document_language=document_language,
document_reference=document_reference,
document_version=document_version,
document_title=document_title,
display_depth=display_depth,
display_detail=display_detail,
display_comment=display_comment,
display_header=display_header,
report_name=report_name,
report_title=report_title,
requirement_relative_url=requirement_relative_url,
batch_mode=batch_mode,
**kw
)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>format=None, batch_mode=None, requirement_relative_url=None, document_save=None, document_download=None, document_language=None, document_reference=None, document_version=None, display_detail=None, display_depth=None, display_comment=None, display_header=None, report_title=None, document_title=None, report_name=None, *args,**kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_exportAsReport</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
Export WebPage as Report
================================================================================
"""
return context.Base_viewAsReport(
format=format,
document_save=document_save,
document_download=document_download,
document_language=document_language,
document_reference=document_reference,
document_version=document_version,
display_depth=display_depth,
display_detail=display_detail,
display_comment=display_comment,
display_header=display_header,
report_name=report_name,
requirement_relative_url=requirement_relative_url,
batch_mode=batch_mode,
**kw
)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>format=\'pdf\', batch_mode=None, requirement_relative_url=None, document_save=None, document_download=None, document_language=None, document_reference=None, document_version=None, display_header=None, display_detail=None, display_comment=None, display_depth=None, report_name=None, *args,**kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_printAsReport</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
Update a book report dialog with parameters manually entered
================================================================================
"""
from Products.ERP5Type.Message import translateString
if dialog_id is not None:
return context.Base_redirect(
dialog_id,
keep_items = dict(
portal_status_message=translateString('Preview updated.'),
cancel_url=cancel_url,
portal_skin=portal_skin,
format=format,
document_save=document_save,
document_download=document_download,
document_language=document_language,
document_reference=document_reference,
document_version=document_version,
document_title=document_title,
display_depth=display_depth,
display_detail=display_detail,
display_comment=display_comment,
display_header=display_header,
report_name=report_name,
report_title=report_title,
requirement_relative_url=requirement_relative_url,
**kw
)
)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>dialog_id=None, cancel_url=None, requirement_relative_url=None, report_name=None, report_title=None, portal_skin=None, format=None, display_comment=None, document_title=None, document_save=None, document_download=None, document_language=None, document_version=None, document_reference=None,display_detail=None, display_depth=None, display_header=None ,*args,**kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_updateReportDialog</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
MAIN FILE: generate report (book header/footer and report content)
================================================================================
"""
# kw-parameters (* default)
# ------------------------------------------------------------------------------
# format: output in html*, pdf
# ------
# document_version: use as document version
# document_language: use as document version
# document_reference: use as document reference
# document_title use as document title
# override_batch_mode used for tests
# ------
# document_download: download file directly (default None)
# document_save: save file in document module (default None)
# ------
# display_header start headers at what level
# display_comment include comments where applicable
# display_detail include details where applicable
# display_depth level of depth to display
# --------
# report_name report to generate
# report_title report title
# requirement_relative_url XXX sale order has no direct relation to requirement
import re
from Products.PythonScripts.standard import html_quote
from base64 import b64encode
from datetime import datetime
blank = ''
# -------------------------- External parameters ------------------------------
# eg "Nexedi" specific parameters
customHandler = getattr(context, "WebPage_getCustomParameter", None)
# parameters common to all templates
commonHandler = getattr(context, "WebPage_getCommonParameter", None)
commonProxyHandler = getattr(context, "WebPage_getCommonProxyParameter", None)
def getCustomParameter(my_parameter, my_override_data):
if customHandler is not None:
source_data = my_override_data or doc_uid
return customHandler(parameter=my_parameter, source_data=source_data)
def getCommonParameter(my_parameter, my_override_data):
if commonHandler is not None:
source_data = my_override_data or doc_uid
return commonHandler(parameter=my_parameter, source_data=source_data)
def getCommonProxyParameter(my_parameter, my_override_data):
if commonProxyHandler is not None:
source_data = my_override_data or doc_uid
return commonProxyHandler(parameter=my_parameter, source_data=source_data)
# ------------------ HTML cleanup/converter methods ----------------------------
def translateText(snip):
return doc_localiser.erp5_ui.gettext(snip, lang=doc_language).encode('utf-8').strip()
def setOverrideParam(my_context, my_override, my_param):
if my_override is not None and my_override is not blank:
return html_quote(my_override)
try:
return getattr(my_context, my_param) or None
except:
return blank
# XXX how to set checkbox correctly?
def setToNone(param):
if param == blank or param == None or param == 0 or param == str(0):
return None
else:
return param
# -------------------------- Setup ---------------------------------------------
doc_download = None #XXX not yet implemented
doc_save = setToNone(kw.get('document_save', None))
doc_display_header = setToNone(kw.get('display_header', None))
doc_display_comment = setToNone(kw.get('display_comment', None))
doc_display_detail = setToNone(kw.get('display_detail', None))
doc_display_depth = setToNone(kw.get('display_depth', None))
override_document_title = kw.get('document_title', None)
override_document_version = kw.get('document_version', None)
override_document_reference = kw.get('document_reference', None)
override_document_language = kw.get('document_language', None)
override_batch_mode = kw.get('batch_mode', False)
doc_report_name = kw.get('report_name', None)
doc_report_title = kw.get('report_title', None)
doc_requirement_relative_url = kw.get('requirement_relative_url', None)
doc_format = setToNone(kw.get('format', None)) or 'html'
# -------------------------- Document Parameters ------------------------------
doc = context
doc_localiser = doc.getPortalObject().Localizer
doc_language = setToNone(setOverrideParam(doc, override_document_language, "language")) or "en"
doc_uid = doc.getUid()
doc_relative_url = doc.getRelativeUrl()
doc_rendering_fix = getCommonParameter('wkhtmltopdf_rendering_fix', None) or blank
doc_title = setToNone(setOverrideParam(doc, override_document_title, "title")) or blank
doc_short_title = setToNone(setOverrideParam(doc, doc_report_title, "short_title")) or blank
doc_version = setToNone(setOverrideParam(doc, override_document_version, "version")) or "001"
doc_report = getattr(doc, doc_report_name)
doc_content = doc_report(
display_report=True,
display_depth=doc_display_depth,
display_detail=doc_display_detail,
display_header=doc_display_header or 1,
display_comment=doc_display_comment,
requirement_url=doc_requirement_relative_url,
report_title=translateText(doc_report_title)
)
doc_aggregate_list = []
doc_absolute_url = doc.getAbsoluteUrl()
doc_reference = setToNone(setOverrideParam(doc, override_document_reference, "reference")) or blank
doc_revision = "1"
doc_modification_date = DateTime()
doc_short_date = doc_modification_date.strftime('%Y-%m-%d')
if doc_language and doc_format == "pdf":
doc.REQUEST['AcceptLanguage'].set(doc_language, 10)
if doc_reference is blank:
doc_reference = "Report." + doc_title.replace(" ", ".")
doc_full_reference = '-'.join([doc_reference, doc_version, doc_language])
# --------------------------- Layout Parameters --------------------------------
doc_theme = doc.Base_getThemeDict(
custom_theme=getCustomParameter("theme", None),
override_batch_mode=override_batch_mode,
format=doc_format,
url=doc_absolute_url,
css_path="/book_css/book"
)
# --------------------------- Source/Destination -------------------------------
doc_source = doc.Base_getSourceDict(
override_source_person_title=None,
override_source_organisation_title=None,
default_company_title=getCustomParameter("default_company_title", None),
default_bank_account_uid=getCustomParameter("default_bank_account_uid", None),
theme_logo_url=doc_theme.get("theme_logo_url", None)
)
# --------------------------- Content Upgrades ---------------------------------
# ============================= Format: html ===================================
if doc_format == "html":
html_file = doc.WebPage_createBook(
book_raw_tables=None,
book_raw_report=True,
book_theme=doc_theme.get("theme"),
book_title=doc_title,
book_language=doc_language,
book_theme_css_font_list=doc_theme.get("theme_css_font_list"),
book_theme_css_url=doc_theme.get("theme_css_url"),
book_template_css_url=doc_theme.get("template_css_url"),
book_logo_url=doc_source.get("enhanced_logo_url"),
book_logo_title=doc_source.get("theme_logo_description"),
book_short_title=doc_short_title,
book_reference=doc_reference,
book_revision=doc_revision,
book_version=doc_version,
book_short_date=doc_short_date,
book_full_reference=doc_full_reference,
book_source_organisation_title=doc_source.get("organisation_title") or blank,
book_content=doc_content,
)
return doc.Base_finishWebPageCreation(
doc_download=doc_download,
doc_save=doc_save,
doc_version=override_document_version or doc_version or "001",
doc_title=doc_title,
doc_relative_url=doc_relative_url,
doc_aggregate_list=doc_aggregate_list,
doc_language=doc_language,
doc_modification_date=doc_modification_date,
doc_reference=doc_reference,
doc_full_reference=doc_full_reference,
doc_html_file=html_file
)
# ============================= Format: pdf ====================================
if doc_format == "pdf":
doc_content = doc.WebPage_createBookContent(
book_format=doc_format,
book_rendering_fix=doc_rendering_fix,
book_theme=doc_theme.get("theme"),
book_title=doc_title,
book_language=doc_language,
book_theme_css_font_list=doc_theme.get("theme_css_font_list"),
book_theme_css_url=doc_theme.get("theme_css_url"),
book_template_css_url=doc_theme.get("template_css_url"),
book_content=doc_content,
)
doc_head = doc.WebPage_createBookHeader(
book_theme=doc_theme.get("theme"),
book_title=doc_title,
book_language=doc_language,
book_theme_css_font_list=doc_theme.get("theme_css_font_list"),
book_theme_css_url=doc_theme.get("theme_css_url"),
book_template_css_url=doc_theme.get("template_css_url"),
book_logo_url=doc_source.get("enhanced_logo_url"),
book_logo_title=doc_source.get("theme_logo_description"),
book_short_title=doc_short_title,
book_reference=doc_reference,
book_revision=doc_revision,
book_version=doc_version,
book_short_date=doc_short_date,
)
doc_foot = doc.WebPage_createBookFooter(
book_theme=doc_theme.get("theme"),
book_title=doc_title,
book_language=doc_language,
book_theme_css_font_list=doc_theme.get("theme_css_font_list"),
book_theme_css_url=doc_theme.get("theme_css_url"),
book_theme_logo_url=doc_source.get("enhanced_logo_url"),
book_theme_logo_alt=doc_theme.get("theme_logo_description"),
book_template_css_url=doc_theme.get("template_css_url"),
book_full_reference=doc_full_reference,
book_source_organisation_title=doc_source.get("organisation_title") or blank,
)
# ================ encode and build cloudoo elements =========================
header_embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_head, allow_script=True)
before_toc_data_list = []
xsl_style_sheet_data = blank
embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_content, allow_script=True)
footer_embedded_html_data = doc.Base_convertHtmlToSingleFile(doc_foot, allow_script=True)
pdf_file = context.Base_cloudoooDocumentConvert(embedded_html_data, "html", "pdf", conversion_kw=dict(
encoding="utf8",
margin_top=40,
margin_bottom=20,
toc=False,
before_toc_data_list=before_toc_data_list,
xsl_style_sheet_data=b64encode(xsl_style_sheet_data),
header_html_data=b64encode(header_embedded_html_data),
header_spacing=10,
footer_html_data=b64encode(footer_embedded_html_data),
footer_spacing=3,
)
)
return doc.WebPage_finishPdfCreation(
doc_download=doc_download,
doc_save=doc_save,
doc_version=override_document_version or doc_version or "001",
doc_title=doc_title,
doc_relative_url=doc_relative_url,
doc_aggregate_list=doc_aggregate_list,
doc_language=doc_language,
doc_modification_date=doc_modification_date,
doc_reference=doc_reference,
doc_full_reference=doc_full_reference,
doc_pdf_file=pdf_file
)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>*args,**kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Base_viewAsReport</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_createBook</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<tal:comment replace="nothing">
"""
================================================================================
Generates the complete book (only called in HTML version)
================================================================================
"""
</tal:comment>
<tal:block tal:define="book_raw_tables python: options.get('book_raw_tables');
book_raw_report python: options.get('book_raw_report');
book_theme python: options.get('book_theme');
book_title python: options.get('book_title');
book_language python: options.get('book_language');
book_theme_css_font_list python: options.get('book_theme_css_font_list');
book_theme_css_url python: options.get('book_theme_css_url');
book_template_css_url python: options.get('book_template_css_url');
book_short_title python: options.get('book_short_title');
book_description python: options.get('book_description');
book_source_person_title python: options.get('book_source_person_title');
book_include_history python: options.get('book_include_history');
book_signature_list python: options.get('book_signature_list');
book_version_list python: options.get('book_version_list');
book_distribution_list python: options.get('book_distribution_list');
book_content python: options.get('book_content');
book_format python: options.get('book_format');
book_rendering_fix python: options.get('book_rendering_fix');
book_logo_url python: options.get('book_logo_url');
book_logo_title python: options.get('book_logo_title');
book_reference python: options.get('book_reference');
book_revision python: options.get('book_revision');
book_version python: options.get('book_version');
book_short_date python: options.get('book_short_date');
book_full_reference python: options.get('book_full_reference');
book_source_organisation_title python: options.get('book_source_organisation_title');
book_table_of_content python: options.get('book_table_of_content');">
<!DOCTYPE html>
<html tal:attributes="class python: ''.join(['ci-', book_theme, ' ci-', book_language])">
<head>
<meta charset="utf-8">
<title tal:content="python: book_title"></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<tal:block tal:repeat="font_url book_theme_css_font_list">
<link rel="stylesheet" tal:attributes="href font_url" />
</tal:block>
<link rel="stylesheet" tal:attributes="href book_theme_css_url" />
<link rel="stylesheet" tal:attributes="href python: ''.join([book_template_css_url, '?portal_skin=Book'])" />
<script type="text/javascript">
function setPlaceholdersWithUrlParameters() {
var vars={};
var x=window.location.search.substring(1).split('&');
for (var i in x) {var z=x[i].split('=',2);vars[z[0]] = unescape(z[1]);}
var x=['frompage','topage','page','webpage','section','subsection','subsubsection'];
for (var i in x) {
var y = document.getElementsByClassName(x[i]);
for (var j=0; j<y.length; ++j) y[j].textContent = vars[x[i]];
}
}
</script>
</head>
<body class="ci-book" onload="setPlaceholdersWithUrlParameters()">
<tal:block metal:use-macro="context/WebPage_createBookHeader/macros/book_header" />
<tal:block tal:condition="python: book_raw_report is not True">
<tal:block metal:use-macro="context/WebPage_createBookCover/macros/book_cover" />
</tal:block>
<tal:block tal:condition="python: book_include_history is not None">
<tal:block metal:use-macro="context/WebPage_createBookTableOfHistory/macros/book_history" />
</tal:block>
<tal:block tal:replace="structure book_table_of_content"></tal:block>
<!--tal:block tal:condition="python: book_include_reference is not None">
<tal:block metal:use-macro="context/WebPage_createBookTableOfReferences/macros/book_references" />
</tal:block-->
<tal:block metal:use-macro="context/WebPage_createBookContent/macros/book_content" />
<tal:block metal:use-macro="context/WebPage_createBookFooter/macros/book_footer" />
</body>
</html>
</tal:block>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_createBookContent</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<tal:comment replace="nothing">
"""
================================================================================
Creates the Book content.
================================================================================
"""
</tal:comment>
<tal:block tal:define="book_theme python: options.get('book_theme');
book_title python: options.get('book_title');
book_language python: options.get('book_language');
book_theme_css_font_list python: options.get('book_theme_css_font_list');
book_theme_css_url python: options.get('book_theme_css_url');
book_template_css_url python: options.get('book_template_css_url');
book_short_title python: options.get('book_short_title');
book_description python: options.get('book_description');
book_source_person_title python: options.get('book_source_person_title');
book_content python: options.get('book_content');
book_format python: options.get('book_format');
book_rendering_fix python: options.get('book_rendering_fix');">
<!DOCTYPE html>
<html tal:attributes="class python: ''.join(['ci-', book_theme, ' ci-', book_language])">
<head>
<meta charset="utf-8">
<title tal:content="python: book_title"></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<tal:block tal:repeat="font_url book_theme_css_font_list">
<link rel="stylesheet" tal:attributes="href font_url" />
</tal:block>
<link rel="stylesheet" tal:attributes="href book_theme_css_url" />
<link rel="stylesheet" tal:attributes="href python: ''.join([book_template_css_url, '?portal_skin=Book'])" />
</head>
<body class="ci-book ci-book-content">
<tal:block metal:use-macro="context/WebPage_createBookContent/macros/book_content" />
</body>
</html>
</tal:block>
<tal:block tal:condition="python: False">
<tal:block metal:define-macro="book_content">
<tal:block tal:content="structure python: book_content"></tal:block>
<tal:block tal:condition="python: book_format == 'pdf'">
<tal:block tal:content="structure python: book_rendering_fix"></tal:block>
</tal:block>
</tal:block>
</tal:block>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_createBookCover</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<tal:comment replace="nothing">
"""
================================================================================
Creates the Book cover.
================================================================================
"""
</tal:comment>
<tal:block tal:define="book_theme python: options.get('book_theme');
book_title python: options.get('book_title');
book_language python: options.get('book_language');
book_theme_css_font_list python: options.get('book_theme_css_font_list');
book_theme_css_url python: options.get('book_theme_css_url');
book_template_css_url python: options.get('book_template_css_url');
book_short_title python: options.get('book_short_title');
book_description python: options.get('book_description');
book_source_person_title python: options.get('book_source_person_title');">
<!DOCTYPE html>
<html tal:attributes="class python: ''.join(['ci-', book_theme, ' ci-', book_language])">
<head>
<meta charset="utf-8">
<title tal:content="python: book_title"></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<tal:block tal:repeat="font_url book_theme_css_font_list">
<link rel="stylesheet" tal:attributes="href font_url" />
</tal:block>
<link rel="stylesheet" tal:attributes="href book_theme_css_url" />
<link rel="stylesheet" tal:attributes="href python: ''.join([book_template_css_url, '?portal_skin=Book'])" />
</head>
<body class="ci-book">
<tal:block metal:use-macro="context/WebPage_createBookCover/macros/book_cover" />
</body>
</html>
</tal:block>
<tal:block tal:condition="python: False">
<tal:block metal:define-macro="book_cover">
<div class="ci-book-cover ci-document-cover ci-document-print">
<p class="ci-book-cover-faux-h1" tal:content="python: book_title"></p>
<p class="ci-book-cover-faux-h2" tal:content="python: book_short_title"></p>
<p class="ci-book-cover-description" tal:content="python: book_description"></p>
<p class="ci-book-cover-author-list">
<tal:block tal:repeat="author book_source_person_title">
<span tal:content="author"></span>
<tal:block tal:condition="not: repeat/author/end">,</tal:block>
</tal:block>
</p>
</div>
</tal:block>
</tal:block>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_createBookFooter</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<tal:comment replace="nothing">
"""
================================================================================
Creates the Book footer.
================================================================================
"""
</tal:comment>
<tal:block tal:define="book_theme python: options.get('book_theme');
book_title python: options.get('book_title');
book_language python: options.get('book_language');
book_theme_css_font_list python: options.get('book_theme_css_font_list');
book_theme_css_url python: options.get('book_theme_css_url');
book_template_css_url python: options.get('book_template_css_url');
book_full_reference python: options.get('book_full_reference');
book_source_organisation_title python: options.get('book_source_organisation_title');">
<!DOCTYPE html>
<html tal:attributes="class python: ''.join(['ci-', book_theme, ' ci-', book_language])">
<head>
<meta charset="utf-8">
<title tal:content="python: book_title"></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<tal:block tal:repeat="font_url book_theme_css_font_list">
<link rel="stylesheet" tal:attributes="href font_url" />
</tal:block>
<link rel="stylesheet" tal:attributes="href book_theme_css_url" />
<link rel="stylesheet" tal:attributes="href python: ''.join([book_template_css_url, '?portal_skin=Book'])" />
</head>
<body class="ci-book" onload="setPlaceholdersWithUrlParameters()">
<tal:block metal:use-macro="context/WebPage_createBookFooter/macros/book_footer" />
</body>
</html>
</tal:block>
<tal:block tal:condition="python: False">
<tal:block metal:define-macro="book_footer">
<table class="ci-book-footer">
<tbody>
<tr>
<td><span tal:content="python: book_full_reference"></span></td>
<td><span style="margin-left:-55px;" i18n:translate="" i18n:domain="erp5_ui">Company Confidential</span></td>
<td><span class="ci-book-footer-copy">&copy;</span><span tal:content="python: ''.join([book_source_organisation_title, ' - ISO 16016'])"></span></td>
</tr>
</tbody>
</table>
</tal:block>
</tal:block>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_createBookHeader</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<tal:comment replace="nothing">
"""
================================================================================
Creates the Book header.
================================================================================
"""
</tal:comment>
<tal:block tal:define="book_theme python: options.get('book_theme');
book_title python: options.get('book_title');
book_language python: options.get('book_language');
book_theme_css_font_list python: options.get('book_theme_css_font_list');
book_theme_css_url python: options.get('book_theme_css_url');
book_template_css_url python: options.get('book_template_css_url');
book_logo_url python: options.get('book_logo_url');
book_logo_title python: options.get('book_logo_title');
book_short_title python: options.get('book_short_title');
book_reference python: options.get('book_reference');
book_revision python: options.get('book_revision');
book_version python: options.get('book_version');
book_short_date python: options.get('book_short_date');">
<!DOCTYPE html>
<html tal:attributes="class python: ''.join(['ci-', book_theme, ' ci-', book_language])">
<head>
<meta charset="utf-8">
<title tal:content="python: book_title"></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<tal:block tal:repeat="font_url book_theme_css_font_list">
<link rel="stylesheet" tal:attributes="href font_url" />
</tal:block>
<link rel="stylesheet" tal:attributes="href book_theme_css_url" />
<link rel="stylesheet" tal:attributes="href python: ''.join([book_template_css_url, '?portal_skin=Book'])" />
<script type="text/javascript">
function setPlaceholdersWithUrlParameters() {
var vars={};
var x=window.location.search.substring(1).split('&');
for (var i in x) {var z=x[i].split('=',2);vars[z[0]] = unescape(z[1]);}
var x=['frompage','topage','page','webpage','section','subsection','subsubsection'];
for (var i in x) {
var y = document.getElementsByClassName(x[i]);
for (var j=0; j<y.length; ++j) y[j].textContent = vars[x[i]];
}
}
</script>
</head>
<body class="ci-book" onload="setPlaceholdersWithUrlParameters()">
<tal:block metal:use-macro="context/WebPage_createBookHeader/macros/book_header" />
</body>
</html>
</tal:block>
<tal:block tal:condition="python: False">
<tal:block metal:define-macro="book_header">
<table class="ci-book-header">
<tbody>
<tr>
<td>
<img tal:attributes="src python: book_logo_url; alt python: book_logo_title"/>
</td>
<td>
<div class="ci-book-header-title" tal:content="python: book_title"></div>
<div class="ci-book-header-subtitle" tal:content="python: book_short_title"></div>
</td>
<td>
<div>
<span class="ci-book-header-key" i18n:translate="" i18n:domain="erp5_ui">Doc.:</span>
<span class="ci-book-header-value ci-book-header-minify" tal:content="python: book_reference"></span>
</div>
<div class="ci-book-header-sidebyside ci-book-header-sidebyside-first">
<span class="ci-book-header-key" i18n:translate="" i18n:domain="erp5_ui">Version:</span>
<span class="ci-book-header-value" tal:content="python: book_version"></span>
</div>
<div class="ci-book-header-sidebyside ci-book-header-sidebyside-last ci-document-page-header-sidebyside ci-document-page-header-sidebyside-last">
<span class="ci-book-header-key" i18n:translate="" i18n:domain="erp5_ui">Rev.:</span>
<span class="ci-book-header-value" tal:content="python: book_revision"></span>
</div>
<div>
<span class="ci-book-header-key" i18n:translate="" i18n:domain="erp5_ui">Date:</span>
<span class="ci-book-header-value" tal:content="python: book_short_date"></span>
</div>
<div>
<span class="ci-book-header-key" i18n:translate="" i18n:domain="erp5_ui">Page:</span>
<span class="ci-book-header-value page"></span>
<span class="ci-book-header-value">/</span>
<span class="ci-book-header-value topage"></span>
</div>
</td>
</tr>
</tbody>
</table>
</tal:block>
</tal:block>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_createBookTableOfHistory</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<tal:comment replace="nothing">
"""
================================================================================
Creates the Book sections (version, authors, etc).
================================================================================
"""
</tal:comment>
<tal:block tal:define="book_theme python: options.get('book_theme');
book_title python: options.get('book_title');
book_language python: options.get('book_language');
book_theme_css_font_list python: options.get('book_theme_css_font_list');
book_theme_css_url python: options.get('book_theme_css_url');
book_template_css_url python: options.get('book_template_css_url');
book_include_history python: options.get('book_include_history');
book_signature_list python: options.get('book_signature_list');
book_distribution_list python: options.get('book_distribution_list');
book_version_list python: options.get('book_version_list');">
<!DOCTYPE html>
<html tal:attributes="class python: ''.join(['ci-', book_theme, ' ci-', book_language])">
<head>
<meta charset="utf-8">
<title tal:content="python: book_title"></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<tal:block tal:repeat="font_url book_theme_css_font_list">
<link rel="stylesheet" tal:attributes="href font_url" />
</tal:block>
<link rel="stylesheet" tal:attributes="href book_theme_css_url" />
<link rel="stylesheet" tal:attributes="href python: ''.join([book_template_css_url, '?portal_skin=Book'])" />
</head>
<body class="ci-book" tal:condition="python: book_include_history is not None">
<tal:block metal:use-macro="context/WebPage_createBookTableOfHistory/macros/book_history" />
</body>
</html>
</tal:block>
<tal:block tal:condition="python: False">
<tal:block metal:define-macro="book_history">
<tal:block tal:condition="python: book_include_history is not None">
<section>
<table class="ci-book-table ci-book-signature-list" border="1" width="100%" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th colspan="4" i18n:translate="" i18n:domain="erp5_ui">Signature List</th>
</tr>
<tr>
<th width="25%" i18n:translate="" i18n:domain="erp5_ui">Name</th>
<th width="25%"><span i18n:translate="" i18n:domain="erp5_ui">Function</span><br /><span i18n:translate="" i18n:domain="erp5_ui">Company</span></th>
<th width="25%" i18n:translate="" i18n:domain="erp5_ui">Signature</th>
<th width="25%" i18n:translate="" i18n:domain="erp5_ui">Date</th>
</tr>
</thead>
<tbody>
<tal:block tal:condition="python: len(book_signature_list) > 0">
<tal:block tal:repeat="person book_signature_list">
<tr>
<td width="25%"><em i18n:translate="" i18n:domain="erp5_ui">Signed by:</em><strong tal:content="python: person.title"></strong></td>
<td width="25%" tal:content="python: person.career_subordination_title"></td>
<td width="25%" tal:content="python: person.career_function"></td>
<td width="25%" tal:content="python: Date().strftime('%Y-%m-%d')"></td>
</tr>
</tal:block>
</tal:block>
<tal:block tal:condition="python: len(book_signature_list) == 0">
<tr>
<td width="25%"><em i18n:translate="" i18n:domain="erp5_ui">Signed by:</em><strong>Sample Person</strong></td>
<td width="25%">CEO</td>
<td width="25%">Sample Company</td>
<td width="25%">20xx-xx-xx</td>
</tr>
</tal:block>
</tbody>
</table>
</section>
<section>
<table class="ci-book-table ci-book-distribution-list" border="1" width="100%" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th i18n:translate="" i18n:domain="erp5_ui">Distribution List</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<ul>
<tal:block tal:condition="python: len(book_distribution_list) > 0">
<tal:block tal:repeat="person book_distribution_list">
<li tal:condition="person/odd">
<div tal:content="python: person.title"></div>
<div tal:content="python: person.career_function"></div>
</li>
</tal:block>
</tal:block>
<tal:block tal:condition="python: len(book_distribution_list) == 0">
<li>
<div>Sample Person</div>
<div>Sample Company</div>
</li>
</tal:block>
</ul>
<ul>
<tal:block tal:condition="python: len(book_distribution_list) > 0">
<tal:block tal:repeat="person book_distribution_list">
<li tal:condition="person/even">
<div tal:content="python: person.title"></div>
<div tal:content="python: person.career_function"></div>
</li>
</tal:block>
</tal:block>
<tal:block tal:condition="python: len(book_distribution_list) == 0">
<li>
<div>Sample Person</div>
<div>Sample Company</div>
</li>
</tal:block>
</ul>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<table class="ci-book-table ci-book-version-list" border="1" width="100%" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th colspan="4" i18n:translate="" i18n:domain="erp5_ui">Version Table</th>
</tr>
<tr>
<th width="15%" i18n:translate="" i18n:domain="erp5_ui">Version</th>
<th width="20%" i18n:translate="" i18n:domain="erp5_ui">Date</th>
<th width="15%" i18n:translate="" i18n:domain="erp5_ui">Page</th>
<th width="55%" i18n:translate="" i18n:domain="erp5_ui">Description of Modifications</th>
</tr>
</thead>
<tbody>
<tal:block tal:condition="python: len(book_version_list) > 0">
<tal:block tal:repeat="version book_version_list">
<tr>
<td width="15%" tal:content="python: version.number"></td>
<td width="20%" tal:content="python: version.date"></td>
<td width="15%" tal:content="python: version.modifciations"></td>
<td width="55%" tal:content="python: version.comment" style="text-align: left"></td>
</tr>
</tal:block>
</tal:block>
<tal:block tal:condition="python: len(book_version_list) == 0">
<tr>
<td width="15%">001</td>
<td width="20%">20xx-xx-xx</td>
<td width="15%">All</td>
<td width="55%" style="text-align: left">Added example content, corrections.</td>
</tr>
</tal:block>
</tbody>
</table>
</section>
</tal:block>
</tal:block>
</tal:block>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_createBookTableOfReferences</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<tal:comment replace="nothing">
"""
================================================================================
Creates the Tables of references.
================================================================================
"""
</tal:comment>
<tal:block tal:define="book_format python: options.get('book_format');
book_theme python: options.get('book_theme');
book_title python: options.get('book_title');
book_language python: options.get('book_language');
book_theme_css_font_list python: options.get('book_theme_css_font_list');
book_theme_css_url python: options.get('book_theme_css_url');
book_template_css_url python: options.get('book_template_css_url');
book_include_reference python: options.get('book_include_reference');
book_reference_list python: options.get('book_reference_list');
book_applicable_document_list python: options.get('book_applicable_document_list');
book_abbreviation_list python: options.get('book_abbreviation_list');
book_image_list python: options.get('book_image_list');
book_table_list python: options.get('book_table_list');">
<tal:block tal:condition="python: book_format == 'html'">
<tal:block metal:use-macro="context/WebPage_createBookTableOfReferences/macros/book_references" />
</tal:block>
<tal:block tal:condition="python: book_format == 'pdf'">
<!DOCTYPE html>
<html tal:attributes="class python: ''.join(['ci-', book_theme, ' ci-', book_language])">
<head>
<meta charset="utf-8">
<title tal:content="python: book_title"></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<tal:block tal:repeat="font_url book_theme_css_font_list">
<link rel="stylesheet" tal:attributes="href font_url" />
</tal:block>
<link rel="stylesheet" tal:attributes="href book_theme_css_url" />
<link rel="stylesheet" tal:attributes="href python: ''.join([book_template_css_url, '?portal_skin=Book'])" />
</head>
<body class="ci-book" tal:condition="python: book_include_reference is not None">
<tal:block metal:use-macro="context/WebPage_createBookTableOfReferences/macros/book_references" />
</body>
</html>
</tal:block>
</tal:block>
<tal:block tal:condition="python: False">
<tal:block tal:condition="python: book_include_reference_table is not None">
<tal:block metal:define-macro="book_references">
<h1 i18n:translate="" i18n:domain="erp5_ui">Introduction</h1>
<h2 i18n:translate="" i18n:domain="erp5_ui">References</h2>
<p i18n:translate="" i18n:domain="erp5_ui">This section provides the list of applicable documents and references.</p>
<h3 i18n:translate="" i18n:domain="erp5_ui">Applicable Documents</h3>
<p i18n:translate="" i18n:domain="erp5_ui">This section provides the list of applicable documents.</p>
<table class="ci-book-table ci-book-applicable-list" border="1" width="100%" style="table-layout:fixed;" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th width="9%"><b i18n:translate="" i18n:domain="erp5_ui">ID</b></th>
<th width="56%"><b i18n:translate="" i18n:domain="erp5_ui">Title</b><b>/</b><b i18n:translate="" i18n:domain="erp5_ui">Reference</b></th>
<th width="21%"><b i18n:translate="" i18n:domain="erp5_ui">Document Number</b></th>
<th width="14%"><b i18n:translate="" i18n:domain="erp5_ui">Issue.</b><br /><b i18n:translate="" i18n:domain="erp5_ui">Rev.</b></th>
</tr>
</thead>
<tbody>
<tal:block tal:condition="python: len(book_applicable_document_list) > 0">
<tal:block tal:repeat="applicable_document book_applicable_document_list">
<tr>
<td width="9%"><a tal:attributes="id python: applicable_document.get('id')"></a><span tal:content="python: applicable_document.get('id')"></span></td>
<td width="56%" style="text-align:left"><span tal:content="python: applicable_document.get('title')"></span><br/><a tal:attributes="href python: applicable_document.get('href')"><span tal:content="python: applicable_document.get('href')"></span></a></td>
<td width="21%" tal:content="python: applicable_document.get('number')"></td>
<td width="14%" tal:content="python: applicable_document.get('version')"></td>
</tr>
</tal:block>
</tal:block>
</tbody>
</table>
<h3 i18n:translate="" i18n:domain="erp5_ui">Referenced Documents</h3>
<p i18n:translate="" i18n:domain="erp5_ui">This section provides the list of referenced documents.</p>
<table class="ci-book-table ci-book-reference-list" border="1" width="100%" style="table-layout:fixed;" cellpadding="2" cellspacing="0">
<thead>
<tr>
<th width="9%"><b i18n:translate="" i18n:domain="erp5_ui">ID</b></th>
<th width="56%"><b i18n:translate="" i18n:domain="erp5_ui">Title</b><b>/</b><b i18n:translate="" i18n:domain="erp5_ui">Reference</b></th>
<th width="21%"><b i18n:translate="" i18n:domain="erp5_ui">Document Number</b></th>
<th width="14%"><b i18n:translate="" i18n:domain="erp5_ui">Issue.</b><br /><b i18n:translate="" i18n:domain="erp5_ui">Rev.</b></th>
</tr>
</thead>
<tbody>
<tal:block tal:condition="python: len(book_reference_list) > 0">
<tal:block tal:repeat="reference_document book_reference_list">
<tr>
<td width="9%"><a tal:attributes="id python: reference_document.get('id')"></a><span tal:content="python: reference_document.get('id')"></span></td>
<td width="56%" style="text-align:left"><span tal:content="python: reference_document.get('title')"></span><br/><a tal:attributes="href python: reference_document.get('href')"><span tal:content="python: reference_document.get('href')"></span></a></td>
<td width="21%" tal:content="python: reference_document.get('number')"></td>
<td width="14%" tal:content="python: reference_document.get('version')"></td>
</tr>
</tal:block>
</tal:block>
</tbody>
</table>
<h2 i18n:translate="" i18n:domain="erp5_ui">Abbreviations</h2>
<p i18n:translate="" i18n:domain="erp5_ui">This section provides the lists of the applicable abbreviations.</p>
<table border="1" class="ci-book-table ci-book-abbreviation-list" width="100%" style="table-layout:fixed;" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th width="10%"><b i18n:translate="" i18n:domain="erp5_ui">ID</b></th>
<th width="15%"><b i18n:translate="" i18n:domain="erp5_ui">Abbreviation</b></th>
<th width="31%"><b i18n:translate="" i18n:domain="erp5_ui">Title</b></th>
<th width="43%"><b i18n:translate="" i18n:domain="erp5_ui">Description</b></th>
</tr>
</thead>
<tbody>
<tal:block tal:condition="python: len(book_abbreviation_list) > 0">
<tal:block tal:repeat="abbreviation book_abbreviation_list">
<tr>
<td width="9%"><a tal:attributes="id python: abbreviation.get('id')"></a><span tal:content="python: abbreviation.get('id')"></span></td>
<td width="56%" style="text-align:left"><a tal:attributes="href python: abbreviation.get('href')"><span tal:content="python: abbreviation.get('abbreviation')"></span></a></td>
<td width="21%" style="text-align:left" tal:content="python: abbreviation.get('title')"></td>
<td width="14%" style="text-align:left" tal:content="python: abbreviation.get('description')"></td>
</tr>
</tal:block>
</tal:block>
</tbody>
</table>
<h2 i18n:translate="" i18n:domain="erp5_ui">Figures</h2>
<p i18n:translate="" i18n:domain="erp5_ui">This section provides the list of figures and images.</p>
<table border="1" class="ci-book-table ci-book-figure-list" width="100%" style="table-layout:fixed;" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th width="10%"><b i18n:translate="" i18n:domain="erp5_ui">ID</b></th>
<th width="90%"><b i18n:translate="" i18n:domain="erp5_ui">Title</b></th>
</tr>
</thead>
<tbody>
<tal:block tal:condition="python: len(book_image_list) > 0">
<tal:block tal:repeat="image book_image_list">
<tr>
<td width="10%"><a tal:attributes="id python: image.get('id')"></a><span tal:content="python: image.get('id')"></span></td>
<td width="90%" style="text-align: left; vertical-align: top" tal:content="python: image.get('title')"></td>
</tr>
</tal:block>
</tal:block>
</tbody>
</table>
<h2 i18n:translate="" i18n:domain="erp5_ui">Tables</h2>
<p i18n:translate="" i18n:domain="erp5_ui">This section provides the list of tables.</p>
<table border="1" class="ci-book-table ci-book-figure-list" width="100%" style="table-layout:fixed;" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th width="10%"><b i18n:translate="" i18n:domain="erp5_ui">ID</b></th>
<th width="90%"><b i18n:translate="" i18n:domain="erp5_ui">Title</b></th>
</tr>
</thead>
<tbody>
<tal:block tal:condition="book_table_list">
<tal:block tal:repeat="table book_table_list">
<tr>
<td width="10%"><a tal:attributes="id python: table.get('id')"></a><span tal:content="python: table.get('id')"></span></td>
<td width="90%" style="text-align: left; vertical-align: top" tal:content="python: table.get('title')"></td>
</tr>
</tal:block>
</tal:block>
</tbody>
</table>
</tal:block>
</tal:block>
</tal:block>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_createBookXslTableOfContent</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:outline="http://wkhtmltopdf.org/outline"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="html" encoding="utf-8" indent="yes" doctype-system="about:legacy-compat"/>
<xsl:template match="outline:outline">
<xsl:param name="count" select="0" />
<html>
<head>
<title>Table of Contents</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
/* punt at fixing overlaps */
html, body {
overflow-x: initial !important;
}
/* font */
.ci-book-table-of-content ol,
.ci-book-table-of-content li,
.ci-book-table-of-content a,
.ci-book-table-of-content span {
font-family: "Roboto", Arial, 'Noto Sans Sc', SimHei, STXihei, sans-serif;
}
.ci-book-faux-h1 {
font-family: "Roboto", Arial, 'Noto Sans Sc', SimHei, STXihei, sans-serif;
}
/* size */
.ci-book-table-of-content ol {
font-size: 20px;
}
.ci-book-table-of-content ol ol {
font-size: 18px;
}
.ci-book-faux-h1 {
font-size: 36px;
}
/* indent */
/* h1 */
.ci-book-table-of-content ol {
text-indent: 0;
}
/* h2 */
.ci-book-table-of-content ol ol {
text-indent: 3em;
}
/* h3 */
.ci-book-table-of-content ol ol ol {
text-indent: 6em;
}
/* h4 */
.ci-book-table-of-content ol ol ol ol {
text-indent: 9em;
}
/* h5 */
.ci-book-table-of-content ol ol ol ol ol {
text-indent: 12em;
}
/* h6 */
.ci-book-table-of-content ol ol ol ol ol ol {
text-indent: 15em;
}
/* spacing, what misery */
.ci-book-helper {
margin: 0;
padding: 0;
}
.ci-book-table-of-content-lead-item:not(:first-child) {
padding-top: 10mm;
}
/* dotted lines */
.ci-book-table-of-content ol li div {
position: relative;
overflow: hidden;
}
.ci-book-table-of-content ol li div:after {
content: "";
position: absolute;
bottom: 3px;
width: 100%;
border-bottom: 1px dotted #000;
z-index: 500;
}
/* line-height */
.ci-book-table-of-content ol li div {
height: 28px;
line-height: 24px;
}
.ci-book-table-of-content ol ol li div {
height: 24px;
line-height: 20px;
}
/* numbering x.x.x.x */
.ci-book-table-of-content ol li {
counter-increment: item;
}
.ci-book-table-of-content ol li div:before {
content: counters(item, ".") ". ";
padding-right: 0.5em;
}
.ci-book-table-of-content li ol li div:before {
content: counters(item, ".") " ";
}
/* general styling */
.ci-book-table-of-content {
display: block;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding-right: 10px;
}
.ci-book-table-of-content ol {
counter-reset: item;
list-style-type: none;
margin: 0;
padding: 0;
display: block;
width: inherit;
}
.ci-book-table-of-content li ol li {
margin: 0;
}
/* page numbers */
.ci-book-table-of-content span {
float: right;
position: relative;
}
/* hail mary coverup */
.ci-book-table-of-content span:before {
content: "";
height: 4px;
width: 22px;
position: absolute;
background-color: #fff;
bottom: -4px;
right: -1px;
z-index: 1000;
}
.ci-book-table-of-content a {
text-decoration:none;
color: black;
}
.ci-book-faux-h1 {
text-align: right;
font-weight: normal;
margin-top: 24mm;
margin-bottom: 12%;
}
</style>
</head>
<body class="ci-book-toc">
<p class="ci-book-faux-h1" tal:content="python: options.get('book_toc_title') or ''">Table of Contents</p>
<div class="ci-book-table-of-content">
<p class="ci-book-helper"></p>
<ol>
<xsl:apply-templates select="outline:item/outline:item">
<xsl:with-param name="count" select="$count" />
</xsl:apply-templates>
</ol>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="outline:item">
<xsl:param name="count" />
<xsl:choose>
<xsl:when test="number($count)=0">
<li class="ci-book-table-of-content-lead-item">
<xsl:if test="@title!=''">
<div>
<a>
<xsl:if test="@link">
<xsl:attribute name="href"><xsl:value-of select="@link"/></xsl:attribute>
</xsl:if>
<xsl:if test="@backLink">
<xsl:attribute name="name"><xsl:value-of select="@backLink"/></xsl:attribute>
</xsl:if>
<xsl:value-of select="@title" />
</a>
<span><xsl:value-of select="@page" /> </span>
</div>
</xsl:if>
<ol>
<xsl:comment>added to prevent self-closing tags in QtXmlPatterns</xsl:comment>
<xsl:apply-templates select="outline:item"></xsl:apply-templates>
</ol>
</li>
</xsl:when>
<xsl:otherwise>
<li>
<xsl:if test="@title!=''">
<div>
<a>
<xsl:if test="@link">
<xsl:attribute name="href"><xsl:value-of select="@link"/></xsl:attribute>
</xsl:if>
<xsl:if test="@backLink">
<xsl:attribute name="name"><xsl:value-of select="@backLink"/></xsl:attribute>
</xsl:if>
<xsl:value-of select="@title" />
</a>
<span><xsl:value-of select="@page" /> </span>
</div>
</xsl:if>
<ol>
<xsl:comment>added to prevent self-closing tags in QtXmlPatterns</xsl:comment>
<xsl:apply-templates select="outline:item"></xsl:apply-templates>
</ol>
</li>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
"""
================================================================================
Export WebPage as Book
================================================================================
"""
return context.WebPage_viewAsBook(
override_document_description=override_document_description,
override_document_short_title=override_document_short_title,
override_document_title=override_document_title,
override_document_version=override_document_version,
override_logo_reference=override_logo_reference,
override_source_organisation_title=override_source_organisation_title,
override_source_person_title=override_source_person_title,
override_document_reference=override_document_reference,
document_save=document_save,
document_download=document_download,
display_svg=display_svg,
batch_mode=batch_mode,
transformation=transformation,
include_content_table=include_content_table,
include_history_table=include_history_table,
include_reference_table=include_reference_table,
include_linked_content=include_linked_content,
include_report_content=include_report_content,
format=format,
**kw
)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>format=None ,include_content_table=None,include_history_table= None,include_reference_table=None,include_linked_content=None,include_report_content=None,document_download=None,batch_mode=False,display_svg=None,document_save=None,transformation=None,override_document_description=None,override_document_short_title=None,override_document_title=None,override_document_version=None,override_logo_reference=None,override_source_organisation_title=None,override_source_person_title=None,override_document_reference=None, **kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_exportAsBook</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
Print WebPage as Book
================================================================================
"""
return context.WebPage_viewAsBook(
format=format,
override_document_description=override_document_description,
override_document_short_title=override_document_short_title,
override_document_title=override_document_title,
override_document_version=override_document_version,
override_logo_reference=override_logo_reference,
override_source_organisation_title=override_source_organisation_title,
override_source_person_title=override_source_person_title,
override_document_reference=override_document_reference,
document_save=document_save,
document_download=document_download,
batch_mode=batch_mode,
display_svg=display_svg,
transformation=transformation,
include_content_table=include_content_table,
include_history_table=include_history_table,
include_reference_table=include_reference_table,
include_linked_content=include_linked_content,
include_report_content=include_report_content,
**kw
)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>format="pdf",include_content_table=None, include_history_table= None, include_reference_table=None, include_linked_content=None, include_report_content=None,display_svg=None, document_download=None, batch_mode=False, document_save=None,transformation=None,override_document_description=None,override_document_short_title=None,override_document_title=None,override_document_version=None,override_logo_reference=None,override_source_organisation_title=None,override_source_person_title=None,override_document_reference=None, **kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_printAsBook</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
Update a book dialog with parameters manually entered
================================================================================
"""
# XXX: url_param_string easily goes over 2000 chars and Base_callDialogMethod
# sets an arbitrary limit for redirects at 2000 chars. Drop unnecessary fields,
# it's just a dialog update
from Products.ERP5Type.Message import translateString
if dialog_id is not None:
return context.Base_redirect(
dialog_id,
keep_items = dict(
portal_status_message=translateString('Preview updated.'),
cancel_url=cancel_url,
portal_skin=portal_skin,
format=format,
display_svg=display_svg,
document_save=document_save,
document_download=document_download,
override_document_description=override_document_description,
override_document_short_title=override_document_short_title,
override_document_title=override_document_title,
override_document_version=override_document_version,
override_logo_reference=override_logo_reference,
override_source_person_title=override_source_person_title,
override_document_reference=override_document_reference,
override_source_organisation_title=override_source_organisation_title,
transformation=transformation,
include_content_table=include_content_table,
include_history_table=include_history_table,
include_reference_table=include_reference_table,
include_linked_content=include_linked_content,
include_report_content=include_report_content,
#**kw
)
)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>dialog_id=None, cancel_url=None, portal_skin=None, include_content_table=None, include_history_table= None, include_reference_table=None, include_linked_content=None, include_report_content=None, format=None,display_svg=None,document_save=None, document_download=None, transformation=None,override_document_description=None,override_document_short_title=None,override_document_title=None,override_document_version=None,override_logo_reference=None,override_source_organisation_title=None,override_source_person_title=None, override_document_reference=None, *args,**kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_updateBookDialog</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
MAIN FILE: generate book in different output formats
================================================================================
"""
# kw-parameters (* default)
# ------------------------------------------------------------------------------
# format output (html*, pdf)
# transformation convert into (XXX not done)
# ------
# override_source_person_title use instead of the document author
# override_source_organisation_title use as publishing organisation
# override_document_description use as cover page description
# override_document_short_title use as cover page subtitle
# override_document_title use as cover page title
# override_document_version use as document version
# override_document_reference use as document reference
# override_logo_reference use as document header logo
# override_batch_mode used for tests
# ------
# book_include_content_table include table of content (True*)
# book_include_history_table include history/authors (XXX not done)
# book_include_reference_table include table of links/images/tables
# book_include_linked_content embed content of linked documents
# book_include_report_content embed content of report documents
# ------
# document_download download file directly (None*)
# document_save save file in document module (None*)
# ------
# display_svg format for svg images (svg, png*)
import re
from Products.PythonScripts.standard import html_quote
from base64 import b64encode
from datetime import datetime
blank = ''
# -------------------------- External parameters ------------------------------
# eg "Nexedi" specific parameters
customHandler = getattr(context, "WebPage_getCustomParameter", None)
# parameters common to all templates
commonHandler = getattr(context, "WebPage_getCommonParameter", None)
commonProxyHandler = getattr(context, "WebPage_getCommonProxyParameter", None)
def getCustomParameter(my_parameter, my_override_data):
if customHandler is not None:
source_data = my_override_data or book_uid
return customHandler(parameter=my_parameter, source_data=source_data)
def getCommonParameter(my_parameter, my_override_data):
if commonHandler is not None:
source_data = my_override_data or book_uid
return commonHandler(parameter=my_parameter, source_data=source_data)
def getCommonProxyParameter(my_parameter, my_override_data):
if commonProxyHandler is not None:
source_data = my_override_data or book_uid
return commonProxyHandler(parameter=my_parameter, source_data=source_data)
# ------------------ HTML cleanup/converter methods ----------------------------
def translateText(snip):
return book_localiser.erp5_ui.gettext(snip, lang=book_language).encode('utf-8').strip()
def setOverrideParam(my_context, my_override, my_param):
if my_override is not None and my_override is not blank:
return html_quote(my_override)
try:
return getattr(my_context, my_param) or None
except:
return blank
# XXX how to set checkbox correctly?
def setToNone(param):
if param == blank or param == None or param == 0 or param == str(0):
return None
else:
return param
# -------------------------- Setup ---------------------------------------------
book = context
book_format = setToNone(kw.get('format', None)) or 'html'
book_transformation = kw.get('transformation', None)
book_download = setToNone(kw.get('document_download', None))
book_save = setToNone(kw.get('document_save', None))
book_display_svg = setToNone(kw.get('display_svg', None))
book_include_content_table = kw.get('include_content_table', None)
if book_include_content_table is None:
book_include_content_table = 1
else:
book_include_content_table = setToNone(book_include_content_table)
book_include_history_table = setToNone(kw.get('include_history_table', None))
book_include_reference_table = setToNone(kw.get('include_reference_table', None))
book_include_linked_content = setToNone(kw.get('include_linked_content', None))
book_include_report_content = setToNone(kw.get('include_report_content', None))
override_source_person_title = kw.get('override_source_person_title', None)
override_source_organisation_title = kw.get("override_source_organisation_title", None)
override_document_description = kw.get('override_document_description', None)
override_document_short_title = kw.get('override_document_short_title', None)
override_document_title = kw.get('override_document_title', None)
override_document_version = kw.get('override_document_version', None)
override_document_reference = kw.get('override_document_reference', None)
override_logo_reference = kw.get('override_logo_reference', None)
override_batch_mode = kw.get('batch_mode', False)
# -------------------------- Document Parameters ------------------------------
book_form = book.REQUEST
book_localiser = book.getPortalObject().Localizer
book_portal_type = book.getPortalType()
book_uid = book.getUid()
book_relative_url = book.getRelativeUrl()
book_prefix = "Book."
book_rendering_fix = getCommonParameter('wkhtmltopdf_rendering_fix', None) or blank
book_dialog_id = book_form.get('dialog_id', None)
book_title = setOverrideParam(book, override_document_title, "title")
book_short_title = setOverrideParam(book, override_document_short_title, "short_title")
book_version = setOverrideParam(book, override_document_version, "version")
book_description = setOverrideParam(book, override_document_description, "description")
book_content = book.getTextContent()
book_language = book.getLanguage()
book_aggregate_list = []
book_absolute_url = book.getAbsoluteUrl()
book_reference = (html_quote(override_document_reference) if override_document_reference else book.getReference()) or blank
book_revision = book.getRevision()
book_modification_date = book.getModificationDate()
book_short_date = book_modification_date.strftime('%Y-%m-%d')
if book_language and book_format == "pdf":
book.REQUEST['AcceptLanguage'].set(book_language, 10)
if book_reference is None:
book_reference = book_prefix + book_title.replace(" ", ".")
book_full_reference = '-'.join([book_reference, book_version, book_language])
# --------------------------- Layout Parameters --------------------------------
book_theme = book.Base_getThemeDict(
custom_theme=getCustomParameter("theme", None),
override_batch_mode=override_batch_mode,
format=book_format,
url=book_absolute_url,
css_path="/book_css/book"
)
# --------------------------- Source/Destination -------------------------------
book_source = book.Base_getSourceDict(
override_source_person_title=override_source_person_title,
override_source_organisation_title=override_source_organisation_title,
override_logo_reference=override_logo_reference,
default_company_title=getCustomParameter("default_company_title", None),
default_bank_account_uid=getCustomParameter("default_bank_account_uid", None),
theme_logo_url=book_theme.get("theme_logo_url", None)
)
# --------------------------- Content Upgrades ---------------------------------
book_reference_list = []
book_applicable_document_list = []
book_abbreviation_list = []
book_signature_list = []
book_version_list = []
book_distribution_list = []
book_image_list = []
book_table_list = []
book_table_of_content = blank
# backcompat
book_content.replace("${WebPage_insertTableOfReferences}", blank)
# XXX: not done
if book_include_history_table is not None:
book_signature_list = []
book_version_list = []
book_distribution_list = []
# old generate book
if book_include_linked_content is not None:
book_content = book.WebPage_embedLinkedDocumentList(doc_content=book_content)
# embed reports
if book_include_report_content is not None:
book_content = book.WebPage_embedReportDocumentList(doc_content=book_content)
# table of links
if book_include_reference_table is not None:
book_link_list = book.WebPage_createLinkOverview(book_content)
table_link_list = book.WebPage_createTableOverview(book_content)
image_link_list = book.WebPage_createImageOverview(book_content)
for referenced_document in book_link_list.get("reference_list", []):
book_reference_list.append(referenced_document.get("item"))
book_content = book_content.replace(referenced_document.get("input"), referenced_document.get("output"))
for applicable_document in book_link_list.get("applicable_list", []):
book_applicable_document_list.append(applicable_document.get("item"))
book_content = book_content.replace(applicable_document.get("input"), applicable_document.get("output"))
for abbreviation in book_link_list.get("abbreviation_list", []):
book_abbreviation_list.append(abbreviation.get("item"))
book_content = book_content.replace(abbreviation.get("input"), abbreviation.get("output"))
for figure in image_link_list.get("figure_list", []):
book_image_list.append(figure.get("item"))
book_content = book_content.replace(figure.get("input"), figure.get("output"))
for table in table_link_list.get("table_list", []):
book_table_list.append(table.get("item"))
book_content = book_content.replace(table.get("input"), table.get("output"))
# in order for the reference tables to be in the table of content, they must
# be added beforehand to content
book_references = book.WebPage_createBookTableOfReferences(
book_format=book_format,
book_theme=book_theme.get("theme"),
book_title=book_title,
book_language=book_language,
book_theme_css_font_list=book_theme.get("theme_css_font_list"),
book_theme_css_url=book_theme.get("theme_css_url"),
book_template_css_url=book_theme.get("template_css_url"),
book_include_reference=book_include_reference_table,
book_reference_list=book_reference_list,
book_applicable_document_list=book_applicable_document_list,
book_abbreviation_list=book_abbreviation_list,
book_image_list=book_image_list,
book_table_list=book_table_list
)
if book_format == 'html':
book_content = book_references.encode('utf-8').strip() + book_content
# table of content
if book_include_content_table is not None:
book_translated_toc_title = translateText("Table of Contents")
if book_format == "pdf":
book_table_of_content = book.WebPage_createBookXslTableOfContent(
book_toc_title=book_translated_toc_title
).encode('utf-8').strip()
elif book_format == "html":
book_content, book_table_of_content = book.WebPage_createTableOfContent(
doc_content=book_content,
doc_url=book_absolute_url,
doc_toc_title=book_translated_toc_title
)
for image in re.findall('(<img.*?/>)', book_content):
book_content = book_content.replace(
image,
book.WebPage_validateImage(
img_string=image,
img_svg_format=book_display_svg,
img_wrap=True
)
)
# ============================ Transformation ==================================
# ============================= Format: html ===================================
if book_format == "html":
book.REQUEST.RESPONSE.setHeader("Content-Type", "text/html;")
return book.WebPage_createBook(
book_theme=book_theme.get("theme"),
book_title=book_title,
book_language=book_language,
book_theme_css_font_list=book_theme.get("theme_css_font_list"),
book_theme_css_url=book_theme.get("theme_css_url"),
book_template_css_url=book_theme.get("template_css_url"),
book_short_title=book_short_title,
book_description=book_description,
book_source_person_title=book_source.get("contributor_title_string").split(','),
book_include_history=book_include_history_table,
book_signature_list=book_signature_list,
book_version_list=book_version_list,
book_distribution_list=book_distribution_list,
book_logo_url=book_source.get("enhanced_logo_url"),
book_logo_title=book_theme.get("theme_logo_description"),
book_reference=book_reference,
book_revision=book_revision,
book_version=book_version,
book_short_date=book_short_date,
book_full_reference=book_full_reference,
book_source_organisation_title=book_source.get("organisation_title") or blank,
book_content=book_content,
book_table_of_content=book_table_of_content
)
# ============================= Format: pdf ====================================
if book_format == "pdf":
book_cover = book.WebPage_createBookCover(
book_theme=book_theme.get("theme"),
book_title=book_title,
book_language=book_language,
book_theme_css_font_list=book_theme.get("theme_css_font_list"),
book_theme_css_url=book_theme.get("theme_css_url"),
book_template_css_url=book_theme.get("template_css_url"),
book_short_title=book_short_title,
book_description=book_description,
book_source_person_title=book_source.get("contributor_title_string").split(",")
)
book_history = book.WebPage_createBookTableOfHistory(
book_theme=book_theme.get("theme"),
book_title=book_title,
book_language=book_language,
book_theme_css_font_list=book_theme.get("theme_css_font_list"),
book_theme_css_url=book_theme.get("theme_css_url"),
book_theme_logo_url=book_source.get("enhanced_logo_url"),
book_theme_logo_alt=book_theme.get("theme_logo_alt"),
book_template_css_url=book_theme.get("template_css_url"),
book_include_history=book_include_history_table,
book_signature_list=book_signature_list,
book_version_list=book_version_list,
book_distribution_list=book_distribution_list,
)
# book_references created above
book_content = book.WebPage_createBookContent(
book_format=book_format,
book_rendering_fix=book_rendering_fix,
book_theme=book_theme.get("theme"),
book_title=book_title,
book_language=book_language,
book_theme_css_font_list=book_theme.get("theme_css_font_list"),
book_theme_css_url=book_theme.get("theme_css_url"),
book_template_css_url=book_theme.get("template_css_url"),
book_content=book_content,
)
book_head = book.WebPage_createBookHeader(
book_theme=book_theme.get("theme"),
book_title=book_title,
book_language=book_language,
book_theme_css_font_list=book_theme.get("theme_css_font_list"),
book_theme_css_url=book_theme.get("theme_css_url"),
book_template_css_url=book_theme.get("template_css_url"),
book_logo_url=book_source.get("enhanced_logo_url"),
book_logo_title=book_theme.get("theme_logo_description"),
book_short_title=book_short_title,
book_reference=book_reference,
book_revision=book_revision,
book_version=book_version,
book_short_date=book_short_date,
)
book_foot = book.WebPage_createBookFooter(
book_theme=book_theme.get("theme"),
book_title=book_title,
book_language=book_language,
book_theme_css_font_list=book_theme.get("theme_css_font_list"),
book_theme_css_url=book_theme.get("theme_css_url"),
book_theme_logo_url=book_source.get("enhanced_logo_url"),
book_theme_logo_alt=book_theme.get("theme_logo_description"),
book_template_css_url=book_theme.get("template_css_url"),
book_full_reference=book_full_reference,
book_source_organisation_title=book_source.get("organisation_title") or blank,
)
# ================ encode and build cloudoo elements =========================
header_embedded_html_data = book.Base_convertHtmlToSingleFile(book_head, allow_script=True)
before_toc_data_list = [
b64encode(book.Base_convertHtmlToSingleFile(book_cover, allow_script=True)),
]
after_toc_data_list = []
if book_include_history_table is not None:
before_toc_data_list.append(
b64encode(book.Base_convertHtmlToSingleFile(book_history, allow_script=True))
)
if book_include_reference_table is not None:
after_toc_data_list.append(
b64encode(book.Base_convertHtmlToSingleFile(book_references, allow_script=True))
)
xsl_style_sheet_data = book_table_of_content
embedded_html_data = book.Base_convertHtmlToSingleFile(book_content, allow_script=True)
footer_embedded_html_data = book.Base_convertHtmlToSingleFile(book_foot, allow_script=True)
pdf_file = context.Base_cloudoooDocumentConvert(embedded_html_data, "html", "pdf", conversion_kw=dict(
encoding="utf8",
margin_top=40,
margin_bottom=20,
toc=True,
before_toc_data_list=before_toc_data_list,
xsl_style_sheet_data=b64encode(xsl_style_sheet_data),
after_toc_data_list=after_toc_data_list,
header_html_data=b64encode(header_embedded_html_data),
header_spacing=10,
footer_html_data=b64encode(footer_embedded_html_data),
footer_spacing=3,
)
)
return book.WebPage_finishPdfCreation(
doc_download=book_download,
doc_save=book_save,
doc_version=override_document_version or book_version or "001",
doc_title=book_title,
doc_relative_url=book_relative_url,
doc_aggregate_list=book_aggregate_list,
doc_language=book_language,
doc_modification_date=book_modification_date,
doc_reference=book_reference,
doc_full_reference=book_full_reference,
doc_pdf_file=pdf_file
)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>*args,**kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_viewAsBook</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
View WebPage as Book or Report
================================================================================
"""
if context.REQUEST["portal_skin"] == "Report":
return context.Base_viewAsReport(
format=format,
document_save=document_save,
document_download=document_download,
document_language=document_language,
document_reference=document_reference,
document_version=document_version,
document_title=document_title,
display_detail=display_detail,
display_comment=display_comment,
display_header=display_header,
display_depth=display_depth,
report_name=report_name,
report_title=report_title,
requirement_relative_url=requirement_relative_url,
batch_mode=batch_mode,
**kw
)
if context.REQUEST["portal_skin"] == "Book":
return context.WebPage_viewAsBook(
format=format,
override_document_reference=override_document_reference,
override_document_description=override_document_description,
override_document_short_title=override_document_short_title,
override_document_title=override_document_title,
override_document_version=override_document_version,
override_logo_reference=override_logo_reference,
override_source_organisation_title=override_source_organisation_title,
override_source_person_title=override_source_person_title,
document_save=document_save,
document_download=document_download,
include_content_table=include_content_table,
include_history_table=include_history_table,
include_reference_table=include_reference_table,
include_linked_content=include_linked_content,
include_report_content=include_report_content,
display_svg=display_svg,
transformation=transformation,
batch_mode=batch_mode,
**kw
)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>format="html", include_content_table=None, requirement_relative_url=None, display_depth=None, include_history_table= None, include_reference_table=None, include_linked_content=None, include_report_content=None, display_svg=None, display_detail=None, display_comment=None, display_header=None, document_download=None, override_document_reference=None, batch_mode=False, document_save=None, document_language=None, document_reference=None, document_version=None, transformation=None, report_title=None, document_title=None, report_name=None, override_document_description=None, override_document_short_title=None, override_document_title=None, override_document_version=None, override_logo_reference=None, override_source_organisation_title=None, override_source_person_title=None, **kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_viewAsWeb</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>book_css</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* === font-size === */
.ci-book h1 + p::first-letter {
font-size: 21.1667mm; /* 60pt; */ /* 80px; */
}
.ci-book h1 {
font-size: 12.7mm; /* 36pt; */ /* 48px; */
}
.ci-book h2 {
font-size: 7.9375mm; /* 22.5pt; */ /* 30px; */
}
.ci-book h3 {
font-size: 6.879167mm; /* 19.5pt; */ /* 26px; */
}
.ci-book .ci-book-header .ci-book-header-title,
.ci-book table thead tr:first-child:nth-last-child(2) th,
.ci-book table thead tr:first-child:nth-last-child(2) td {
font-size: 6.35mm; /* 18pt; */ /* 24px; */
}
.ci-book div.ci-book-box-offer span,
.ci-book div.ci-book-box-offer-milestone span {
font-size: 5.820833mm; /* 16.5pt; */ /* 22px */
}
.ci-book div.ci-book-box-offer *,
.ci-book div.ci-book-box-offer-milestone * {
font-size: 4.7625mm; /* 13.5pt; */ /* 18px; */
/* font-size: 5.820833mm; 16.5pt; */ /* 22px */
}
.ci-book-ci-book-table-of-content li,
.ci-book h4,
.ci-book h5,
.ci-book h6,
.ci-book span,
.ci-book p,
.ci-book a,
.ci-book li,
.ci-book p,
.ci-book pre {
font-size: 5.29167mm; /* 15pt; */ /* 20px; */
}
.ci-book .ci-book-img + span,
.ci-book caption,
.ci-book table thead th,
.ci-book table thead td,
.ci-book table tbody td,
.ci-book table tbody td span,
.ci-book table tbody td p,
.ci-book table tbody td li,
.ci-book table tbody td em,
.ci-book table tbody td strong,
.ci-book table tbody td a,
.ci-book table tbody td em,
.ci-book pre code {
font-size: 4.7625mm; /* 13.5pt; */ /* 18px; */
}
.ci-book .ci-book-header td:last-child div {
font-size: 4.7625mm; /* 13.5pt; */ /* 18px; */
}
.ci-book .ci-book-header .ci-book-header-subtitle,
.ci-book .ci-book-header .ci-book-header-value,
.ci-book .ci-book-header .ci-book-header-key {
font-size: 4.4979167mm; /* 12.75pt; */ /* 17px; */
}
.ci-book .ci-book-footer .ci-book-footer-copy,
.ci-book .ci-book-footer span {
font-size: 4.23333mm; /* 12pt; */ /* 16px; */
}
.ci-book table tbody tr td ul li:before,
.ci-book .ci-book-box-offer div,
.ci-book .ci-book-box-offer-line div,
.ci-book .ci-book-box-offer-milestone div,
.ci-book .ci-book-box-offer div b,
.ci-book .ci-book-box-offer-line div b,
.ci-book .ci-book-box-offer-milestone div b {
font-size: 3.704167mm; /* 10.5pt; */ /* 14px; */ /* 8px; */
}
/* === cover === */
.ci-book .ci-book-cover p.ci-book-cover-faux-h1 {
font-family: "Roboto" !important;
font-weight: bold !important;
font-size: 12.7mm; /* 36pt; */ /* 48px; */
}
.ci-book .ci-book-cover p.ci-book-cover-faux-h2 {
font-family: "Arial";
font-weight: lighter;
font-style: normal;
font-size: 12.7mm; /* 36pt; */ /* 48px; */
}
.ci-book .ci-book-cover p.ci-book-cover-description {
font-family: "Roboto";
font-weight: lighter;
font-style: italic;
font-size: 6.35mm; /* 18pt; */ /* 24px; */
}
.ci-book .ci-book-cover p.ci-book-cover-author-list span {
font-family: "Roboto";
font-weight: lighter;
font-style: normal;
font-size: 6.35mm; /* 18pt; */ /* 24px; */
}
/* === color === */
/* .ci-book a:not([href*="#"]), */
.ci-book a:not([id]),
.ci-book td i,
.ci-book a span,
.ci-book .ci-book-table table td[colspan] {
color: #1c76bb !important;
}
.ci-book * {
color: #000 !important;
}
.ci-book code {
color: #000 !important;
}
.ci-book a {
text-decoration: none;
}
/* === text align === */
/* text align */
.ci-book p {
text-align: justify;
}
.ci-book table tbody td ul {
text-align: left;
font-weight: normal;
margin: 0;
margin-left: 4pt;
padding: 0;
}
/* Chinese */
.ci-zh .ci-book p {
text-align: initial;
}
/* === page breaks === */
.ci-book h1 {
page-break-before: always;
page-break-after: avoid;
}
.ci-book .custom-force-page-break,
.ci-book .custom-resume {
page-break-before: always;
}
.ci-book h2,
.ci-book h3,
.ci-book h4,
.ci-book h5 {
page-break-after: avoid;
}
.ci-book h1 + img,
.ci-book h2 + img,
.ci-book h2 + p {
page-break-before: avoid;
}
.ci-book table,
.ci-book table caption,
.ci-book img,
.ci-book tr {
page-break-inside: avoid;
}
.ci-book img {
page-break-after: avoid;
}
.ci-book section:not(:last-child) {
page-break-after: always;
page-break-inside: always;
}
/* clear blank page after custom tables */
.ci-book table.ci-book-version-list {
page-break-after: avoid !important;
}
.ci-book tbody + caption,
.ci-book .ci-book-img + span {
page-break-inside: avoid;
page-break-before: avoid;
page-break-after: avoid;
}
.ci-book .ci-book-box-offer {
page-break-inside: avoid;
}
/* === header/footer === */
.ci-book .ci-book-header,
.ci-book .ci-book-footer {
border-collapse: collapse;
width: 100%;
table-layout: fixed;
}
.ci-book .ci-book-header {
margin-top: 0;
}
.ci-book .ci-book-header td div,
.ci-book .ci-book-header div,
.ci-book .ci-book-header .ci-book-header-sidebyside,
.ci-book .ci-book-header .ci-book-header-sidebyside-first,
.ci-book .ci-book-header .ci-book-header-sidebyside-last {
line-height: 18px;
height: 18px;
}
.ci-book .ci-book-header td,
.ci-book .ci-book-footer td {
text-align: center;
margin: 0;
vertical-align: middle;
padding: 0;
padding-bottom: 3mm;
}
.ci-book .ci-book-footer td span {
font-weight: 300;
}
.ci-book .ci-book-header td {
padding-top: 2mm;
border: 2px solid #a1a1a1;
}
/* freeze table cell widths */
.ci-book .ci-book-header td:nth-child(1),
.ci-book .ci-book-header td:nth-child(3),
.ci-book .ci-book-footer td:nth-child(2),
.ci-book .ci-book-footer td:nth-child(3) {
width: 30%;
}
.ci-book .ci-book-header td:nth-child(2),
.ci-book .ci-book-footer td:nth-child(1) {
width: 40%;
}
.ci-book .ci-book-footer td:nth-child(1) {
text-align: left;
}
.ci-book .ci-book-footer td:nth-child(3) {
text-align: right;
}
/* header title/subtitle */
.ci-book .ci-book-header .ci-book-header-title,
.ci-book .ci-book-header .ci-book-header-subtitle {
font-weight: bold;
}
.ci-book .ci-book-header .ci-book-header-title {
padding-top: 2mm;
padding-bottom: 2mm;
}
/* header image dimensions */
.ci-book .ci-book-header img {
max-height: 25mm;
max-width: 60%;
padding-top: 2mm;
text-align: center;
vertical-align: middle;
}
/* header spec section */
.ci-book .ci-book-header td:last-child {
text-align: left;
padding-left: 2mm;
}
.ci-book .ci-book-header td:last-child .ci-book-header-key {
min-width: 25%;
display: inline-block;
font-weight: 300;
}
.ci-book .ci-book-header td:last-child .ci-book-header-value {
font-weight: bold;
width: auto;
}
.ci-book .ci-book-header .ci-book-header-sidebyside-last {
display: inline-block;
width: 58%;
}
.ci-book .ci-book-header .ci-book-header-sidebyside-first {
display: inline-block;
width: 40%;
}
.ci-book .ci-book-header .ci-book-header-sidebyside-first .ci-book-header-key {
width: 62.5%;
}
.ci-book .ci-book-header td div.ci-book-header-sidebyside {
position: relative;
top: -2px;
}
.ci-book .ci-book-header td div:last-child {
padding-top: 2px;
}
.ci-book .ci-book-header td:last-child .ci-book-header-minify {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 70%;
}
.ci-book .ci-book-header td:last-child div {
vertical-align: middle;
}
.ci-book .ci-book-header div span {
line-height: 16px;
height: 16px;
display: inline-block;
vertical-align: middle;
}
.ci-book .ci-book-footer th,
.ci-book .ci-book-footer td {
border: 0 none;
}
.ci-book .ci-book-footer .ci-book-footer-copy {
padding-right: 2mm;
}
/* === document cover === */
.ci-book .ci-book-cover p {
text-align: center;
}
.ci-book .ci-book-cover .ci-book-cover-faux-h1 {
text-decoration: uppercase;
padding-top: 40%;
padding-bottom: 2%;
}
.ci-book .ci-book-cover .ci-book-cover-description {
margin: 10mm 0;
font-weight: normal;
}
.ci-book .ci-book-cover {
margin-bottom: 20%;
}
/* === tables === */
/* fix header/footer clipping content */
.ci-book thead {
display: table-header-group;
}
.ci-book tfoot {
display: table-row-group;
}
.ci-book table tr {
page-break-inside: avoid;
}
.ci-book .ci-book-table-highlight td,
.ci-book table tr[data-class='ci-book-table-highlight'] td {
background-color: #ffa07a;
}
.ci-book .ci-book-table-section td,
.ci-book table tr[data-class='ci-book-table-section'] td,
.ci-book .ci-book-table-section-depth-1 td {
background-color: #e0e0e0;
}
.ci-book .ci-book-table-section-depth-2 td {
background-color: #f5f5f5;
}
.ci-book table td[colspan] {
padding: 0;
}
.ci-book table table td[colspan] {
padding-left: 2mm;
padding-right: 2mm;
}
.ci-book .ci-book-table table {
margin-right: 0;
margin-left: auto;
border-collapse: collapse;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
vertical-align: top;
border-left-color: transparent;
border-top-color: transparent;
border-right-color: transparent;
}
.ci-book .ci-book-table table td {
text-align: left;
}
.ci-book .ci-book-table table td[rowspan] {
border-left-color: transparent;
vertical-align:top;
}
.ci-book .ci-book-table table td[rowspan],
.ci-book .ci-book-table table td[colspan] {
border-left-color: transparent;
}
.ci-book .ci-book-table table td[colspan] {
border-bottom-color: transparent;
}
.ci-book .ci-book-table table tr:nth-child(1) td {
border-top-color: transparent;
}
.ci-book .ci-book-table table tr td:last-child {
border-right-color: transparent;
}
/* multi-table headers */
.ci-book table thead {
display: table-header-group;
}
.ci-book table tfoot {
display: table-row-group;
}
.ci-book table tr {
page-break-inside: avoid;
}
/* spacing */
.ci-book table {
border-collapse: collapse;
width: 100%;
margin: 0 auto;
}
/* === table == */
.ci-book section table thead th {
vertical-align: middle;
padding-top: 2mm;
padding-bottom: 2mm;
}
.ci-book table {
width: 100%;
margin: initial;
background-color: transparent !important;
}
.ci-book table th,
.ci-book table td {
border: 1px solid #a1a1a1;
padding: 0 2mm;
text-align: center;
}
.ci-book table thead tr th p {
color: black !important;
}
.ci-book p + table td a {
display: block;
}
/* table formatting */
.ci-book table {
border-collapse: collapse;
}
.ci-book table td {
padding-left: 2mm;
word-wrap: break-word;
}
/* sigh... Fcuk Editor... backgrounds */
.ci-book table:not(.ci-book-header):not(.ci-book-footer) thead tr td,
.ci-book table:not(.ci-book-header):not(.ci-book-footer) thead tr th,
.ci-book table:not(.ci-book-header):not(.ci-book-footer) thead tr th span,
.ci-book table:not(.ci-book-header):not(.ci-book-footer) tbody tr:first-child td,
.ci-book table:not(.ci-book-header):not(.ci-book-footer) tbody tr:first-child th {
background-color: #e0e0e0;
font-weight: bold;
}
.ci-book table thead tr td,
.ci-book table thead tr th {
text-align: center;
}
.ci-book table:not(.ci-book-header):not(.ci-book-footer) thead + tbody tr:first-child td,
.ci-book table:not(.ci-book-header):not(.ci-book-footer) thead + tbody tr:first-child th {
background-color: #ffffff;
font-weight: normal;
}
.ci-book table.ci-document-page-header tbody tr td,
.ci-book table.ci-document-page-footer tbody tr td {
/* background-color: #ffffff !important; */
text-align: center;
font-weight: 100;
}
.ci-book table thead tr td,
.ci-book table thead tr th {
padding-top: 2mm;
padding-bottom: 2mm;
}
/* override header with p tags eating maring/padding */
.ci-book table thead tr td p
.ci-book table thead tr th p {
padding: 0;
margin: 0;
}
/* === list formatting === */
.ci-book ol {
list-style-position: inside;
}
.ci-book ul {
list-style: none;
list-style-position: inside;
}
.ci-book ul li {
padding-left: 16px;
text-indent: -24px;
}
.ci-book ul li:before {
content: "•";
padding-right: 16px;
margin-top: 2px;
}
/* === header auto-numbering 1.2.3.4. === */
/* table-of-content numbering (numbering x.x.x.x) */
/* faux-h1 */
.ci-book p.ci-book-toc-faux-h1 {
text-align: right;
font-weight: normal;
padding-top: 10mm;
margin-bottom: 25%;
padding-right: 2mm;
font-size: 12.7mm; /* 36pt; */ /* 48px; */
}
.ci-book .ci-book-table-of-content + ol,
.ci-book .ci-book-table-of-content + ol ol {
counter-reset: item;
list-style: none;
margin: 0;
}
.ci-book .ci-book-table-of-content + ol > li,
.ci-book .ci-book-table-of-content + ol ol > li {
counter-increment: item;
}
.ci-book .ci-book-table-of-content + ol > li:before,
.ci-book .ci-book-table-of-content + ol ol > li:before {
content: counters(item, ".") ". ";
padding-right: 0.5em;
}
.ci-book .ci-book-table-of-content + ol li ol li:before {
content: counters(item, ".") " ";
}
.ci-book .ci-book-table-of-content ~ h1 ~ ol > li:before,
.ci-book .ci-book-table-of-content ~ h1 ~ ol ol > li:before,
.ci-book .ci-book-table-of-content ~ h2 ~ ol > li:before,
.ci-book .ci-book-table-of-content ~ h2 ~ ol ol > li:before,
.ci-book .ci-book-table-of-content ~ h3 ~ ol > li:before,
.ci-book .ci-book-table-of-content ~ h3 ~ ol ol > li:before,
.ci-book .ci-book-table-of-content ~ h4 ~ ol > li:before,
.ci-book .ci-book-table-of-content ~ h4 ~ ol ol > li:before {
counter-increment: initial;
content: none;
}
.ci-book {
counter-reset: h1;
}
.ci-book h1 {
counter-reset: h2;
}
.ci-book h2 {
counter-reset: h3;
}
.ci-book h3 {
counter-reset: h4;
}
.ci-book h4 {
counter-reset: h5;
}
.ci-book h5 {
counter-reset: h6;
}
.ci-book h1:before {
counter-increment: h1;
content: counter(h1) ". ";
}
.ci-book h2:before {
counter-increment: h2;
content: counter(h1) "." counter(h2) ". ";
}
.ci-book h3:before {
counter-increment: h3;
content: counter(h1) "." counter(h2) "." counter(h3) ". ";
}
.ci-book h4:before {
counter-increment: h4;
content: counter(h1) "." counter(h2) "." counter(h3) "." counter(h4) ". ";
}
.ci-book h5:before {
counter-increment: h5;
content: counter(h1) "." counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) ". ";
}
.ci-book h6:before {
counter-increment: h6;
content: counter(h1) "." counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) "." counter(h6) ". ";
}
.ci-book .ci-book-table-of-content ol {
text-indent: 0;
}
.ci-book .ci-book-table-of-content ol ol {
text-indent: 3em;
}
.ci-book .ci-book-table-of-content ol ol ol {
text-indent: 6em;
}
.ci-book .ci-book-table-of-content ol ol ol ol {
text-indent: 9em;
}
.ci-book .ci-book-table-of-content ol ol ol ol ol {
text-indent: 12em;
}
.ci-book .ci-book-table-of-content ol ol ol ol ol ol {
text-indent: 15em;
}
.ci-book .ci-book-table-of-content-lead-item:not(:first-child) {
padding-top: 10mm;
}
.ci-book-table-of-content ol li div {
position: relative;
overflow: hidden;
}
.ci-book-table-of-content ol li div:after {
content: "";
position: absolute;
bottom: 3px;
width: 100%;
border-bottom: 1px dotted #000;
z-index: 500;
}
.ci-book .ci-book-table-of-content ol li div {
height: 28px;
line-height: 24px;
}
.ci-book .ci-book-table-of-content ol ol li div {
height: 24px;
line-height: 20px;
}
.ci-book .ci-book-table-of-content ol li {
counter-increment: item;
}
.ci-book .ci-book-table-of-content ol li div:before {
content: counters(item, ".") ". ";
padding-right: 0.5em;
}
.ci-book .ci-book-table-of-content li ol li div:before {
content: counters(item, ".") " ";
}
.ci-book .ci-book-table-of-content {
display: block;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding-right: 10px;
}
.ci-book .ci-book-table-of-content ol {
counter-reset: item;
list-style-type: none;
margin: 0;
padding: 0;
display: block;
width: inherit;
}
.ci-book .ci-book-table-of-content li ol li {
margin: 0;
}
.ci-book .ci-book-table-of-content a {
text-decoration:none;
color: black;
}
/* === bold first parapaph and supersize first character === */
.ci-book h1 + p {
font-weight: normal; /* was bold */
min-height: 64pt;
text-indent: 0; /* prevent whole paragraph swallowing last characters */
}
.ci-book h1 + p::first-letter {
float: left;
line-height: 64pt;
/*padding: 0;*/
padding: 0 .15em .15em 0;
margin: 0;
display: inline-block;
margin-bottom: -10pt;
}
.ci-book h1 + p:after {
clear: both;
}
/* === custom margins === */
.ci-book h1 {
text-align: right;
font-weight: normal;
padding-top: 10mm;
margin-bottom: 25%;
padding-right: 2mm;
}
.ci-book h2 {
margin-top: 10mm; /* 0.67em */
}
.ci-book h3 {
margin-top: 12mm; /* 1em */
}
.ci-book h4 {
margin-top: 14mm; /* 1.33em */
}
.ci-book h5 {
margin-top: 16mm /* 1.67em */;
}
.ci-book h6 {
margin-top: 18mm /* 2.33em */;
}
.ci-book p {
margin-top: 5mm;
margin-bottom: 5mm;
}
/* === indent all paragraphs === */
.ci-book p {
text-indent: 5mm;
}
.ci-book table {
margin-top: 5mm;
margin-bottom: 5mm;
margin-left: auto;
margin-right: auto;
}
.ci-book table table {
margin-top: 0;
}
/* === image and table captions */
/* XXX caption should be inside .ci-book-img */
.ci-book .ci-book-img > img {
display: block;
margin: 0 auto 0;
padding-top: 20px;
max-width: 240mm;
}
.ci-book .ci-book-img + span {
text-align: center;
display: block;
}
.ci-book table caption {
text-align: center;
padding-top: 4mm;
padding-bottom: 5mm;
caption-side: bottom;
width: auto;
}
/* customizations */
/* editor adding <p>... */
html .ci-book table td p {
margin: 0;
padding: 0;
text-indent: 0;
}
/* === code boxes === */
.ci-book pre {
border: 1px solid #e0e0e0;
background-color: #fafafa;
padding: 6pt;
}
/* Cedric documentation exports */
.ci-book pre {
white-space: pre-line;
word-wrap: break-word;
max-width: 100%;
overflow-wrap: break-word;
}
/* === special headers === */
/* distribution list */
.ci-book .ci-book thead th {
vertical-align: middle;
padding-top: 2mm;
padding-bottom: 2mm;
}
.ci-book .ci-book-distribution-list tbody tr td ul {
vertical-align: top;
margin-left: 0;
padding-left: 0;
display: inline-block;
width: 49%;
padding-top: 5mm;
padding-bottom: 5mm;
}
.ci-book .ci-book-distribution-list tbody tr td ul li {
padding: 0;
list-style: none;
text-indent: 0;
line-height: 18pt;
text-align: left;
}
.ci-book .ci-book-distribution-list tbody tr td ul li:before {
content: "■";
padding-right: 8px;
vertical-align: middle;
}
.ci-book .ci-book-distribution-list tbody tr td ul li span,
.ci-book .ci-book-distribution-list tbody tr td ul li div {
width: 46%;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
display: inline-block;
}
.ci-book .ci-book-distribution-list tbody tr td ul li,
.ci-book .ci-book-distribution-list tbody tr td ul div,
.ci-book .ci-book-distribution-list tbody tr td ul span {
vertical-align: middle;
}
/* Version List */
/* Signature List */
.ci-book .ci-book-signature-list tbody td {
padding-top: 2mm;
padding-bottom: 5mm;
}
.ci-book .ci-book-signature-list tbody td i,
.ci-book .ci-book-signature-list tbody td em {
display: block;
text-align: left;
text-indent: 2mm;
}
/* === box items === */
/* Project Breakdown/Milestone List */
.ci-book .ci-book-box-offer,
.ci-book .ci-book-box-id,
.ci-book .ci-book-box-coverage,
.ci-book .ci-book-box-begin,
.ci-book .ci-book-box-end,
.ci-book .ci-book-box-total-duration,
.ci-book .ci-book-box-duration,
.ci-book .ci-book-box-leader,
.ci-book .ci-book-box-resources,
.ci-book .ci-book-box-location,
.ci-book .ci-book-box-result,
.ci-book .ci-book-box-offer-milestone {
}
.ci-book .ci-book-box-offer b,
.ci-book .ci-book-box-offer-milestone b,
.ci-book .ci-book-box-offer-line b {
font-weight: bold;
}
.ci-book .ci-book-box-detail {
table-layout: fixed;
}
.ci-book .ci-book-box-offer,
.ci-book .ci-book-box-offer-line,
.ci-book .ci-book-box-offer-milestone {
border: 1px solid #a1a1a1;
padding: 2px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-box-shadow: 10px 10px 0 #a1a1a1;
-moz-box-shadow: 10px 10px 0 #a1a1a1;
box-shadow: 10px 10px 0 #a1a1a1;
background-color: #fff;
}
.ci-book .ci-book-box-coverage {
display: inline-block;
vertical-align: top;
width: 66%;
}
.ci-book .ci-book-box-location,
.ci-book .ci-book-box-resources,
.ci-book .ci-book-box-leader {
display: inline-block;
vertical-align: top;
width: 33%;
}
.ci-book .ci-book-box-begin,
.ci-book .ci-book-box-end {
display: inline-block;
vertical-align: top;
width: 33%;
}
.ci-book .ci-book-box-id {
display: inline-block;
vertical-align: top;
width: 33%;
}
.ci-book .ci-book-box-duration {
display: inline-block;
vertical-align: top;
width: 33%;
}
.ci-book .ci-book-box-end + .ci-book-box-resources {
margin-left: 20%;
}
.ci-book .ci-book-box-end + .ci-book-box-resources {
margin-left: 20%;
}
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>book.css</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* === font-size === */
.ci-book h1 + p::first-letter {
font-size: 21.1667mm; /* 60pt; */ /* 80px; */
}
.ci-book h1 {
font-size: 12.7mm; /* 36pt; */ /* 48px; */
}
.ci-book h2 {
font-size: 7.9375mm; /* 22.5pt; */ /* 30px; */
}
.ci-book h3 {
font-size: 6.879167mm; /* 19.5pt; */ /* 26px; */
}
.ci-book .ci-book-header .ci-book-header-title,
.ci-book table thead tr:first-child:nth-last-child(2) th,
.ci-book table thead tr:first-child:nth-last-child(2) td {
font-size: 6.35mm; /* 18pt; */ /* 24px; */
}
.ci-book div.ci-book-box-offer span,
.ci-book div.ci-book-box-offer-milestone span {
font-size: 5.820833mm; /* 16.5pt; */ /* 22px */
}
.ci-book div.ci-book-box-offer *,
.ci-book div.ci-book-box-offer-milestone * {
font-size: 4.7625mm; /* 13.5pt; */ /* 18px; */
/* font-size: 5.820833mm; 16.5pt; */ /* 22px */
}
.ci-book-ci-book-table-of-content li,
.ci-book h4,
.ci-book h5,
.ci-book h6,
.ci-book span,
.ci-book p,
.ci-book a,
.ci-book li,
.ci-book p,
.ci-book pre {
font-size: 5.29167mm; /* 15pt; */ /* 20px; */
}
.ci-book .ci-book-img + span,
.ci-book caption,
.ci-book table thead th,
.ci-book table thead td,
.ci-book table tbody td,
.ci-book table tbody td span,
.ci-book table tbody td p,
.ci-book table tbody td li,
.ci-book table tbody td em,
.ci-book table tbody td strong,
.ci-book table tbody td a,
.ci-book table tbody td em,
.ci-book pre code {
font-size: 4.7625mm; /* 13.5pt; */ /* 18px; */
}
.ci-book .ci-book-header td:last-child div {
font-size: 4.7625mm; /* 13.5pt; */ /* 18px; */
}
.ci-book .ci-book-header .ci-book-header-subtitle,
.ci-book .ci-book-header .ci-book-header-value,
.ci-book .ci-book-header .ci-book-header-key {
font-size: 4.4979167mm; /* 12.75pt; */ /* 17px; */
}
.ci-book .ci-book-footer .ci-book-footer-copy,
.ci-book .ci-book-footer span {
font-size: 4.23333mm; /* 12pt; */ /* 16px; */
}
.ci-book table tbody tr td ul li:before,
.ci-book .ci-book-box-offer div,
.ci-book .ci-book-box-offer-line div,
.ci-book .ci-book-box-offer-milestone div,
.ci-book .ci-book-box-offer div b,
.ci-book .ci-book-box-offer-line div b,
.ci-book .ci-book-box-offer-milestone div b {
font-size: 3.704167mm; /* 10.5pt; */ /* 14px; */ /* 8px; */
}
/* === cover === */
.ci-book .ci-book-cover p.ci-book-cover-faux-h1 {
font-family: "Roboto" !important;
font-weight: bold !important;
font-size: 12.7mm; /* 36pt; */ /* 48px; */
}
.ci-book .ci-book-cover p.ci-book-cover-faux-h2 {
font-family: "Arial";
font-weight: lighter;
font-style: normal;
font-size: 12.7mm; /* 36pt; */ /* 48px; */
}
.ci-book .ci-book-cover p.ci-book-cover-description {
font-family: "Roboto";
font-weight: lighter;
font-style: italic;
font-size: 6.35mm; /* 18pt; */ /* 24px; */
}
.ci-book .ci-book-cover p.ci-book-cover-author-list span {
font-family: "Roboto";
font-weight: lighter;
font-style: normal;
font-size: 6.35mm; /* 18pt; */ /* 24px; */
}
/* === color === */
/* .ci-book a:not([href*="#"]), */
.ci-book a:not([id]),
.ci-book td i,
.ci-book a span,
.ci-book .ci-book-table table td[colspan] {
color: #1c76bb !important;
}
.ci-book * {
color: #000 !important;
}
.ci-book code {
color: #000 !important;
}
.ci-book a {
text-decoration: none;
}
/* === text align === */
/* text align */
.ci-book p {
text-align: justify;
}
.ci-book table tbody td ul {
text-align: left;
font-weight: normal;
margin: 0;
margin-left: 4pt;
padding: 0;
}
/* Chinese */
.ci-zh .ci-book p {
text-align: initial;
}
/* === page breaks === */
.ci-book h1 {
page-break-before: always;
page-break-after: avoid;
}
.ci-book .custom-force-page-break,
.ci-book .custom-resume {
page-break-before: always;
}
.ci-book h2,
.ci-book h3,
.ci-book h4,
.ci-book h5 {
page-break-after: avoid;
}
.ci-book h1 + img,
.ci-book h2 + img,
.ci-book h2 + p {
page-break-before: avoid;
}
.ci-book table,
.ci-book table caption,
.ci-book img,
.ci-book tr {
page-break-inside: avoid;
}
.ci-book img {
page-break-after: avoid;
}
.ci-book section:not(:last-child) {
page-break-after: always;
page-break-inside: always;
}
/* clear blank page after custom tables */
.ci-book table.ci-book-version-list {
page-break-after: avoid !important;
}
.ci-book tbody + caption,
.ci-book .ci-book-img + span {
page-break-inside: avoid;
page-break-before: avoid;
page-break-after: avoid;
}
.ci-book .ci-book-box-offer {
page-break-inside: avoid;
}
/* === header/footer === */
.ci-book .ci-book-header,
.ci-book .ci-book-footer {
border-collapse: collapse;
width: 100%;
table-layout: fixed;
}
.ci-book .ci-book-header {
margin-top: 0;
}
.ci-book .ci-book-header td div,
.ci-book .ci-book-header div,
.ci-book .ci-book-header .ci-book-header-sidebyside,
.ci-book .ci-book-header .ci-book-header-sidebyside-first,
.ci-book .ci-book-header .ci-book-header-sidebyside-last {
line-height: 18px;
height: 18px;
}
.ci-book .ci-book-header td,
.ci-book .ci-book-footer td {
text-align: center;
margin: 0;
vertical-align: middle;
padding: 0;
padding-bottom: 3mm;
}
.ci-book .ci-book-footer td span {
font-weight: 300;
}
.ci-book .ci-book-header td {
padding-top: 2mm;
border: 2px solid #a1a1a1;
}
/* freeze table cell widths */
.ci-book .ci-book-header td:nth-child(1),
.ci-book .ci-book-header td:nth-child(3),
.ci-book .ci-book-footer td:nth-child(2),
.ci-book .ci-book-footer td:nth-child(3) {
width: 30%;
}
.ci-book .ci-book-header td:nth-child(2),
.ci-book .ci-book-footer td:nth-child(1) {
width: 40%;
}
.ci-book .ci-book-footer td:nth-child(1) {
text-align: left;
}
.ci-book .ci-book-footer td:nth-child(3) {
text-align: right;
}
/* header title/subtitle */
.ci-book .ci-book-header .ci-book-header-title,
.ci-book .ci-book-header .ci-book-header-subtitle {
font-weight: bold;
}
.ci-book .ci-book-header .ci-book-header-title {
padding-top: 2mm;
padding-bottom: 2mm;
}
/* header image dimensions */
.ci-book .ci-book-header img {
max-height: 25mm;
max-width: 60%;
padding-top: 2mm;
text-align: center;
vertical-align: middle;
}
/* header spec section */
.ci-book .ci-book-header td:last-child {
text-align: left;
padding-left: 2mm;
}
.ci-book .ci-book-header td:last-child .ci-book-header-key {
min-width: 25%;
display: inline-block;
font-weight: 300;
}
.ci-book .ci-book-header td:last-child .ci-book-header-value {
font-weight: bold;
width: auto;
}
.ci-book .ci-book-header .ci-book-header-sidebyside-last {
display: inline-block;
width: 58%;
}
.ci-book .ci-book-header .ci-book-header-sidebyside-first {
display: inline-block;
width: 40%;
}
.ci-book .ci-book-header .ci-book-header-sidebyside-first .ci-book-header-key {
width: 62.5%;
}
.ci-book .ci-book-header td div.ci-book-header-sidebyside {
position: relative;
top: -2px;
}
.ci-book .ci-book-header td div:last-child {
padding-top: 2px;
}
.ci-book .ci-book-header td:last-child .ci-book-header-minify {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 70%;
}
.ci-book .ci-book-header td:last-child div {
vertical-align: middle;
}
.ci-book .ci-book-header div span {
line-height: 16px;
height: 16px;
display: inline-block;
vertical-align: middle;
}
.ci-book .ci-book-footer th,
.ci-book .ci-book-footer td {
border: 0 none;
}
.ci-book .ci-book-footer .ci-book-footer-copy {
padding-right: 2mm;
}
/* === document cover === */
.ci-book .ci-book-cover p {
text-align: center;
}
.ci-book .ci-book-cover .ci-book-cover-faux-h1 {
text-decoration: uppercase;
padding-top: 40%;
padding-bottom: 2%;
}
.ci-book .ci-book-cover .ci-book-cover-description {
margin: 10mm 0;
font-weight: normal;
}
.ci-book .ci-book-cover {
margin-bottom: 20%;
}
/* === tables === */
/* fix header/footer clipping content */
.ci-book thead {
display: table-header-group;
}
.ci-book tfoot {
display: table-row-group;
}
.ci-book table tr {
page-break-inside: avoid;
}
.ci-book .ci-book-table-highlight td,
.ci-book table tr[data-class='ci-book-table-highlight'] td {
background-color: #ffa07a;
}
.ci-book .ci-book-table-section td,
.ci-book table tr[data-class='ci-book-table-section'] td,
.ci-book .ci-book-table-section-depth-1 td {
background-color: #e0e0e0;
}
.ci-book .ci-book-table-section-depth-2 td {
background-color: #f5f5f5;
}
.ci-book table td[colspan] {
padding: 0;
}
.ci-book table table td[colspan] {
padding-left: 2mm;
padding-right: 2mm;
}
.ci-book .ci-book-table table {
margin-right: 0;
margin-left: auto;
border-collapse: collapse;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
vertical-align: top;
border-left-color: transparent;
border-top-color: transparent;
border-right-color: transparent;
}
.ci-book .ci-book-table table td {
text-align: left;
}
.ci-book .ci-book-table table td[rowspan] {
border-left-color: transparent;
vertical-align:top;
}
.ci-book .ci-book-table table td[rowspan],
.ci-book .ci-book-table table td[colspan] {
border-left-color: transparent;
}
.ci-book .ci-book-table table td[colspan] {
border-bottom-color: transparent;
}
.ci-book .ci-book-table table tr:nth-child(1) td {
border-top-color: transparent;
}
.ci-book .ci-book-table table tr td:last-child {
border-right-color: transparent;
}
/* multi-table headers */
.ci-book table thead {
display: table-header-group;
}
.ci-book table tfoot {
display: table-row-group;
}
.ci-book table tr {
page-break-inside: avoid;
}
/* spacing */
.ci-book table {
border-collapse: collapse;
width: 100%;
margin: 0 auto;
}
/* === table == */
.ci-book section table thead th {
vertical-align: middle;
padding-top: 2mm;
padding-bottom: 2mm;
}
.ci-book table {
width: 100%;
margin: initial;
background-color: transparent !important;
}
.ci-book table th,
.ci-book table td {
border: 1px solid #a1a1a1;
padding: 0 2mm;
text-align: center;
}
.ci-book table thead tr th p {
color: black !important;
}
.ci-book p + table td a {
display: block;
}
/* table formatting */
.ci-book table {
border-collapse: collapse;
}
.ci-book table td {
padding-left: 2mm;
word-wrap: break-word;
}
/* sigh... Fcuk Editor... backgrounds */
.ci-book table:not(.ci-book-header):not(.ci-book-footer) thead tr td,
.ci-book table:not(.ci-book-header):not(.ci-book-footer) thead tr th,
.ci-book table:not(.ci-book-header):not(.ci-book-footer) thead tr th span,
.ci-book table:not(.ci-book-header):not(.ci-book-footer) tbody tr:first-child td,
.ci-book table:not(.ci-book-header):not(.ci-book-footer) tbody tr:first-child th {
background-color: #e0e0e0;
font-weight: bold;
}
.ci-book table thead tr td,
.ci-book table thead tr th {
text-align: center;
}
.ci-book table:not(.ci-book-header):not(.ci-book-footer) thead + tbody tr:first-child td,
.ci-book table:not(.ci-book-header):not(.ci-book-footer) thead + tbody tr:first-child th {
background-color: #ffffff;
font-weight: normal;
}
.ci-book table.ci-document-page-header tbody tr td,
.ci-book table.ci-document-page-footer tbody tr td {
/* background-color: #ffffff !important; */
text-align: center;
font-weight: 100;
}
.ci-book table thead tr td,
.ci-book table thead tr th {
padding-top: 2mm;
padding-bottom: 2mm;
}
/* override header with p tags eating maring/padding */
.ci-book table thead tr td p
.ci-book table thead tr th p {
padding: 0;
margin: 0;
}
/* === list formatting === */
.ci-book ol {
list-style-position: inside;
}
.ci-book ul {
list-style: none;
list-style-position: inside;
}
.ci-book ul li {
padding-left: 16px;
text-indent: -24px;
}
.ci-book ul li:before {
content: "•";
padding-right: 16px;
margin-top: 2px;
}
/* === header auto-numbering 1.2.3.4. === */
/* table-of-content numbering (numbering x.x.x.x) */
/* faux-h1 */
.ci-book p.ci-book-toc-faux-h1 {
text-align: right;
font-weight: normal;
padding-top: 10mm;
margin-bottom: 25%;
padding-right: 2mm;
font-size: 12.7mm; /* 36pt; */ /* 48px; */
}
.ci-book .ci-book-table-of-content + ol,
.ci-book .ci-book-table-of-content + ol ol {
counter-reset: item;
list-style: none;
margin: 0;
}
.ci-book .ci-book-table-of-content + ol > li,
.ci-book .ci-book-table-of-content + ol ol > li {
counter-increment: item;
}
.ci-book .ci-book-table-of-content + ol > li:before,
.ci-book .ci-book-table-of-content + ol ol > li:before {
content: counters(item, ".") ". ";
padding-right: 0.5em;
}
.ci-book .ci-book-table-of-content + ol li ol li:before {
content: counters(item, ".") " ";
}
.ci-book .ci-book-table-of-content ~ h1 ~ ol > li:before,
.ci-book .ci-book-table-of-content ~ h1 ~ ol ol > li:before,
.ci-book .ci-book-table-of-content ~ h2 ~ ol > li:before,
.ci-book .ci-book-table-of-content ~ h2 ~ ol ol > li:before,
.ci-book .ci-book-table-of-content ~ h3 ~ ol > li:before,
.ci-book .ci-book-table-of-content ~ h3 ~ ol ol > li:before,
.ci-book .ci-book-table-of-content ~ h4 ~ ol > li:before,
.ci-book .ci-book-table-of-content ~ h4 ~ ol ol > li:before {
counter-increment: initial;
content: none;
}
.ci-book {
counter-reset: h1;
}
.ci-book h1 {
counter-reset: h2;
}
.ci-book h2 {
counter-reset: h3;
}
.ci-book h3 {
counter-reset: h4;
}
.ci-book h4 {
counter-reset: h5;
}
.ci-book h5 {
counter-reset: h6;
}
.ci-book h1:before {
counter-increment: h1;
content: counter(h1) ". ";
}
.ci-book h2:before {
counter-increment: h2;
content: counter(h1) "." counter(h2) ". ";
}
.ci-book h3:before {
counter-increment: h3;
content: counter(h1) "." counter(h2) "." counter(h3) ". ";
}
.ci-book h4:before {
counter-increment: h4;
content: counter(h1) "." counter(h2) "." counter(h3) "." counter(h4) ". ";
}
.ci-book h5:before {
counter-increment: h5;
content: counter(h1) "." counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) ". ";
}
.ci-book h6:before {
counter-increment: h6;
content: counter(h1) "." counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) "." counter(h6) ". ";
}
.ci-book .ci-book-table-of-content ol {
text-indent: 0;
}
.ci-book .ci-book-table-of-content ol ol {
text-indent: 3em;
}
.ci-book .ci-book-table-of-content ol ol ol {
text-indent: 6em;
}
.ci-book .ci-book-table-of-content ol ol ol ol {
text-indent: 9em;
}
.ci-book .ci-book-table-of-content ol ol ol ol ol {
text-indent: 12em;
}
.ci-book .ci-book-table-of-content ol ol ol ol ol ol {
text-indent: 15em;
}
.ci-book .ci-book-table-of-content-lead-item:not(:first-child) {
padding-top: 10mm;
}
.ci-book-table-of-content ol li div {
position: relative;
overflow: hidden;
}
.ci-book-table-of-content ol li div:after {
content: "";
position: absolute;
bottom: 3px;
width: 100%;
border-bottom: 1px dotted #000;
z-index: 500;
}
.ci-book .ci-book-table-of-content ol li div {
height: 28px;
line-height: 24px;
}
.ci-book .ci-book-table-of-content ol ol li div {
height: 24px;
line-height: 20px;
}
.ci-book .ci-book-table-of-content ol li {
counter-increment: item;
}
.ci-book .ci-book-table-of-content ol li div:before {
content: counters(item, ".") ". ";
padding-right: 0.5em;
}
.ci-book .ci-book-table-of-content li ol li div:before {
content: counters(item, ".") " ";
}
.ci-book .ci-book-table-of-content {
display: block;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding-right: 10px;
}
.ci-book .ci-book-table-of-content ol {
counter-reset: item;
list-style-type: none;
margin: 0;
padding: 0;
display: block;
width: inherit;
}
.ci-book .ci-book-table-of-content li ol li {
margin: 0;
}
.ci-book .ci-book-table-of-content a {
text-decoration:none;
color: black;
}
/* === bold first parapaph and supersize first character === */
.ci-book h1 + p {
font-weight: normal; /* was bold */
min-height: 64pt;
text-indent: 0; /* prevent whole paragraph swallowing last characters */
}
.ci-book h1 + p::first-letter {
float: left;
line-height: 64pt;
/*padding: 0;*/
padding: 0 .15em .15em 0;
margin: 0;
display: inline-block;
margin-bottom: -10pt;
}
.ci-book h1 + p:after {
clear: both;
}
/* === custom margins === */
.ci-book h1 {
text-align: right;
font-weight: normal;
padding-top: 10mm;
margin-bottom: 25%;
padding-right: 2mm;
}
.ci-book h2 {
margin-top: 10mm; /* 0.67em */
}
.ci-book h3 {
margin-top: 12mm; /* 1em */
}
.ci-book h4 {
margin-top: 14mm; /* 1.33em */
}
.ci-book h5 {
margin-top: 16mm /* 1.67em */;
}
.ci-book h6 {
margin-top: 18mm /* 2.33em */;
}
.ci-book p {
margin-top: 5mm;
margin-bottom: 5mm;
}
/* === indent all paragraphs === */
.ci-book p {
text-indent: 5mm;
}
.ci-book table {
margin-top: 5mm;
margin-bottom: 5mm;
margin-left: auto;
margin-right: auto;
}
.ci-book table table {
margin-top: 0;
}
/* === image and table captions */
/* XXX caption should be inside .ci-book-img */
.ci-book .ci-book-img > img {
display: block;
margin: 0 auto 0;
padding-top: 20px;
max-width: 240mm;
}
.ci-book .ci-book-img + span {
text-align: center;
display: block;
}
.ci-book table caption {
text-align: center;
padding-top: 4mm;
padding-bottom: 5mm;
caption-side: bottom;
width: auto;
}
/* customizations */
/* editor adding <p>... */
html .ci-book table td p {
margin: 0;
padding: 0;
text-indent: 0;
}
/* === code boxes === */
.ci-book pre {
border: 1px solid #e0e0e0;
background-color: #fafafa;
padding: 6pt;
}
/* Cedric documentation exports */
.ci-book pre {
white-space: pre-line;
word-wrap: break-word;
max-width: 100%;
overflow-wrap: break-word;
}
/* === special headers === */
/* distribution list */
.ci-book .ci-book thead th {
vertical-align: middle;
padding-top: 2mm;
padding-bottom: 2mm;
}
.ci-book .ci-book-distribution-list tbody tr td ul {
vertical-align: top;
margin-left: 0;
padding-left: 0;
display: inline-block;
width: 49%;
padding-top: 5mm;
padding-bottom: 5mm;
}
.ci-book .ci-book-distribution-list tbody tr td ul li {
padding: 0;
list-style: none;
text-indent: 0;
line-height: 18pt;
text-align: left;
}
.ci-book .ci-book-distribution-list tbody tr td ul li:before {
content: "■";
padding-right: 8px;
vertical-align: middle;
}
.ci-book .ci-book-distribution-list tbody tr td ul li span,
.ci-book .ci-book-distribution-list tbody tr td ul li div {
width: 46%;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
display: inline-block;
}
.ci-book .ci-book-distribution-list tbody tr td ul li,
.ci-book .ci-book-distribution-list tbody tr td ul div,
.ci-book .ci-book-distribution-list tbody tr td ul span {
vertical-align: middle;
}
/* Version List */
/* Signature List */
.ci-book .ci-book-signature-list tbody td {
padding-top: 2mm;
padding-bottom: 5mm;
}
.ci-book .ci-book-signature-list tbody td i,
.ci-book .ci-book-signature-list tbody td em {
display: block;
text-align: left;
text-indent: 2mm;
}
/* === box items === */
/* Project Breakdown/Milestone List */
.ci-book .ci-book-box-offer,
.ci-book .ci-book-box-id,
.ci-book .ci-book-box-coverage,
.ci-book .ci-book-box-begin,
.ci-book .ci-book-box-end,
.ci-book .ci-book-box-total-duration,
.ci-book .ci-book-box-duration,
.ci-book .ci-book-box-leader,
.ci-book .ci-book-box-resources,
.ci-book .ci-book-box-location,
.ci-book .ci-book-box-result,
.ci-book .ci-book-box-offer-milestone {
}
.ci-book .ci-book-box-offer b,
.ci-book .ci-book-box-offer-milestone b,
.ci-book .ci-book-box-offer-line b {
font-weight: bold;
}
.ci-book .ci-book-box-detail {
table-layout: fixed;
}
.ci-book .ci-book-box-offer,
.ci-book .ci-book-box-offer-line,
.ci-book .ci-book-box-offer-milestone {
border: 1px solid #a1a1a1;
padding: 2px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-box-shadow: 10px 10px 0 #a1a1a1;
-moz-box-shadow: 10px 10px 0 #a1a1a1;
box-shadow: 10px 10px 0 #a1a1a1;
background-color: #fff;
}
.ci-book .ci-book-box-coverage {
display: inline-block;
vertical-align: top;
width: 66%;
}
.ci-book .ci-book-box-location,
.ci-book .ci-book-box-resources,
.ci-book .ci-book-box-leader {
display: inline-block;
vertical-align: top;
width: 33%;
}
.ci-book .ci-book-box-begin,
.ci-book .ci-book-box-end {
display: inline-block;
vertical-align: top;
width: 33%;
}
.ci-book .ci-book-box-id {
display: inline-block;
vertical-align: top;
width: 33%;
}
.ci-book .ci-book-box-duration {
display: inline-block;
vertical-align: top;
width: 33%;
}
.ci-book .ci-book-box-end + .ci-book-box-resources {
margin-left: 20%;
}
.ci-book .ci-book-box-end + .ci-book-box-resources {
margin-left: 20%;
}
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>book.pdf.css</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -34,7 +34,6 @@ import functools
import cStringIO
import math
import re
import base64
host_url = r"https?://localhost(?::[0-9]+)?/[^/]+/"
test_url = "https://softinst73908.host.vifib.net/"
......@@ -105,6 +104,8 @@ class TestCorporateIdentityTemplates(ERP5TypeTestCase):
self.message_catalog.message_edit('VAT ID', 'de', 'USt-ID', '')
self.message_catalog.gettext('Data Sheet', add=1)
self.message_catalog.message_edit('Data Sheet', 'de', 'Datenblatt', '')
self.message_catalog.gettext('Table Of Contents', add=1)
self.message_catalog.message_edit('Table Of Contents', 'de', 'Inhaltsverzeichnis', '')
# Activating a system preference if none is activated
for preference in self.portal.portal_catalog(portal_type="System Preference"):
......@@ -234,7 +235,6 @@ class TestCorporateIdentityTemplates(ERP5TypeTestCase):
html = getattr(test_page, kw.get("test_method"))(portal_skin=kw.get("use_skin"), **kw)
html = re.sub(host_url, test_url, html)
#html = html.replace(test_page.getReference(), expected_page.getReference())
# update html test files or run tests
if dump:
......@@ -469,10 +469,10 @@ class TestCorporateIdentityTemplates(ERP5TypeTestCase):
# """
# self.runPdfTestPattern(
# "template_test_slideshow_input_002_en_html",
# "template_test_slideshow_input_slide_4_003_en_bmp",
# ["template_test_slideshow_input_slide_4_003_en_bmp"],
# "template_test_slideshow_input_003_en_pdf",
# **dict(
# page_number=4,
# page_number=[4],
# override_source_organisation_title="Couscous",
# override_logo_reference="Template.Test.Image.Erp5.Logo",
# use_skin="Slide",
......@@ -878,3 +878,232 @@ class TestCorporateIdentityTemplates(ERP5TypeTestCase):
use_skin="Leaflet"
)
)
@changeSkin('Book')
def test_htmlBook(self):
"""
Test:
- Web Page as Book
- without table of content
- export as html
"""
self.runHtmlTestPattern(
"template_test_book_input_001_en_html",
"template_test_book_output_expected_001_en_html",
**dict(
use_skin="Book",
test_method="WebPage_exportAsBook",
include_content_table=0
)
)
@changeSkin('Book')
def testhtmlBookAllOptions(self):
"""
Test:
- Web Page as Book
- with all tables and all override info set
- export as html
"""
self.runHtmlTestPattern(
"template_test_book_input_001_en_html",
"template_test_book_output_expected_002_en_html",
**dict(
use_skin="Book",
test_method="WebPage_exportAsBook",
include_history_table=1,
include_content_table=1,
include_reference_table=1,
include_linked_content=1,
include_report_content=1,
override_document_description="foobar",
override_document_title="Couscous",
override_document_short_title="Cous",
override_document_reference="P-XYZ-Foobar",
override_logo_reference="Template.Test.Image.Erp5.Logo",
override_source_organisation_title="Test Organisation",
override_source_person_title="Test Sender",
override_document_version="333"
)
)
@changeSkin('Book')
def test_htmlBookTranslation(self):
"""
Test:
- Web Page as Book
- with table of content in German (header)
- export as html
"""
self.runHtmlTestPattern(
"template_test_book_input_002_de_html",
"template_test_book_output_expected_003_de_html",
**dict(
use_skin="Book",
test_method="WebPage_exportAsBook"
)
)
@changeSkin('Book')
def test_pdfBook(self):
"""
Test:
- Web Page as Book
- without table of content
- export as pdf
"""
self.runPdfTestPattern(
"template_test_book_input_001_en_html",
"template_test_book_input_page_4_001_en_bmp",
"template_test_book_input_001_en_pdf",
**dict(
page_number=4,
use_skin="Book",
test_method="WebPage_exportAsBook",
format="pdf"
)
)
# XXX change to a single pdf from which pics are generated!
@changeSkin('Book')
def testpdfBookAllOptions(self):
"""
Test:
- Web Page as Book
- with all tables and all override info set
- export as pdf
"""
self.runPdfTestPattern(
"template_test_book_input_001_en_html",
"template_test_book_input_page_4_002_en_bmp",
"template_test_book_input_001_en_pdf",
**dict(
page_number=4,
format="pdf",
use_skin="Book",
test_method="WebPage_exportAsBook",
include_history_table=1,
include_content_table=1,
include_reference_table=1,
include_linked_content=1,
include_report_content=1,
override_document_description="foobar",
override_document_title="Couscous",
override_document_short_title="Cous",
override_document_reference="P-XYZ-Foobar",
override_logo_reference="Template.Test.Image.Erp5.Logo",
override_source_organisation_title="Test Organisation",
override_source_person_title="Test Sender",
override_document_version="333"
)
)
# duplicate, just for page 5
@changeSkin('Book')
def testpdfBookAllOptionsDupe(self):
"""
Test:
- Web Page as Book
- with all tables and all override info set
- export as pdf
"""
self.runPdfTestPattern(
"template_test_book_input_001_en_html",
"template_test_book_input_page_5_002_en_bmp",
"template_test_book_input_001_en_pdf",
**dict(
page_number=5,
format="pdf",
use_skin="Book",
test_method="WebPage_exportAsBook",
include_history_table=1,
include_content_table=1,
include_reference_table=1,
include_linked_content=1,
include_report_content=1,
override_document_description="foobar",
override_document_title="Couscous",
override_document_short_title="Cous",
override_document_reference="P-XYZ-Foobar",
override_logo_reference="Template.Test.Image.Erp5.Logo",
override_source_organisation_title="Test Organisation",
override_source_person_title="Test Sender",
override_document_version="333"
)
)
# duplicate, just for page 9
@changeSkin('Book')
def testpdfBookAllOptionsDoubleDupe(self):
"""
Test:
- Web Page as Book
- with all tables and all override info set
- export as pdf
"""
self.runPdfTestPattern(
"template_test_book_input_001_en_html",
"template_test_book_input_page_9_002_en_bmp",
"template_test_book_input_001_en_pdf",
**dict(
page_number=9,
format="pdf",
use_skin="Book",
test_method="WebPage_exportAsBook",
include_history_table=1,
include_content_table=1,
include_reference_table=1,
include_linked_content=1,
include_report_content=1,
override_document_description="foobar",
override_document_title="Couscous",
override_document_short_title="Cous",
override_document_reference="P-XYZ-Foobar",
override_logo_reference="Template.Test.Image.Erp5.Logo",
override_source_organisation_title="Test Organisation",
override_source_person_title="Test Sender",
override_document_version="333"
)
)
@changeSkin('Book')
def test_PdfBookTranslation(self):
"""
Test:
- Web Page as Book
- with table of content with German (header)
- export as pdf
"""
self.runPdfTestPattern(
"template_test_book_input_002_de_html",
"template_test_book_input_page_1_003_de_bmp",
"template_test_book_input_001_en_pdf",
**dict(
use_skin="Book",
test_method="WebPage_exportAsBook",
page_number=1,
format="pdf"
)
)
@changeSkin('Book')
def test_pdfBookPrint(self):
"""
Test:
- Web Page as Book
- with table of content with German header
- print as pdf (will also return the pdf-file with different header)
"""
self.runPdfTestPattern(
"template_test_book_input_002_de_html",
"template_test_book_input_page_1_003_de_bmp",
"template_test_book_input_001_en_pdf",
**dict(
use_skin="Book",
test_method="WebPage_printAsBook",
page_number=1,
format="pdf"
)
)
\ No newline at end of file
......@@ -43,9 +43,7 @@
<item>
<key> <string>text_content_warning_message</string> </key>
<value>
<tuple>
<string>W: 37, 0: Unused import base64 (unused-import)</string>
</tuple>
<tuple/>
</value>
</item>
<item>
......
erp5_corporate_identity_book | Book
erp5_corporate_identity_book | Report
erp5_corporate_identity_leaflet | Leaflet
erp5_corporate_identity_letter | Letter
erp5_corporate_identity_slide | Slide
\ No newline at end of file
erp5_corporate_identity
erp5_corporate_identity_book
erp5_corporate_identity_leaflet
erp5_corporate_identity_letter
erp5_corporate_identity_slide
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment