Commit 34d1e4cc authored by Sven Franck's avatar Sven Franck

erp5_corporate_identity: add press release template

parent 0758d594
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_exchange</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_exchange</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Generate a press release from the current web page.</string> </value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>export_release</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>25.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Export as Press Release</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/WebPage_viewExportAsReleaseDialog</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_print</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_print</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Print the current web page as press release PDF.</string> </value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>print_release</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Action Information</string> </value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>25.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Print As Press Release</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/WebPage_viewPrintAsReleaseDialog</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<p style="text-align:center"><em>Press Release</em></p>
<p><strong>Here, There, Everywhere, November 4th, 1976</strong>. Hokuspokus Computing Solutions, and Foo today announced the general availibility of a turnkey Enterprise Cloud offering based on recertified Open Hardware Solutions (OHS) and Bar fully integrated Edge Cloud solution.</p>
<p>The hardware offering relies on building blocks of 180 dual Xeon servers. Each subsystem integrates 2880 x86 core, 11.5 TB of main memory and 180 TB of high performance, full SSD storage. Networking relies on redundant industry standard 10 Gbps Ethernet. Each building block is coming at a price of 205,000 Euros and is ready to scale to hundred thousands of cores.</p>
<p style="text-align:center">
<img src="Template.Test.Image.Map?format=png" alt="" />
</p>
<p>The software offering relies on Bar Open Source / Free Software. Bar integrates IaaS (virtualisation, nano-containers), PaaS, software defined networking, accounting, billing, provisionning, orchestration, automated disaster recovery, network resiliency and edge computing. Typical Bar monthly operating cost per building block is 4800 euro.</p>
<p>For about 1 million euros, a corporation can create it&#39;s private Cloud backbone with up to 16 000 x86 cores and full control on costs and foreign intelligence threats, something which can not be guaranteed by public cloud providers in any country.</p>
<p>Jon Doe, CEO of Foo, explains: &quot;Bar performance on big data loads has been benchmarked as four times higher than with other cloud platforms. Total monthly operating cost of a 16 GB / 2 core virtual machine is about 7 euros, which is 2 to 10 times less than current public cloud providers.&quot;</p>
<p>Jim Donahugh, CEO of Hokuspokus Computing, concludes: &quot;Open Hardware is a fast growing trend in the IT hardware industry and opens doors to new business opportunities, that leverage the main benefit of such a design approach. Customers can benefit from a more flexible infrastructure, easier to manage solutions, virtually unlimited lifetime and better disposale solutions.&quot;</p>
<p>Proposed offers comes with a full 1 year on site warranty and require a limited space of 2.5 sqm per building block.</p>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Web Page" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>Template.Press.Release</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Release summary dash separated - Release summary dash separated - max 3 items, max 2 lines</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>template_web_page_release</string> </value>
</item>
<item>
<key> <string>isIndexable</string> </key>
<value>
<object>
<klass>
<global id="1.1" name="PropertyGetter" module="Products.ERP5Type.Accessor.Constant"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>isIndexable</string> </value>
</item>
<item>
<key> <string>_id</string> </key>
<value> <string>isIndexable</string> </value>
</item>
<item>
<key> <string>value</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>isTemplate</string> </key>
<value>
<object>
<klass> <reference id="1.1"/> </klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string>isTemplate</string> </value>
</item>
<item>
<key> <string>_id</string> </key>
<value> <string>isTemplate</string> </value>
</item>
<item>
<key> <string>value</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Web Page</string> </value>
</item>
<item>
<key> <string>short_title</string> </key>
<value> <string>Subheader</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Add Press Release</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -11,6 +11,10 @@
<skin_folder>erp5_corporate_identity_letter</skin_folder>
<skin_selection>Letter</skin_selection>
</skin_folder_selection>
<skin_folder_selection>
<skin_folder>erp5_corporate_identity_release</skin_folder>
<skin_selection>Release</skin_selection>
</skin_folder_selection>
<skin_folder_selection>
<skin_folder>erp5_corporate_identity_slide</skin_folder>
<skin_selection>Slide</skin_selection>
......
......@@ -115,6 +115,7 @@ def populateOrganisationDict(my_organisation_list):
output_dict["organisation_title"] = organisation.getTitle()
output_dict["corporate_name"] = organisation.getCorporateName() or err("corporate name")
output_dict["description"] = organisation.getDescription() or err("description")
output_dict["social_capital"] = organisation.getSocialCapital() or err("social capital")
output_dict["activity_code"] = organisation.getActivityCode() or err("activitiy code")
......@@ -165,10 +166,13 @@ def populateOrganisationDict(my_organisation_list):
output_dict["bank"] = err("bank")
output_dict["iban"] = err("iban")
output_dict["bic"] = err("bic")
# XXX representatives - bad call
output_dict["representative_list"] = context.Base_getTemplateProxyParameter(parameter="representative", source_data=organisation.getUid())
result_list.append(output_dict)
return result_list
# "ERP5 Software" => erp5
# XXX "ERP5 Software" => erp5, this is by no means generic and should not be here
def getSubstringFromProduct(my_candidate, my_as_is):
software_match_string = " Software"
software_title = my_candidate.get("title") or ""
......@@ -190,6 +194,20 @@ pass_flag_site = kw.get("flag_site", None)
if pass_parameter != None and pass_source_data != None:
# ---------------------- Representative --------------------------------------
# returns [{person_dict}, {person_dict}] - used in press release
if pass_parameter == "representative":
# XXX very arbitrary and hard-coded
try:
function_category = portal_object.portal_categories.function.company.executive
return populatePersonDict(portal_object.portal_catalog(
portal_type="Person",
strict_subordination_uid=pass_source_data,
strict_function_uid=function_category.getUid()
))
except AttributeError:
pass
return []
# ---------------------- Override Person -------------------------------------
# returns [{person_dict}]
if pass_parameter == "override_person":
......@@ -244,7 +262,7 @@ if pass_parameter != None and pass_source_data != None:
return []
# -------------------- Organisation (Follow-Up) ------------------------------
# returns [{organisation_dict}] used in leaflet, letter
# returns [{organisation_dict}, {organisation_dict}, ...] used in leaflet, letter, relrase
if pass_parameter == "organisation":
return populateOrganisationDict(context.getFollowUpValueList(
portal_type=pass_parameter.title(),
......
......@@ -109,7 +109,7 @@ Creates the Letter footer section.
<span class="ci-letter-footer-title" i18n:translate="" i18n:domain="erp5_ui">Telephone</span><span tal:content="letter_source_phone"></span>
<span class="ci-letter-footer-title" i18n:translate="" i18n:domain="erp5_ui">Telefax</span><span tal:content="letter_source_fax"></span>
<span class="ci-letter-footer-title" i18n:translate="" i18n:domain="erp5_ui">Email</span><span tal:content="letter_source_mail"></span>
<span class="ci-letter-footer-title" i18n:translate="" i18n:domain="erp5_ui">Web Adress</span><span tal:content="letter_source_website"></span>
<span class="ci-letter-footer-title" i18n:translate="" i18n:domain="erp5_ui">Web Address</span><span tal:content="letter_source_website"></span>
</div>
</td>
<td>
......
<?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_createRelease</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 press release
================================================================================
"""
</tal:comment>
<tal:block tal:define="release_theme python: options.get('release_theme');
release_title python: options.get('release_title');
release_language python: options.get('release_language');
release_theme_css_font_list python: options.get('release_theme_css_font_list');
release_theme_css_url python: options.get('release_theme_css_url');
release_template_css_url python: options.get('release_template_css_url');
release_full_reference python: options.get('release_full_reference');
release_theme_logo_url python: options.get('release_theme_logo_url');
release_css python: options.get('release_css');
release_creation_year python: options.get('release_creation_year');
release_copyright python: options.get('release_copyright');
release_contributor_list python: options.get('release_contributor_list');
release_description python: options.get('release_description');
release_short_title python: options.get('release_short_title');
release_organisation python: options.get('release_organisation');
release_organisation_logo python: options.get('release_organisation_logo');
release_organisation_claim python: options.get('release_organisation_claim');
release_content python: options.get('release_content');">
<!DOCTYPE html>
<html tal:attributes="class python: ''.join(['ci-', release_theme, ' ci-', release_language])">
<head>
<meta charset="utf-8">
<title tal:content="release_title"></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<tal:block tal:repeat="font_url release_theme_css_font_list">
<link rel="stylesheet" tal:attributes="href font_url" />
</tal:block>
<link rel="stylesheet" tal:attributes="href release_theme_css_url" />
<link rel="stylesheet" tal:attributes="href release_template_css_url" />
<tal:block tal:condition="python: release_css != None">
<style type="text/css" tal:content="python: release_css"></style>
</tal:block>
<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-press-release" onload="setPlaceholdersWithUrlParameters()">
<tal:block metal:use-macro="context/WebPage_createReleaseHeader/macros/release_header" />
<tal:block metal:use-macro="context/WebPage_createReleaseContent/macros/release_content" />
<tal:block metal:use-macro="context/WebPage_createReleaseFooter/macros/release_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_createReleaseAbout</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">
"""
================================================================================
Generate press release about section
================================================================================
"""
</tal:comment>
<tal:block tal:define="release_word_count python: options['release_word_count'];
release_character_count python: options['release_character_count'];
release_relative_url python: options['release_relative_url'];
release_organisation_list python: options['release_organisation_list'];
release_contributor_list python: options['release_contributor_list'];">
<div class="ci-press-release-about">
<div class="ci-press-release-summary">
(<span tal:content="python: release_word_count"></span>&nbsp;<span i18n:translate="" i18n:domain="erp5_ui">Words</span>,
<span tal:content="python: release_character_count"></span>&nbsp;<span i18n:translate="" i18n:domain="erp5_ui">Characters</span>)
</div>
<h2 class="ci-press-release-subheader" i18n:translate="" i18n:domain="erp5_ui">Permanent Link</h2>
<ul class="ci-press-release-contact-list">
<li><span class="ci-press-release-permalink"><a tal:attributes="href python: release_relative_url;" tal:content="python: release_relative_url"></a></span></li>
</ul>
<h2 class="ci-press-release-subheader" i18n:translate="" i18n:domain="erp5_ui">Contact</h2>
<tal:block tal:condition="python: len(release_contributor_list)">
<div class="ci-press-release-author">
<ul class="ci-press-release-contact-list">
<tal:block tal:repeat="contributor release_contributor_list">
<li>
<span tal:content="python: contributor.get('name')"></span>&nbsp;-&nbsp;
<span i18n:translate="" i18n:domain="erp5_ui">Telephone:</span>&nbsp;<span tal:content="python: contributor.get('phone')"></span>&nbsp;-&nbsp;
<span i18n:translate="" i18n:domain="erp5_ui">Email:</span>&nbsp;
<a tal:attributes="mailto python: contributor.get('email')" tal:content="python: contributor.get('email')"></a>
</li>
</tal:block>
</ul>
</div>
</tal:block>
<tal:block tal:repeat="organisation release_organisation_list">
<h2 class="ci-press-release-subheader"><span i18n:translate="" i18n:domain="erp5_ui">About</span>&nbsp;<span tal:content="python: organisation.get('organisation_title')"></span></h2>
<span class="ci-press-release-about-description" tal:content="python: organisation.get('description')"></span>
<tal:block tal:condition="python: organisation.get('website') != ''">
&nbsp;<span i18n:translate="" i18n:domain="erp5_ui">More information on</span>:&nbsp;<a tal:content="python: organisation.get('website')" tal:attributes="href python: organisation.get('website')"></a>
</tal:block>
<div class="ci-press-release-company-info">
<div class="ci-press-release-container ci-press-release-container-left">
<tal:block tal:condition="python: organisation.get('logo_url') is not ''">
<img tal:attributes="src python: ''.join([organisation.get('logo_url'), '?format=png'])" alt="" />
</tal:block>
</div>
<div class="ci-press-release-container ci-press-release-container-center">
<span tal:content="python: organisation.get('organisation_title')"></span><br />
<span tal:content="python: organisation.get('address')"></span><br />
<span tal:content="python: ''.join([organisation.get('postal_code'), ' ', organisation.get('city')])"></span><br />
<span tal:content="python: organisation.get('country')"></span><br />
</div>
<div class="ci-press-release-container ci-press-release-container-right">
<span tal:content="python: organisation.get('email')"></span><br />
<span tal:content="python: organisation.get('phone')"></span>
</div>
</div>
<tal:block tal:define="representative_list python: organisation.get('representative_list');">
<tal:block tal:condition="python: representative_list != None">
<ul class="ci-press-release-contact-list">
<tal:block tal:repeat="representative representative_list">
<li>
<span tal:content="python: representative.get('name')"></span>&nbsp;-&nbsp;
<span i18n:translate="" i18n:domain="erp5_ui">Telephone:</span>&nbsp;<span tal:content="python: representative.get('phone')"></span>&nbsp;-&nbsp;
<span i18n:translate="" i18n:domain="erp5_ui">Email:</span>&nbsp;
<a tal:attributes="mailto python: representative.get('email')" tal:content="python: representative.get('email')"></a>
</li>
</tal:block>
</ul>
</tal:block>
</tal:block>
</tal:block>
</div>
</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_createReleaseContent</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">
"""
================================================================================
Generate press release content
================================================================================
"""
</tal:comment>
<tal:block tal:define="release_theme python: options.get('release_theme');
release_title python: options.get('release_title');
release_language python: options.get('release_language');
release_theme_css_font_list python: options.get('release_theme_css_font_list');
release_theme_css_url python: options.get('release_theme_css_url');
release_template_css_url python: options.get('release_template_css_url');
release_theme_logo_url python: options.get('release_theme_logo_url');
release_css python: options.get('release_css');
release_description python: options.get('release_description');
release_short_title python: options.get('release_short_title');
release_organisation_logo python: options.get('release_organisation_logo');
release_content python: options.get('release_content');">
<!DOCTYPE html>
<html tal:attributes="class python: ''.join(['ci-', release_theme, ' ci-', release_language])">
<head>
<meta charset="utf-8">
<title tal:content="release_title"></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<tal:block tal:repeat="font_url release_theme_css_font_list">
<link rel="stylesheet" tal:attributes="href font_url" />
</tal:block>
<link rel="stylesheet" tal:attributes="href release_theme_css_url" />
<link rel="stylesheet" tal:attributes="href release_template_css_url" />
<tal:block tal:condition="python: release_css != None">
<style type="text/css" tal:content="python: release_css"></style>
</tal:block>
</head>
<body class="ci-press-release">
<tal:block metal:use-macro="context/WebPage_createReleaseContent/macros/release_content" />
</body>
</html>
</tal:block>
<tal:block tal:condition="python: False">
<tal:block metal:define-macro="release_content">
<div class="ci-press-release-logo"></div>
<div class="ci-press-release-main">
<h1 class="ci-press-release-header" tal:content="python: release_title"></h1>
<h2 class="ci-press-release-subheader" tal:content="python: release_short_title"></h2>
<div class="ci-press-release-description"><p tal:content="release_description"></p></div>
<tal:block tal:replace="structure python: release_content"></tal:block>
</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_createReleaseFooter</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">
"""
================================================================================
Generate the press release footer
================================================================================
"""
</tal:comment>
<tal:block tal:define="release_theme python: options.get('release_theme');
release_title python: options.get('release_title');
release_language python: options.get('release_language');
release_theme_css_font_list python: options.get('release_theme_css_font_list');
release_theme_css_url python: options.get('release_theme_css_url');
release_template_css_url python: options.get('release_template_css_url');
release_full_reference python: options.get('release_full_reference');
release_theme_logo_url python: options.get('release_theme_logo_url');
release_creation_year python: options.get('release_creation_year');
release_copyright python: options.get('release_copyright');
release_contributor_list python: options.get('release_contributor_list');">
<!DOCTYPE html>
<html tal:attributes="class python: ''.join(['ci-', release_theme, ' ci-', release_language])">
<head>
<meta charset="utf-8">
<title tal:content="release_title"></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<tal:block tal:repeat="font_url release_theme_css_font_list">
<link rel="stylesheet" tal:attributes="href font_url" />
</tal:block>
<link rel="stylesheet" tal:attributes="href release_theme_css_url" />
<link rel="stylesheet" tal:attributes="href release_template_css_url" />
<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-press-release" onload="setPlaceholdersWithUrlParameters()">
<tal:block metal:use-macro="context/WebPage_createReleaseFooter/macros/release_footer" />
</body>
</html>
</tal:block>
<tal:block tal:condition="python: False">
<tal:block metal:define-macro="release_footer">
<div class="ci-press-release-page-footer">
<div class="ci-press-release-container ci-press-release-container-left">
<tal:block tal:condition="python: release_theme_logo_url != ''">
<div class="ci-press-release-footer-image-wrapper">
<img tal:attributes="src python: release_theme_logo_url" alt="Logo" />
</div>
</tal:block>
</div>
<div class="ci-press-release-container ci-press-release-container-center" tal:content="python: release_full_reference"></div>
<div class="ci-press-release-container ci-press-release-container-right">
<span>&copy;</span>
<span tal:content="python: ''.join([release_creation_year, ' ', release_copyright])"></span><br/>
<span tal:content="python: release_contributor_list"></span>
<span class="page"></span> | <span class="topage"></span>
</div>
</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_createReleaseHeader</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 press release header
================================================================================
"""
</tal:comment>
<tal:block tal:define="release_theme python: options.get('release_theme');
release_title python: options.get('release_title');
release_short_title python: options.get('release_short_title');
release_description python: options.get('release_description');
release_language python: options.get('release_language');
release_theme_css_font_list python: options.get('release_theme_css_font_list');
release_theme_css_url python: options.get('release_theme_css_url');
release_template_css_url python: options.get('release_template_css_url');
release_organisation python: options.get('release_organisation');
release_organisation_claim python: options.get('release_organisation_claim');">
<!DOCTYPE html>
<html tal:attributes="class python: ''.join(['ci-', release_theme, ' ci-', release_language])">
<head>
<meta charset="utf-8">
<title tal:content="release_title"></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<tal:block tal:repeat="font_url release_theme_css_font_list">
<link rel="stylesheet" tal:attributes="href font_url" />
</tal:block>
<link rel="stylesheet" tal:attributes="href release_theme_css_url" />
<link rel="stylesheet" tal:attributes="href release_template_css_url" />
</head>
<body class="ci-press-release">
<tal:block metal:use-macro="context/WebPage_createReleaseHeader/macros/release_header" />
</body>
</html>
</tal:block>
<tal:block tal:condition="python: False">
<tal:block metal:define-macro="release_header">
<div class="ci-press-release-page-header">
<p class="ci-press-release-page-header-source-header" tal:content="python: ''.join([release_organisation, ': ', release_organisation_claim])"></p>
<p class="ci-press-release-page-header-release-header" i18n:translate="" i18n:domain="erp5_ui">Press Release</p>
</div>
</tal:block>
</tal:block>
\ No newline at end of file
"""
================================================================================
Export WebPage as Press Release
================================================================================
"""
# ERP5 web uses format= argument, which is also a python builtin
# pylint: disable=redefined-builtin
# parameters (* default)
# ------------------------------------------------------------------------------
# format: output in html*, pdf
# display_svg: display images as svg or png*
# display_about display automatic about (*) or not
# batch_mode: used for tests
# override_source_organisation_title: used instead of follow-up organisation
# override_source_person_title: used instead of contributor
# document_downalod: download file directly
# document_save: save file in document module
return context.WebPage_viewAsRelease(
format=format,
display_svg=display_svg,
display_about=display_about,
override_source_organisation_title=override_source_organisation_title,
override_source_person_title=override_source_person_title,
document_save=document_save,
document_download=document_download,
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", document_download=None, display_about=None, batch_mode=False, document_save=None, display_svg=None, override_source_organisation_title=None,override_source_person_title=None,**kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_exportAsRelease</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
Print WebPage as Press Release
================================================================================
"""
# ERP5 web uses format= argument, which is also a python builtin
# pylint: disable=redefined-builtin
# parameters (* default)
# ------------------------------------------------------------------------------
# format: output in html*, pdf
# display_side: display side bar (1)* or not (0)
# display_about: display automatic about (1)* or not (0)
# batch_mode: used for tests
# override_source_organisation_title: used instead of follow-up organisation
# override_source_person_title: used instead of contributor
# document_downalod: download file directly
# document_save: save file in document module
return context.WebPage_viewAsRelease(
format=format,
display_svg=display_svg,
display_about=display_about,
override_source_organisation_title=override_source_organisation_title,
override_source_person_title=override_source_person_title,
document_save=document_save,
document_download=document_download,
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", document_download=None, display_about=None, batch_mode=False, document_save=None, override_source_organisation_title=None,override_source_person_title=None, display_svg=None, **kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_printAsRelease</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
Update a press release dialog with parameters manually entered
================================================================================
"""
# ERP5 web uses format= argument, which is also a python builtin
# pylint: disable=redefined-builtin
# parameters (* default)
# ------------------------------------------------------------------------------
# format: output in html*, pdf
# display_svg: display images as svg or png*
# display_about: display automatic about (1)* or not (0)
# cancel_url: url to go back from dialog
# dialog_id: current dialog id
# portal_skin: current skin used
# override_source_organisation_title: used instead of follow-up organisation
# override_source_person_title: used instead of contributor
# document_downalod: download file directly
# document_save: save file in document module
from Products.ERP5Type.Message import translateString
if dialog_id != None:
return context.Base_redirect(
dialog_id,
keep_items = dict(
portal_status_message=translateString('Preview updated.'),
cancel_url=cancel_url,
portal_skin=portal_skin,
override_source_organisation_title=override_source_organisation_title,
override_source_person_title=override_source_person_title,
format=format,
display_svg=display_svg,
display_about=display_about,
document_save=document_save,
document_download=document_download,
**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, document_download=None, display_about=None, cancel_url=None, document_save=None, portal_skin=None, format=None, display_svg=None, override_source_organisation_title=None,override_source_person_title=None, *args,**kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_updateReleaseDialog</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -19,12 +19,14 @@ if img_string == None or img_string == "":
img_src = re.findall("src=['\"](.*?)['\"]", img_string)[0]
img_obj = context.restrictedTraverse(img_src.split("?")[0], None)
img_type = img_obj.getContentType()
# flag broken link until further notice
if img_obj == None:
raise NotFound('The following image could not be found in erp5: %s' % (img_src.split("?")[0]))
img_type = img_obj.getContentType()
# ensure alt attributes are set
if img_string.find('alt=') == -1:
img_string.replace ("src=", 'alt="%s" src=' % img_caption or img_obj.getTitle())
......
"""
================================================================================
MAIN FILE: render press release in different output formats
================================================================================
"""
# ERP5 web uses format= argument, which is also a python builtin
# pylint: disable=redefined-builtin
# kw-parameters (* default)
# ------------------------------------------------------------------------------
# format: output in html*, pdf
# display_about: display automatic about info (1)* or not (0)
# display_svg: display images as svg or png*
# transformation: convert content into nothing*, book
# ------
# override_source_organisation_title used instead of follow-up organisation
# override_source_person_title used instead of contributor
# override_batch_mode used for tests
# ------
# document_downalod: download file directly (default None)
# document_save: save file in document module (default None)
import re
from base64 import b64encode
blank = ''
re_tag = re.compile(r'<[^>]+>')
# ------------------ HTML cleanup/converter methods ----------------------------
def removeTags(text):
return re_tag.sub('', text)
def removeHardcodedAbout(my_content):
release_about = re.findall('(<h[1-6]>About.*)', release_content, re.S)
if len(release_about) > 0:
return my_content.replace(release_about[0], "")
return my_content
# -------------------------- Setup ---------------------------------------------
release = context
release_prefix = "Release."
release_format = kw.get('format', 'html')
release_display_about = release.Base_setToNone(param=kw.get('display_about', None))
release_display_svg = release.Base_setToNone(param=kw.get('display_svg', "png"))
release_download = release.Base_setToNone(param=kw.get('document_download', None))
release_save = release.Base_setToNone(param=kw.get('document_save', None))
override_source_person_title = kw.get('override_source_person_title', None)
override_source_organisation_title = kw.get("override_source_organisation_title", None)
override_batch_mode = release.Base_setToNone(param=kw.get('batch_mode', None))
# -------------------------- Document Parameters ------------------------------
release_content = release.getTextContent()
release_title = release.getTitle()
release_language = release.getLanguage()
release_short_title = release.getShortTitle()
release_description = release.getDescription()
release_creation_date = release.getCreationDate()
release_modification_date = release.getModificationDate()
release_aggregate_list = []
release_relative_url = release.getRelativeUrl()
release_creation_year = release_creation_date.strftime('%Y')
#release_creation_month = release_creation_date.strftime('%b')
#release_date = ''.join([release_creation_month, "-", release_creation_year])
release_reference = release.getReference()
release_version = release.getVersion() or "001"
# test overrides
if override_batch_mode != None:
#release_date="Nov-1976"
release_creation_year="1976"
if release_language != None:
release.REQUEST['AcceptLanguage'].set(release_language, 10)
if release_language == None:
release_language = blank
if release_reference == None:
release_reference = release_prefix + release_title.replace(" ", ".")
release_full_reference = '-'.join([release_reference, release_version, release_language])
# ---------------------------- Theme Parameters --------------------------------
release_theme = release.Base_getThemeDict(doc_format=release_format, css_path="template_css/release")
release_css = ''.join([
'html .ci-press-release .ci-press-release-logo:before {',
'background: url("%s") center no-repeat;' % (release_theme.get("theme_logo_url")),
'background-size: contain;',
'}'
])
# ---------------------------------- Source ------------------------------------
release_source = release.Base_getSourceDict(
override_source_person_title=override_source_person_title,
override_source_organisation_title=override_source_organisation_title,
theme_logo_url=release_theme.get("theme_logo_url", None),
)
# --------------------------- Content Upgrades ---------------------------------
# remove any hand written about stuff
release_content = removeHardcodedAbout(release_content)
for image in re.findall('(<img.*?/>)', release_content):
release_content = release_content.replace(
image,
release.WebPage_validateImage(
img_string=image,
img_svg_format=release_display_svg,
img_wrap=True
)
)
# ========================= TRANSFORMATION: book ===============================
# # backcompat image cleanup attempt
# raw_image_list = re.findall('(<div class="left.*?<\/div>)', release_content, re.S)
# if len(raw_image_list):
# for image in raw_image_list:
# clean_image = re.findall('(<img.*?\/>)', image, re.S)
# if len(clean_image):
# alted = re.findall('alt="(.*?)"', clean_image[0], re.S)
# if len(alted):
# release_content = release_content.replace(image, clean_image[0])
# else:
# new_image = clean_image.replace("<img", '<img alt="XXX Missing Description"')
# release_content = release_content.replace(image, new_image)
# for table in re.findall('(<table.*?<\/table>)', release_content):
# release_content = release_content.replace(table, release.WebPage_validateTable(table_string=table))
#
# for link in re.findall('(<a.*?<\/a>)', release_content):
# release_content = release_content.replace(link, release.WebPage_validateLink(link_string=link, link_toc=true))
# ------------------------ counter, about & authors ------------------------
if release_display_about:
release_about = release.WebPage_createReleaseAbout(
release_word_count=len(removeTags(release_content).split()),
release_character_count=len(release_content),
release_organisation_list=release.Base_getTemplateProxyParameter(parameter="organisation"),
release_contributor_list=release.Base_getTemplateProxyParameter(parameter="author"),
release_relative_url=release_relative_url,
)
release_content = release_content.decode() + release_about.decode()
# ============================= Format: html ===================================
if release_format == "html":
release_output = release.WebPage_createRelease(
release_theme=release_theme.get("theme"),
release_title=release_title,
release_language=release_language,
release_theme_css_font_list=release_theme.get("theme_css_font_list"),
release_theme_css_url=release_theme.get("theme_css_url"),
release_template_css_url=release_theme.get("template_css_url"),
release_full_reference=release_full_reference,
release_css=release_css,
release_theme_logo_url=release_theme.get("theme_logo_url"),
release_creation_year=release_creation_year,
release_copyright=release_source.get("organisation_title", blank),
release_contributor_list=release_source.get("contributor_title_string"),
release_description=release_description,
release_short_title=release_short_title,
release_organisation_logo=release_theme.get("theme_logo_url"),
release_organisation=release_source.get("organisation_title", blank),
release_organisation_claim=release_theme.get("theme_logo_description"),
release_content=release_content,
)
return release.Base_finishWebPageCreation(
doc_download=release_download,
doc_save=release_save,
doc_version=release_version,
doc_title=release_title,
doc_relative_url=release_relative_url,
doc_aggregate_list=release_aggregate_list,
doc_language=release_language,
doc_modification_date=release_modification_date,
doc_reference=release_reference,
doc_full_reference=release_full_reference,
doc_html_file=release_output
)
# ============================= Format: pdf ====================================
if release_format == "pdf":
release_foot = release.WebPage_createReleaseFooter(
release_theme=release_theme.get("theme"),
release_title=release_title,
release_language=release_language,
release_theme_css_font_list=release_theme.get("theme_css_font_list"),
release_theme_css_url=release_theme.get("theme_css_url"),
release_template_css_url=release_theme.get("template_css_url"),
release_full_reference=release_full_reference,
release_theme_logo_url=release_theme.get("theme_logo_url"),
release_creation_year=release_creation_year,
release_copyright=release_source.get("organisation_title", blank),
release_contributor_list=release_source.get("contributor_title_string"),
)
release_head = release.WebPage_createReleaseHeader(
release_theme=release_theme.get("theme"),
release_title=release_title,
release_short_title=release_short_title,
release_description=release_description,
release_language=release_language,
release_theme_css_font_list=release_theme.get("theme_css_font_list"),
release_theme_css_url=release_theme.get("theme_css_url"),
release_template_css_url=release_theme.get("template_css_url"),
release_theme_logo_url=release_theme.get("theme_logo_url"),
release_organisation=release_source.get("organisation_title", blank),
release_organisation_claim=release_theme.get("theme_logo_description"),
)
release_content = release.WebPage_createReleaseContent(
release_theme=release_theme.get("theme"),
release_title=release_title,
release_language=release_language,
release_theme_css_font_list=release_theme.get("theme_css_font_list"),
release_theme_css_url=release_theme.get("theme_css_url"),
release_template_css_url=release_theme.get("template_css_url"),
release_css=release_css,
release_theme_logo_url=release_theme.get("theme_logo_url"),
release_description=release_description,
release_short_title=release_short_title,
release_organisation_logo=release_theme.get("theme_logo_url"),
release_content=release_content,
)
# ================ encode and build cloudoo elements =========================
embedded_html_data = release.Base_convertHtmlToSingleFile(release_content, allow_script=True)
header_embedded_html_data = release.Base_convertHtmlToSingleFile(release_head, allow_script=True)
footer_embedded_html_data = release.Base_convertHtmlToSingleFile(release_foot, allow_script=True)
pdf_file = release.Base_cloudoooDocumentConvert(embedded_html_data, "html", "pdf", conversion_kw=dict(
encoding="utf8",
orientation="portrait",
margin_top=30,
margin_bottom=20,
margin_left=0,
margin_right=0,
header_html_data=b64encode(header_embedded_html_data),
header_spacing=10,
footer_html_data=b64encode(footer_embedded_html_data),
footer_spacing=3
)
)
return release.WebPage_finishPdfCreation(
doc_download=release_download,
doc_save=release_save,
doc_version=release_version,
doc_title=release_title,
doc_relative_url=release_relative_url,
doc_aggregate_list=release_aggregate_list,
doc_language=release_language,
doc_modification_date=release_modification_date,
doc_reference=release_reference,
doc_full_reference=release_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_viewAsRelease</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_exportAsRelease</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Export this web page as a Press Release 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/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>format</string>
<string>display_svg</string>
<string>display_about</string>
<string>document_save</string>
<string>portal_skin</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list>
<string>override_source_organisation_title</string>
<string>override_source_person_title</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_viewExportAsReleaseDialog</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>WebPage_viewExportAsReleaseDialog</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 Release</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_updateReleaseDialog</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=Release&amp;override_source_person_title=%s&amp;override_source_organisation_title=%s&amp;display_svg=%s&amp;document_save=%s&amp;display_about=%s" name="default_version"></iframe>\' % (context.absolute_url(), context.REQUEST.get("override_source_person_title", ""), context.REQUEST.get("override_source_organisation_title", ""), context.REQUEST.get("display_svg", "png"), context.REQUEST.get("document_save", ""), context.REQUEST.get("display_about"))
]]></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>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>display_about</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>Display Automatic About</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>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="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>Sender Company 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_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>Sender 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>Release</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_printAsRelease</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Print this web page as a Press Release 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/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>display_svg</string>
<string>display_about</string>
<string>document_save</string>
<string>portal_skin</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list>
<string>override_source_organisation_title</string>
<string>override_source_person_title</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_viewPrintAsReleaseDialog</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>WebPage_viewPrintAsReleaseDialog</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 Release</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_updateReleaseDialog</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=Release&amp;override_source_person_title=%s&amp;override_source_organisation_title=%s&amp;display_svg=%s&amp;document_save=%s&amp;display_about=%s" name="default_version"></iframe>\' % (context.absolute_url(), context.REQUEST.get("override_source_person_title", ""), context.REQUEST.get("override_source_organisation_title", ""), context.REQUEST.get("display_svg", "png"), context.REQUEST.get("document_save", ""), context.REQUEST.get("display_about", ""))
]]></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>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>display_about</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>Display Automatic About</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>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="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>Sender Company 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_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>Sender 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>Release</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>
/* === pre set === */
html,
body {
margin: 0;
padding: 0;
}
html{
width: 100%;
height: 100%;
}
/* === font size === */
.ci-press-release .ci-press-release-header {
font-size: 36px;
}
.ci-press-release .ci-press-release-page-header-source-header,
.ci-press-release .ci-press-release-page-header-release-header,
.ci-press-release .ci-press-release-subheader,
.ci-press-release .ci-press-release-about .ci-press-release-subheader span {
font-size: 28px;
}
.ci-press-release .ci-press-release-description,
.ci-press-release .ci-press-release-main p,
.ci-press-release .ci-press-release-summary {
font-size: 18px;
}
.ci-press-release .ci-press-release-page-header p:last-child,
.ci-press-release .ci-press-release-about span {
font-size: 16px;
}
.ci-press-release .ci-press-release-page-footer ci-press-release-container {
font-size: 14px;
}
/* === font weight === */
.ci-press-release .ci-press-release-header,
.ci-press-release .ci-press-release-subheader,
.ci-press-release .ci-press-release-description + p {
font-weight: bold;
font-style: normal;
}
.ci-press-release .ci-press-release-description,
.ci-press-release .ci-press-release-summary {
font-style: italic;
}
/* === page breaks === */
/* === header === */
.ci-press-release .ci-press-release-page-header {
position: static;
width: 100%;
min-height: 20mm;
text-align: right;
}
.ci-press-release .ci-press-release-page-header {
vertical-align: middle;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 5mm 10mm 5mm 5mm;
}
.ci-press-release .ci-press-release-page-header p {
margin: 0;
padding: 0;
text-align: right;
}
.ci-press-release .ci-press-release-page-header p:first-child {
padding-top: 2mm;
}
/* ==== content headers/description === */
.ci-press-release .ci-press-release-header,
.ci-press-release .ci-press-release-subheader {
text-align: center;
padding: 0 40mm;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.ci-press-release .ci-press-release-subheader {
margin-bottom: 16mm;
}
@media(max-width: 720px) {
.ci-press-release .ci-press-release-header,
.ci-press-release .ci-press-release-subheader {
padding: 0;
}
}
/* merge location info with paragraph following */
.ci-press-release .ci-press-release-description + p {
float: left;
padding: 0;
margin: 0;
padding-right: 1em;
vertical-align: top;
line-height: 1.25em;
position: relative;
}
@media(max-width: 720px) {
.ci-press-release .ci-press-release-description + p {
padding-right: 0;
}
}
.ci-press-release .ci-press-release-description + p:after {
content: "-";
display: block;
text-align: center;
width: .75em;
position: absolute;
top: 0;
right: 0;
height: 1.25em;
font-weight: bold;
}
.ci-press-release .ci-press-release-main .ci-press-release-description + p + p {
vertical-align: top;
padding: 0;
margin: 0;
line-height: 1.25em;
}
/* ===== images ===== */
.ci-press-release .ci-press-release-main img {
width: 100%;
margin: 0 auto;
display: inline-block;
text-align: center;
margin-top: 5mm;
margin-bottom: 10mm;
}
.ci-press-release .ci-press-release-main .ci-press-release-about img {
margin: 0;
}
@media(max-width: 720px) {
.ci-press-release .ci-press-release-main img {
width: 100%;
}
.ci-press-release .ci-press-release-main .excerpt {
display: inline-block;
text-align: center;
margin-top: 0;
}
}
/* ===== logo ===== */
.ci-press-release .ci-press-release-logo {
margin-top: 2em;
margin-bottom: 2em;
margin-left: auto;
margin-right: auto;
}
.ci-press-release .ci-press-release-logo:before {
content: "";
display: block;
height: 8em;
background-size: 10em !important;
}
/* ===== main ===== */
.ci-press-release .ci-press-release-main {
padding: 0 10mm;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 80%;
margin: 0 auto;
}
@media(max-width: 720px) {
.ci-press-release .ci-press-release-main {
width: 100%
}
}
.ci-press-release .ci-press-release-main p {
text-align: justify;
text-align-last: left;
}
.ci-press-release .ci-press-release-description p {
text-align: center;
text-align-last: center;
}
.ci-press-release .ci-press-release-summary {
text-align: center;
}
/* ===== about ===== */
.ci-press-release .ci-press-release-company-info {
margin-top: .5em;
}
.ci-press-release .ci-press-release-about .ci-press-release-subheader {
text-align: left;
text-align-last: left;
padding: 0;
margin: 1em 0 0 0;
}
.ci-press-release .ci-press-release-about .ci-press-release-container {
display: inline-block;
vertical-align: top;
width: 33%;
text-align: left;
}
.ci-press-release .ci-press-release-about .ci-press-release-container-left {
text-align: center;
}
.ci-press-release .ci-press-release-about .ci-press-release-container-left img {
width: auto;
max-height: 5em;
}
@media(max-width: 720px) {
.ci-press-release .ci-press-release-about .ci-press-release-container {
width: 100%;
display: block;
}
}
.ci-press-release .ci-press-release-permalink a {
text-decoration: none;
}
/* ===== footer ===== */
.ci-press-release .ci-press-release-page-footer {
position: static;
margin-top: 1em;
}
.ci-press-release .ci-press-release-page-footer .ci-press-release-container {
display: inline-block;
vertical-align: middle;
width: 33%;
text-align: center;
}
@media(max-width: 720px) {
.ci-press-release .ci-press-release-page-footer .ci-press-release-container {
width: 31%;
}
}
.ci-press-release .ci-press-release-page-footer .ci-press-release-footer-image-wrapper {
min-height: 20mm;
display: inline;
vertical-align: middle;
}
.ci-press-release .ci-press-release-page-footer .ci-press-release-footer-image-wrapper img {
display: inline-block;
max-width: 100px;
height: auto;
max-height: 50px;
}
.ci-press-release .ci-press-release-container-left {
text-align: left;
}
.ci-press-release .ci-press-release-container-right {
text-align: right;
}
<?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>release.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>
/* === pre set === */
html,
body {
margin: 0;
padding: 0;
}
html{
width: 100%;
height: 100%;
}
/* === font size === */
.ci-press-release .ci-press-release-header {
font-size: 36px;
}
.ci-press-release .ci-press-release-page-header-source-header,
.ci-press-release .ci-press-release-page-header-release-header,
.ci-press-release .ci-press-release-subheader,
.ci-press-release .ci-press-release-about .ci-press-release-subheader span {
font-size: 28px;
}
.ci-press-release .ci-press-release-description,
.ci-press-release .ci-press-release-main p,
.ci-press-release .ci-press-release-summary {
font-size: 18px;
}
.ci-press-release .ci-press-release-page-header p:last-child,
.ci-press-release .ci-press-release-about span {
font-size: 16px;
}
.ci-press-release .ci-press-release-page-footer ci-press-release-container {
font-size: 14px;
}
/* === font weight === */
.ci-press-release .ci-press-release-header,
.ci-press-release .ci-press-release-subheader,
.ci-press-release .ci-press-release-description + p {
font-weight: bold;
font-style: normal;
}
.ci-press-release .ci-press-release-description,
.ci-press-release .ci-press-release-summary {
font-style: italic;
}
/* === page breaks === */
/* === header === */
.ci-press-release .ci-press-release-page-header {
position: static;
width: 100%;
min-height: 20mm;
text-align: right;
}
.ci-press-release .ci-press-release-page-header {
vertical-align: middle;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 5mm 10mm 5mm 5mm;
}
.ci-press-release .ci-press-release-page-header p {
margin: 0;
padding: 0;
text-align: right;
}
.ci-press-release .ci-press-release-page-header p:first-child {
padding-top: 2mm;
}
/* ==== content headers/description === */
.ci-press-release .ci-press-release-header,
.ci-press-release .ci-press-release-subheader {
text-align: center;
padding: 0 40mm;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.ci-press-release .ci-press-release-subheader {
margin-bottom: 16mm;
}
/* merge location info with paragraph following */
.ci-press-release .ci-press-release-description + p {
float: left;
padding: 0;
margin: 0;
padding-right: 1em;
vertical-align: top;
line-height: 1.25em;
position: relative;
}
.ci-press-release .ci-press-release-description + p:after {
content: "-";
display: block;
text-align: center;
width: .75em;
position: absolute;
top: 0;
right: 0;
height: 1.25em;
font-weight: 600;
}
.ci-press-release .ci-press-release-main .ci-press-release-description + p + p {
vertical-align: top;
padding: 0;
margin: 0;
line-height: 1.25em;
}
/* ===== images ===== */
.ci-press-release .ci-press-release-main img {
width: 100%;
margin: 0 auto;
display: inline-block;
text-align: center;
margin-top: 5mm;
margin-bottom: 10mm;
}
.ci-press-release .ci-press-release-main .ci-press-release-about img {
margin: 0;
}
@media(max-width: 720px) {
.ci-press-release .ci-press-release-main img {
width: 100%;
}
.ci-press-release .ci-press-release-main .excerpt {
display: inline-block;
text-align: center;
margin-top: 0;
}
}
/* ===== logo ===== */
.ci-press-release .ci-press-release-logo {
margin-top: 2em;
margin-bottom: 2em;
margin-left: auto;
margin-right: auto;
}
.ci-press-release .ci-press-release-logo:before {
content: "";
display: block;
height: 8em;
background-size: 10em !important;
}
/* ===== main ===== */
.ci-press-release .ci-press-release-main {
padding: 0 10mm;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 80%;
margin: 0 auto;
}
@media(max-width: 720px) {
.ci-press-release .ci-press-release-main {
width: 100%
}
}
.ci-press-release .ci-press-release-main p {
text-align: justify;
text-align-last: left;
}
.ci-press-release .ci-press-release-description p {
text-align: center;
text-align-last: center;
}
.ci-press-release .ci-press-release-summary {
text-align: center;
}
/* ===== about ===== */
.ci-press-release .ci-press-release-company-info {
margin-top: .5em;
}
.ci-press-release .ci-press-release-about .ci-press-release-subheader {
text-align: left;
text-align-last: left;
padding: 0;
margin: 1em 0 0 0;
}
.ci-press-release .ci-press-release-about .ci-press-release-container {
display: inline-block;
vertical-align: top;
width: 33%;
text-align: left;
}
.ci-press-release .ci-press-release-about .ci-press-release-container-left {
text-align: center;
}
.ci-press-release .ci-press-release-about .ci-press-release-container-left img {
width: auto;
max-height: 5em;
}
.ci-press-release .ci-press-release-permalink a {
text-decoration: none;
}
/* ===== footer ===== */
.ci-press-release .ci-press-release-page-footer {
position: static;
margin-top: 1em;
}
.ci-press-release .ci-press-release-page-footer .ci-press-release-container {
display: inline-block;
vertical-align: middle;
width: 33%;
text-align: center;
}
.ci-press-release .ci-press-release-page-footer .ci-press-release-footer-image-wrapper {
min-height: 20mm;
display: inline;
vertical-align: middle;
}
.ci-press-release .ci-press-release-page-footer .ci-press-release-footer-image-wrapper img {
display: inline-block;
max-width: 100px;
height: auto;
max-height: 50px;
}
.ci-press-release .ci-press-release-container-left {
text-align: left;
}
.ci-press-release .ci-press-release-container-right {
text-align: right;
}
<?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>release.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>
......@@ -2,6 +2,21 @@
/* ======================= Default THEME =================================== */
/* ========================================================================== */
/* ----------------------- Press Release ----------------------------------- */
.ci-default .ci-press-release .ci-press-release-page-header {
background-color: #C3C7C6;
color: #FFFFFF;
}
.ci-default .ci-press-release .ci-press-release-main p:last-of-type,
.ci-default .ci-press-release .ci-press-release-description,
.ci-default .ci-press-release .ci-press-release-about,
.ci-default .ci-press-release .ci-press-release-author {
border-color: #C3C7C6;
}
.ci-default .ci-press-release a {
color: #C3C7C6;
}
/* ------------------------ Slideshow -------------------------------------- */
.ci-default .ci-slideshow .ci-slideshow-header h2,
.ci-default .ci-slideshow .ci-slideshow-footer,
......
......@@ -39,7 +39,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>two page flyer</string> </value>
<value> <string>leaflet</string> </value>
</item>
</dictionary>
</pickle>
......
<?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>50.0</float> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_corporate_identity_release</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>press release</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
View as Press Release (using portal_skin=Release)
================================================================================
"""
# ERP5 web uses format= argument, which is also a python builtin
# pylint: disable=redefined-builtin
# parameters (* default)
# ------------------------------------------------------------------------------
# format: output in html*, pdf
# display_svg: display images as svg or png*
# display_about: display automatic about (1)* or not (0)
# batch_mode: used for tests
# override_source_organisation_title: used instead of follow-up organisation
# override_source_person_title: used instead of contributor
# document_downalod: download file directly
# document_save: save file in document module
return context.WebPage_viewAsRelease(
format=format,
display_svg=display_svg,
display_about=display_about,
override_source_organisation_title=override_source_organisation_title,
override_source_person_title=override_source_person_title,
document_save=document_save,
document_download=document_download,
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",display_side=None, display_about=None, batch_mode=False, document_download=None, document_save=None, override_leaflet_header_title=None, override_source_organisation_title=None,override_source_person_title=None,display_svg=None,**kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>WebPage_viewAsWeb</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -83,6 +83,8 @@ class TestCorporateIdentityTemplates(ERP5TypeTestCase):
self.message_catalog.message_edit('Table of Contents', 'de', 'Inhaltsverzeichnis', '')
self.message_catalog.gettext('Web Adress', add=1)
self.message_catalog.message_edit('Web Adress', 'de', 'Web Adresse', '')
self.message_catalog.gettext('Press Release', add=1)
self.message_catalog.message_edit('Press Release', 'de', 'Pressemeldung', '')
# Activating a system preference if none is activated
for preference in self.portal.portal_catalog(portal_type="System Preference"):
......@@ -1162,3 +1164,102 @@ class TestCorporateIdentityTemplates(ERP5TypeTestCase):
override_revision=1
)
)
@changeSkin('Release')
def test_htmlRelease(self):
"""
Test:
- Web Page as Release
- as-is
- export as html
"""
self.runHtmlTestPattern(
"template_test_release_input_001_en_html",
"template_test_release_output_expected_001_en_html",
**dict(
test_method="WebPage_exportAsRelease",
use_skin="Release",
display_about=1
)
)
@changeSkin('Release')
def test_htmlReleaseOverrides(self):
"""
Test:
- Web Page as Release
- Set all overrides and hide about section
- export as html
"""
self.runHtmlTestPattern(
"template_test_release_input_002_de_html",
"template_test_release_output_expected_002_de_html",
**dict(
test_method="WebPage_exportAsRelease",
display_about=0,
override_source_person_title="Test Association Member",
override_source_organisation_title="Test Association",
use_skin="Release"
)
)
@changeSkin('Release')
def test_pdfRelease(self):
"""
Test:
- Web Page as Release
- as-is
- export as pdf
"""
self.runPdfTestPattern(
"template_test_release_input_001_en_html",
"template_test_release_input_page_0_001_en_bmp",
"template_test_release_input_001_en_pdf",
**dict(
page_number=0,
format="pdf",
test_method="WebPage_exportAsRelease",
use_skin="Release"
)
)
@changeSkin('Release')
def test_pdfReleaseOverrides(self):
"""
Test:
- Web Page as Release
- Set all overrides and hide about panel
- export as pdf
"""
self.runPdfTestPattern(
"template_test_release_input_002_de_html",
"template_test_release_input_page_0_002_de_bmp",
"template_test_release_input_002_de_pdf",
**dict(
page_number=0,
test_method="WebPage_exportAsRelease",
format="pdf",
use_skin="Release",
override_source_organisation_title="Test Association",
override_source_person_title="Test Association Member",
display_about=0
)
)
@changeSkin('Release')
def test_pdfReleasePrint(self):
"""
Test:
- Web Page as Release
- print as pdf
"""
self.runPdfTestPattern(
"template_test_release_input_001_en_html",
"template_test_release_input_page_0_001_en_bmp",
"template_test_release_input_001_en_pdf",
**dict(
page_number=0,
test_method="WebPage_printAsRelease",
use_skin="Release"
)
)
Web Page | export_book
Web Page | export_leaflet
Web Page | export_letter
Web Page | export_release
Web Page | export_slideshow
Web Page | print_book
Web Page | print_leaflet
Web Page | print_letter
Web Page | print_release
Web Page | print_slideshow
Web Page | view_slideshow
\ No newline at end of file
......@@ -2,4 +2,5 @@ erp5_corporate_identity_book | Book
erp5_corporate_identity_book | Report
erp5_corporate_identity_leaflet | Leaflet
erp5_corporate_identity_letter | Letter
erp5_corporate_identity_release | Release
erp5_corporate_identity_slide | Slide
\ No newline at end of file
......@@ -2,4 +2,5 @@ erp5_corporate_identity
erp5_corporate_identity_book
erp5_corporate_identity_leaflet
erp5_corporate_identity_letter
erp5_corporate_identity_release
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