Commit a2747dde authored by Xiaowu Zhang's avatar Xiaowu Zhang

erp5_corporate_identity: imporve

/reviewed-on !765
parents 84d00418 0844222d
<?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_view</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_view</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Default parameters (theme, css-files, js-files) for template configuration.</string> </value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>corporate_identity_style_preferences</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>51.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Template Defaults</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}/Preference_viewCorporateIdentityStyle</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Property Sheet" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_count</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_mt_index</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>_tree</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>CorporateIdentityTemplatePreference</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Property Sheet</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Length" module="BTrees.Length"/>
</pickle>
<pickle> <int>0</int> </pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="OOBTree" module="BTrees.OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="OOBTree" module="BTrees.OOBTree"/>
</pickle>
<pickle>
<none/>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Document prefix to use when generating new Book documents.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_book_document_prefix_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>The default bank account of the default organisation used in corporate identity templates.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_default_bank_account_relative_url_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Default currency symbol to be used on letter footers et al.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_default_currency_relative_url_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Logo prefix to use when loading theme based logos.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_default_logo_prefix_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Registered Court of the default organisation for letter footer.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_default_organisation_registered_court_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>The default organisation to use on corporate identity templates.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_default_organisation_relative_url_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/lines</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Fonts to be used for all templates</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_default_theme_font_property</string> </value>
</item>
<item>
<key> <string>multivalued</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>The default theme to use when for styling templates. Will be used if no other override is found.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_default_theme_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value> <string>python: "default"</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>The relative path to a portal skin folder containing a fallback image to be used as logo.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_fallback_logo_relative_url_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value> <string>python: "image_module/template_test_image_logo_png"</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Document prefix to use when generating new Leaflet documents.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_leaflet_document_prefix_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Document prefix to use when generating new Letter documents.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_letter_document_prefix_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Document prefix to use when generating new Release documents.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_release_document_prefix_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/lines</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>List of additional css files located in portal-skins that should be used in report generation.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_report_css_property</string> </value>
</item>
<item>
<key> <string>multivalued</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value> <string>python: []</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Document prefix to use when generating new Report documents.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_report_document_prefix_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/lines</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>List of additional JS files located in portal skins that should be used during report generation.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_report_js_property</string> </value>
</item>
<item>
<key> <string>multivalued</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value> <string>python: []</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>The company registration id issued by Miibeian (required to offer services in China).</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_site_registration_id_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>The company registration provider url issued by Miibeian (required to offer services in China).</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_site_registration_url_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Document prefix to use when generating new Slideshow documents.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_slide_document_prefix_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Url to profile on Facebook.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_social_media_handle_facebook_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Url to profile on Google.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_social_media_handle_google_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Url to profile on Twitter.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_social_media_handle_twitter_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Standard Property" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>elementary_type/string</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>The relative path to a portal skin folder containing the theme css.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>preferred_corporate_identity_template_theme_css_relative_url_property</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Standard Property</string> </value>
</item>
<item>
<key> <string>preference</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>property_default</string> </key>
<value> <string>python: "template_themes/themes.css"</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -16,16 +16,16 @@ from Products.PythonScripts.standard import html_quote ...@@ -16,16 +16,16 @@ from Products.PythonScripts.standard import html_quote
# ------------------------------- Set Source ---------------------------------- # ------------------------------- Set Source ----------------------------------
source_logo_url = None source_logo_url = None
default_bank_account_uid=context.Base_getTemplateParameter("default_bank_account_uid")
source_organisation = None source_organisation = None
pref = context.getPortalObject().portal_preferences
default_bank_account_relative_url=pref.getPreferredCorporateIdentityTemplateDefaultBankAccountRelativeUrl()
if source is None: if source is None:
default_company_title=context.Base_getTemplateParameter("default_company_title") default_company_relative_url=pref.getPreferredCorporateIdentityTemplateDefaultOrganisationRelativeUrl()
contributor_title_string = blank contributor_title_string = blank
source_person = None source_person = None
source_person_list = [] source_person_list = []
source_organisation_list = [] source_organisation_list = []
source_organisation_uid = None
source_set = None source_set = None
# source person => override => contributor => source_decision # source person => override => contributor => source_decision
...@@ -42,17 +42,13 @@ if source is None: ...@@ -42,17 +42,13 @@ if source is None:
contributor_title_string = ', '.join(x.get("name", blank) for x in source_person_list) contributor_title_string = ', '.join(x.get("name", blank) for x in source_person_list)
# source organisation # source organisation
# order: override => follow-up => default_organisation_uid => default_company_title => source_person career subordinate => source decision # order: override => follow-up => default_organisation_uid => default_company_relative_url => source_person career subordinate => source decision
if override_source_organisation_title is not None or override_source_organisation_title == blank: if override_source_organisation_title is not None or override_source_organisation_title == blank:
source_organisation_list = context.Base_getTemplateProxyParameter(parameter="override_organisation", source_data=override_source_organisation_title) source_organisation_list = context.Base_getTemplateProxyParameter(parameter="override_organisation", source_data=override_source_organisation_title)
if len(source_organisation_list) == 0: if len(source_organisation_list) == 0:
source_organisation_list = context.Base_getTemplateProxyParameter(parameter="organisation", source_data=None) or [] source_organisation_list = context.Base_getTemplateProxyParameter(parameter="organisation", source_data=None) or []
if len(source_organisation_list) == 0: if len(source_organisation_list) == 0 and default_company_relative_url:
source_organisation_uid = context.Base_getTemplateParameter("default_source_organisation_uid") source_organisation_list = context.Base_getTemplateProxyParameter(parameter="override_organisation_relative_url", source_data=default_company_relative_url) or []
if source_organisation_uid:
source_organisation_list = context.Base_getTemplateProxyParameter(parameter="sender", source_data=source_organisation_uid) or []
if len(source_organisation_list) == 0 and default_company_title:
source_organisation_list = context.Base_getTemplateProxyParameter(parameter="override_organisation", source_data=default_company_title) or []
if len(source_organisation_list) == 0 and source_person is not None: if len(source_organisation_list) == 0 and source_person is not None:
for organisation_candidate in source_person_list: for organisation_candidate in source_person_list:
organisation_candidate_list = context.Base_getTemplateProxyParameter(parameter="source", source_data=organisation_candidate.get("uid")) or [] organisation_candidate_list = context.Base_getTemplateProxyParameter(parameter="source", source_data=organisation_candidate.get("uid")) or []
...@@ -77,25 +73,31 @@ else: ...@@ -77,25 +73,31 @@ else:
source = context.Base_getTemplateProxyParameter(parameter="source", source_data=source_uid)[0] source = context.Base_getTemplateProxyParameter(parameter="source", source_data=source_uid)[0]
# override specific bank account (no default to pick correct one if multiple exist) # override specific bank account (no default to pick correct one if multiple exist)
if default_bank_account_uid is not None: if default_bank_account_relative_url is not None:
override_bank_account_list = context.Base_getTemplateProxyParameter(parameter="bank", source_data=default_bank_account_uid) or [] override_bank_account_list = context.Base_getTemplateProxyParameter(parameter="bank", source_data=default_bank_account_relative_url) or []
if len(override_bank_account_list) > 0: if len(override_bank_account_list) > 0:
override_bank_account = override_bank_account_list[0] override_bank_account = override_bank_account_list[0]
source["bank"] = override_bank_account.get("bank") source["bank"] = override_bank_account.get("bank")
source["bic"] = override_bank_account.get("bic") source["bic"] = override_bank_account.get("bic")
source["iban"] = override_bank_account.get("iban") source["iban"] = override_bank_account.get("iban")
# social media # social media, used for website (WIP)
if source_organisation is not None: if source_organisation is not None:
source["social_media_handle_facebook"] = context.Base_getTemplateParameter('social_media_handle_facebook') source["social_media_handle_facebook"] = pref.getPreferredCorporateIdentityTemplateSocialMediaHandleFacebook()
source["social_media_handle_twitter"] = context.Base_getTemplateParameter('social_media_handle_twitter') source["social_media_handle_twitter"] = pref.getPreferredCorporateIdentityTemplateSocialMediaHandleTwitter()
source["social_media_handle_google"] = context.Base_getTemplateParameter('social_media_handle_google') source["social_media_handle_google"] = pref.getPreferredCorporateIdentityTemplateSocialMediaHandleGoogle()
source["site_registration_url"] = pref.getPreferredCorporateIdentityTemplateSiteRegistrationUrl()
source["site_registration_id"] = pref.getPreferredCorporateIdentityTemplateSiteRegistrationId()
# social capital currency and registered court fallbacks # social capital currency and registered court fallbacks
if source.get("social_capital_currency") is blank: if source.get("social_capital_currency") is blank:
source["social_capital_currency"] = context.Base_getTemplateParameter("default_source_company_capital_currency") currency_short_title = None
currency_relative_url = pref.getPreferredCorporateIdentityTemplateDefaultCurrencyRelativeUrl()
if currency_relative_url:
currency_short_title = context.restrictedTraverse(currency_relative_url).getShortTitle()
source["social_capital_currency"] = currency_short_title or ""
if source.get("corporate_registration_code") is blank: if source.get("corporate_registration_code") is blank:
source["corporate_registration_code"] = context.Base_getTemplateParameter("default_source_registered_court") source["corporate_registration_code"] = pref.getPreferredCorporateIdentityTemplateDefaultOrganisationRegisteredCourt()
# XXX images stored on organisation (as do images in skin folders) # XXX images stored on organisation (as do images in skin folders)
if override_logo_reference: if override_logo_reference:
......
...@@ -228,7 +228,8 @@ if pass_parameter is not None and pass_source_data is not None: ...@@ -228,7 +228,8 @@ if pass_parameter is not None and pass_source_data is not None:
return populatePersonDict(context.getContributorValueList(*args, **kw)) return populatePersonDict(context.getContributorValueList(*args, **kw))
return [] return []
# ------------- Override Sender/Recipient Organisation ----------------------- # --------- Override Sender/Recipient Organisation (TITLE) ---------------------
# XXX remove, too much ambiguity if multiple results
# returns [{organisation_dict}] # returns [{organisation_dict}]
if pass_parameter == "override_organisation": if pass_parameter == "override_organisation":
return populateOrganisationDict(portal_object.portal_catalog( return populateOrganisationDict(portal_object.portal_catalog(
...@@ -237,13 +238,10 @@ if pass_parameter is not None and pass_source_data is not None: ...@@ -237,13 +238,10 @@ if pass_parameter is not None and pass_source_data is not None:
title=pass_source_data title=pass_source_data
)) ))
# ----------------------- Sender (Override) ---------------------------------- # ------------ Override Sender/Recipient Organisation (URL) --------------------
# returns [{organisation_dict}] # returns [{organisation_dict}]
if pass_parameter == "sender": if pass_parameter == "override_organisation_relative_url":
return populateOrganisationDict(portal_object.portal_catalog( return populateOrganisationDict([context.restrictedTraverse(pass_source_data)])
portal_type="Organisation",
uid=pass_source_data
))
# -------------- Source/Destination (Person => Organisation) ----------------- # -------------- Source/Destination (Person => Organisation) -----------------
# returns [{organisation_dict}] # returns [{organisation_dict}]
...@@ -289,16 +287,22 @@ if pass_parameter is not None and pass_source_data is not None: ...@@ -289,16 +287,22 @@ if pass_parameter is not None and pass_source_data is not None:
# --------------------- Bank (Default Bank Account) -------------------------- # --------------------- Bank (Default Bank Account) --------------------------
# returns [{bank_account_dict}] used in letter # returns [{bank_account_dict}] used in letter
if pass_parameter == "bank": if pass_parameter == "bank":
return populateBankDict(portal_object.portal_catalog( return populateBankDict([context.restrictedTraverse(pass_source_data)])
portal_type="Bank Account",
uid=pass_source_data
))
# ------------------ Theme Logo (Prefix + Theme) ----------------------------- # ------------------ Theme Logo (Prefix + Theme) -----------------------------
# returns [{logo_dict}] used in themes # returns [{logo_dict}] used in themes, needs to be language-agnostic, but not
# all contexts (eg sale-order) have language
# XXX improve
if pass_parameter == "logo": if pass_parameter == "logo":
try:
use_language = context.getLanguage() or "en"
except AttributeError:
use_language = "en"
return populateImageDict(portal_object.portal_catalog( return populateImageDict(portal_object.portal_catalog(
portal_type="Image", portal_type="Image",
language=use_language,
validation_state=validation_state, validation_state=validation_state,
reference=pass_source_data reference=pass_source_data
)) ))
......
...@@ -14,9 +14,7 @@ blank = '' ...@@ -14,9 +14,7 @@ blank = ''
# XXX images in portal_skins folders don't convert with ?params. Only format # XXX images in portal_skins folders don't convert with ?params. Only format
# is kept in Base_convertHtmlToSingleFile # is kept in Base_convertHtmlToSingleFile
pdf = ".pdf.css" if doc_format == "pdf" else ".css" pdf = ".pdf.css" if doc_format == "pdf" else ".css"
css = "default_theme_css_url" pref = context.getPortalObject().portal_preferences
font = "default_theme_font_css_url_list"
param = "?format=png"
# theme content might not be visible on the default View # theme content might not be visible on the default View
lookup_skin = blank lookup_skin = blank
...@@ -28,35 +26,38 @@ theme_logo_dict = {} ...@@ -28,35 +26,38 @@ theme_logo_dict = {}
theme_reference = None theme_reference = None
theme = ( theme = (
context.Base_getTemplateProxyParameter(parameter="theme", source_data=None) or context.Base_getTemplateProxyParameter(parameter="theme", source_data=None) or
context.Base_getTemplateParameter("theme") or pref.getPreferredCorporateIdentityTemplateDefaultTheme()
context.Base_getTemplateParameter("default_company_title")
) )
if theme is not None: if theme is not None:
theme = theme.lower() theme = theme.lower()
theme_logo_prefix = context.Base_getTemplateParameter("default_logo_prefix") theme_logo_prefix = pref.getPreferredCorporateIdentityTemplateDefaultLogoPrefix()
if theme_logo_prefix: if theme_logo_prefix:
theme_reference = theme_logo_prefix + theme.capitalize() theme_reference = theme_logo_prefix + theme.capitalize()
theme_logo_list = context.Base_getTemplateProxyParameter(parameter="logo", source_data=theme_reference) or [] theme_logo_list = context.Base_getTemplateProxyParameter(parameter="logo", source_data=theme_reference) or []
if len(theme_logo_list) > 0: if len(theme_logo_list) > 0:
theme_logo_dict = theme_logo_list[0] theme_logo_dict = theme_logo_list[0]
if theme is None:
theme = "default"
theme_dict = {} theme_dict = {}
theme_logo_url = pref.getPreferredCorporateIdentityTemplateFallbackLogoRelativeUrl()
theme_dict["theme"] = theme theme_dict["theme"] = theme
theme_dict["theme_logo_description"] = theme_logo_dict.get("description", blank) theme_dict["theme_logo_description"] = theme_logo_dict.get("description", blank)
theme_dict["theme_logo_url"] = context.Base_getTemplateParameter("fallback_image") theme_dict["theme_logo_url"] = theme_logo_url
# if a theme logo is available, use it instead and add format=png (note, image
# conversion doesn't seem to work with files loaded from skins folders)
if theme_logo_dict.get("relative_url", None) is not None: if theme_logo_dict.get("relative_url", None) is not None:
theme_dict["theme_logo_url"] = theme_logo_dict.get("relative_url") + param theme_dict["theme_logo_url"] = theme_logo_dict.get("relative_url") + "?format=png"
theme_dict["template_css_url"] = css_path + pdf theme_dict["template_css_url"] = css_path + pdf
theme_dict["fallback_img_url"] = context.Base_getTemplateParameter("fallback_image") or blank theme_dict["fallback_img_url"] = theme_logo_url or blank
theme_dict["theme_css_font_list"] = [] theme_dict["theme_css_font_list"] = []
theme_font_list = context.Base_getTemplateParameter(font) or [] theme_font_list = pref.getPreferredCorporateIdentityTemplateDefaultThemeFontList() or []
for font in theme_font_list: for font in theme_font_list:
theme_dict["theme_css_font_list"].append(font + pdf) theme_dict["theme_css_font_list"].append(font + pdf)
theme_css_url = context.Base_getTemplateParameter(css) theme_css_url = pref.getPreferredCorporateIdentityTemplateThemeCssRelativeUrl()
if theme_css_url: if theme_css_url:
theme_dict["theme_css_url"] = context.Base_getTemplateParameter(css) + lookup_skin theme_dict["theme_css_url"] = theme_css_url + lookup_skin
else: else:
theme_dict["theme_css_url"] = blank theme_dict["theme_css_url"] = blank
return theme_dict return theme_dict
...@@ -30,6 +30,7 @@ import re ...@@ -30,6 +30,7 @@ import re
from base64 import b64encode from base64 import b64encode
blank = '' blank = ''
pref = context.getPortalObject().portal_preferences
# -------------------------- Setup --------------------------------------------- # -------------------------- Setup ---------------------------------------------
letter = context letter = context
...@@ -50,7 +51,7 @@ override_batch_mode = kw.get('batch_mode', None) ...@@ -50,7 +51,7 @@ override_batch_mode = kw.get('batch_mode', None)
# -------------------------- Document Parameters ------------------------------ # -------------------------- Document Parameters ------------------------------
letter_portal_type = letter.getPortalType() letter_portal_type = letter.getPortalType()
letter_relative_url = letter.getRelativeUrl() letter_relative_url = letter.getRelativeUrl()
letter_prefix = "Letter." letter_prefix = pref.getPreferredCorporateIdentityTemplateLetterDocumentPrefix() or "Letter."
# letter can be Web Page or Event created in Ticket module # letter can be Web Page or Event created in Ticket module
if letter_portal_type == "Web Page": if letter_portal_type == "Web Page":
......
...@@ -39,12 +39,15 @@ from Products.PythonScripts.standard import html_quote ...@@ -39,12 +39,15 @@ from Products.PythonScripts.standard import html_quote
from base64 import b64encode from base64 import b64encode
blank = '' blank = ''
pref = context.getPortalObject().portal_preferences
# ------------------ HTML cleanup/converter methods ---------------------------- # ------------------ HTML cleanup/converter methods ----------------------------
def translateText(snip): def translateText(snip):
return doc_localiser.erp5_ui.gettext(snip, lang=doc_language).encode('utf-8').strip() return doc_localiser.erp5_ui.gettext(snip, lang=doc_language).encode('utf-8').strip()
# -------------------------- Setup --------------------------------------------- # -------------------------- Setup ---------------------------------------------
doc = context doc = context
doc_prefix = pref.getPreferredCorporateIdentityTemplateReportDocumentPrefix() or "Report."
doc_download = None #XXX not yet implemented doc_download = None #XXX not yet implemented
doc_save = int(kw.get('document_save') or 0) doc_save = int(kw.get('document_save') or 0)
doc_display_header = int(kw.get('display_header') or 0) doc_display_header = int(kw.get('display_header') or 0)
...@@ -80,7 +83,7 @@ doc_embed = doc_format == 'html' and (doc_display_embedded or doc_display_sandbo ...@@ -80,7 +83,7 @@ doc_embed = doc_format == 'html' and (doc_display_embedded or doc_display_sandbo
# -------------------------- Document Parameters ------------------------------ # -------------------------- Document Parameters ------------------------------
doc_localiser = doc.getPortalObject().Localizer doc_localiser = doc.getPortalObject().Localizer
doc_rendering_fix = doc.Base_getTemplateParameter('wkhtmltopdf_rendering_fix') or blank doc_rendering_fix = doc.WebPage_getPdfOutputRenderingFix() or blank
doc_report = getattr(doc, doc_report_name) doc_report = getattr(doc, doc_report_name)
doc_aggregate_list = [] doc_aggregate_list = []
doc_revision = "1" doc_revision = "1"
...@@ -124,7 +127,7 @@ if doc_language is not None: ...@@ -124,7 +127,7 @@ if doc_language is not None:
if doc_language is None: if doc_language is None:
doc_language = blank doc_language = blank
if doc_reference == blank: if doc_reference == blank:
doc_reference = "Report." + doc_title.replace(" ", ".") doc_reference = doc_prefix + doc_title.replace(" ", ".")
doc_full_reference = '-'.join([doc_reference, doc_version, doc_language]) doc_full_reference = '-'.join([doc_reference, doc_version, doc_language])
doc_short_date = doc_modification_date.strftime('%Y-%m-%d') doc_short_date = doc_modification_date.strftime('%Y-%m-%d')
...@@ -154,8 +157,8 @@ if doc_format == "html": ...@@ -154,8 +157,8 @@ if doc_format == "html":
book_template_css_url=doc_theme.get("template_css_url"), book_template_css_url=doc_theme.get("template_css_url"),
book_logo_url=doc.Base_setUrl(path=doc_source.get("enhanced_logo_url"), display=None), book_logo_url=doc.Base_setUrl(path=doc_source.get("enhanced_logo_url"), display=None),
book_logo_title=doc_source.get("theme_logo_description"), book_logo_title=doc_source.get("theme_logo_description"),
book_report_css_list=doc.Base_getTemplateParameter("report_css_list") or [], book_report_css_list=pref.getPreferredCorporateIdentityTemplateReportCssList() or [],
book_report_js_list=doc.Base_getTemplateParameter("report_js_list") or [], book_report_js_list=pref.getPreferredCorporateIdentityTemplateReportJsList() or [],
book_short_title=doc_short_title, book_short_title=doc_short_title,
book_reference=doc_reference, book_reference=doc_reference,
book_revision=doc_revision, book_revision=doc_revision,
...@@ -190,8 +193,8 @@ if doc_format == "pdf": ...@@ -190,8 +193,8 @@ if doc_format == "pdf":
book_theme_css_font_list=doc_theme.get("theme_css_font_list"), book_theme_css_font_list=doc_theme.get("theme_css_font_list"),
book_theme_css_url=doc_theme.get("theme_css_url"), book_theme_css_url=doc_theme.get("theme_css_url"),
book_template_css_url=doc_theme.get("template_css_url"), book_template_css_url=doc_theme.get("template_css_url"),
book_report_css_list=doc.Base_getTemplateParameter("report_css_list") or [], book_report_css_list=pref.getPreferredCorporateIdentityTemplateReportCssList() or [],
book_report_js_list=doc.Base_getTemplateParameter("report_js_list") or [], book_report_js_list=pref.getPreferredCorporateIdentityTemplateReportJsList() or [],
book_content=doc_content, book_content=doc_content,
) )
......
"""
================================================================================
Return list of bank accounts for default organisation defined in preferences
================================================================================
"""
# parameters:
# ------------------------------------------------------------------------------
# parameter Parameter to lookup
from zExceptions import Unauthorized
preference = context.getPortalObject().portal_preferences
fallback_logo_relative_url = preference.getPreferredCorporateIdentityTemplateFallbackLogoRelativeUrl()
if fallback_logo_relative_url:
try:
return context.restrictedTraverse(fallback_logo_relative_url).absolute_url()
except Unauthorized:
return None
return None
<?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></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Preference_getDefaultFallbackLogoAbsoluteUrl</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
"""
================================================================================
Return list of bank accounts for default organisation defined in preferences
================================================================================
"""
# parameters:
# ------------------------------------------------------------------------------
# parameter Parameter to lookup
from zExceptions import Unauthorized
preference = context.getPortalObject().portal_preferences
organisation_relative_url = preference.getPreferredCorporateIdentityTemplateDefaultOrganisationRelativeUrl()
if organisation_relative_url:
try:
organisation = context.restrictedTraverse(organisation_relative_url)
return [('', '')] + [(account.getTitle(), account.getRelativeUrl()) for account in organisation.searchFolder(portal_type='Bank Account', sort_on='title')]
except Unauthorized:
return None
return None
<?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></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Preference_getDefaultOrganisationBankAccountList</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>_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/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Base_edit</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></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>bottom</string>
<string>listbox</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</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>my_preferred_corporate_identity_template_default_organisation_relative_url</string>
<string>my_preferred_corporate_identity_template_default_theme</string>
<string>my_preferred_corporate_identity_template_theme_css_relative_url</string>
<string>my_preferred_corporate_identity_template_fallback_logo_absolute_url</string>
<string>my_preferred_corporate_identity_template_fallback_logo_relative_url</string>
</list>
</value>
</item>
<item>
<key> <string>listbox</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Preference_viewCorporateIdentityStyle</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>Preference_viewCorporateIdentityStyle</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_view</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>Corporate Identity Template Preferences</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></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="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>description</string>
<string>items</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_preferred_corporate_identity_template_default_organisation_relative_url</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>description</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>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</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>description</string> </key>
<value> <string>Default organisation that should be used on templates.</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_list_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/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Default Organisation Title</string> </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>python: [(\'\', \'\')] + [(organisation.getTitle(), organisation.getRelativeUrl()) for organisation in here.getPortalObject().portal_catalog(portal_type=\'Organisation\', group_relative_url=\'group/%\', sort_on=\'title\')]</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>description</string>
<string>items</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_preferred_corporate_identity_template_default_theme</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>description</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>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>description</string> </key>
<value> <string>The default theme used to style templates if no other override applies.</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_string_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/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Default Theme</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>description</string>
<string>enabled</string>
<string>image_display</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_preferred_corporate_identity_template_fallback_logo_absolute_url</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>
<item>
<key> <string>target</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>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</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>image_display</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</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></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>(no value specified/image not found in Fallback Logo Relative Url)</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_thumbnail</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>File_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>image_display</string> </key>
<value> <string>thumbnail</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Logo</string> </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>python: here.Preference_getDefaultFallbackLogoAbsoluteUrl()</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>description</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_preferred_corporate_identity_template_fallback_logo_relative_url</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>description</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>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></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Relative url of logo to be used if no theme logo can be found.</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_string_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/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Fallback Logo Relative Url</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>description</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_preferred_corporate_identity_template_theme_css_relative_url</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>description</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> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>relative Url pointing to a portal skin folder containing themes css</string> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_string_field</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>Theme CSS (relative url)</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
""" """
================================================================================ ================================================================================
Return custom hardcoded parameters Scripts correcting wrong behaviors in WkHTMLtoPDF rendering
================================================================================ ================================================================================
""" """
# parameters: # parameters:
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# parameter Parameter to lookup # parameter Parameter to lookup
if parameter == "fallback_image": # included:
return "template_images/fallback.png" # - prevent resizing of document and font-size based on width of widest element
if parameter == "default_theme_css_url":
return "template_themes/themes.css"
if parameter == "wkhtmltopdf_rendering_fix":
return """ return """
<script> <script>
(function () { (function () {
var table_list = document.body.querySelectorAll("table"), var table_list = document.body.querySelectorAll("table"),
......
...@@ -50,11 +50,11 @@ ...@@ -50,11 +50,11 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>parameter=None, source_data=None</string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>Base_getTemplateParameter</string> </value> <value> <string>WebPage_getPdfOutputRenderingFix</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -18,42 +18,69 @@ if img_string is None or img_string == "": ...@@ -18,42 +18,69 @@ if img_string is None or img_string == "":
return img_string return img_string
img_src = re.findall("src=['\"](.*?)['\"]", img_string)[0] img_src = re.findall("src=['\"](.*?)['\"]", img_string)[0]
img_obj = context.restrictedTraverse(img_src.split("?")[0], None) img_type = None
# flag broken link until further notice # START user ignoring guidelines:
if img_obj is None: validation_freebie = None
raise NotFound('The following image could not be found in erp5: %s' % (img_src.split("?")[0])) new_src = None
img_type = img_obj.getContentType() # Guideline: no relative links. we cover
if img_src.startswith("./"):
new_src = img_src.replace("./", "")
# ensure alt attributes are set img_string = img_string.replace(img_src, new_src)
if img_string.find('alt=') == -1:
img_string.replace ("src=", 'alt="%s" src=' % img_caption or img_obj.getTitle()) # Guideline: include format. we cover
img_src = new_src or img_src
# force svg display as svg or png if img_src.find("format=") == -1:
if img_type == "image/svg+xml": if img_src.find("?") == -1:
if img_svg_format == "png" or img_svg_format is None: new_src = img_src + "?format="
img_string = img_string.replace('type="image/svg+xml"', '') else:
img_string = img_string.replace("type='image/svg+xml'", '') new_src = img_src + "&amp;format="
img_string = img_string.replace('format=svg', 'format=png') img_string = img_string.replace(img_src, new_src)
if img_svg_format == "svg":
img_string = img_string.replace('src=', 'type="image/svg+xml" src=') # Guideline: images must be stored locally, don't complain if your pdf breaks
img_string = img_string.replace('src=', "type='image/svg+xml' src=") img_src = new_src or img_src
img_string = img_string.replace('format=png', 'format=svg') if img_src.startswith("http"):
validation_freebie = True
# wrap image in fullscreen link
if img_fullscreen_link: if validation_freebie is None:
img_string = ''.join([ #END user ignoring guidelines
'<a target="_blank" rel="noopener noreferrer" href="%s" title="%s">%s<a>' % (
img_src, img_obj = context.restrictedTraverse(img_src.split("?")[0], None)
img_obj.getTitle(),
img_string # flag broken link until further notice
) if img_obj is None:
]) raise NotFound('The following image could not be found in erp5 OR is not following guidelines for links (eg no ./ prefix): %s' % (img_src.split("?")[0]))
# wrap image in <p> tag img_type = img_obj.getContentType()
if img_wrap:
img_string = '<p class="ci-book-img" style="text-align:center">' + img_string + '</p>' # ensure alt attributes are set
if img_string.find('alt=') == -1:
img_string.replace ("src=", 'alt="%s" src=' % img_caption or img_obj.getTitle())
# force svg display as svg or png
if img_type == "image/svg+xml":
if img_svg_format == "png" or img_svg_format is None:
img_string = img_string.replace('type="image/svg+xml"', '')
img_string = img_string.replace("type='image/svg+xml'", '')
img_string = img_string.replace('format=svg', 'format=png')
if img_svg_format == "svg":
img_string = img_string.replace('src=', 'type="image/svg+xml" src=')
img_string = img_string.replace('src=', "type='image/svg+xml' src=")
img_string = img_string.replace('format=png', 'format=svg')
# wrap image in fullscreen link
if img_fullscreen_link:
img_string = ''.join([
'<a target="_blank" rel="noopener noreferrer" href="%s" title="%s">%s<a>' % (
img_src,
img_obj.getTitle(),
img_string
)
])
# wrap image in <p> tag
if img_wrap:
img_string = '<p class="ci-book-img" style="text-align:center">' + img_string + '</p>'
return img_string return img_string
...@@ -38,6 +38,7 @@ from Products.PythonScripts.standard import html_quote ...@@ -38,6 +38,7 @@ from Products.PythonScripts.standard import html_quote
from base64 import b64encode from base64 import b64encode
blank = '' blank = ''
pref = context.getPortalObject().portal_preferences
# ------------------ HTML cleanup/converter methods ---------------------------- # ------------------ HTML cleanup/converter methods ----------------------------
def translateText(snip): def translateText(snip):
...@@ -69,8 +70,8 @@ override_batch_mode = kw.get('batch_mode') ...@@ -69,8 +70,8 @@ override_batch_mode = kw.get('batch_mode')
# -------------------------- Document Parameters ------------------------------ # -------------------------- Document Parameters ------------------------------
book_localiser = book.getPortalObject().Localizer book_localiser = book.getPortalObject().Localizer
book_relative_url = book.getRelativeUrl() book_relative_url = book.getRelativeUrl()
book_prefix = "Book." book_prefix = pref.getPreferredCorporateIdentityTemplateBookDocumentPrefix() or "Book."
book_rendering_fix = book.Base_getTemplateParameter('wkhtmltopdf_rendering_fix') or blank book_rendering_fix = book.WebPage_getPdfOutputRenderingFix() or blank
book_content = book.getTextContent() book_content = book.getTextContent()
book_aggregate_list = [] book_aggregate_list = []
book_revision = book.getRevision() book_revision = book.getRevision()
...@@ -143,8 +144,8 @@ if book_include_linked_content: ...@@ -143,8 +144,8 @@ if book_include_linked_content:
# embed reports # embed reports
if book_include_report_content: if book_include_report_content:
book_report_css_list = book.Base_getTemplateParameter("report_css_list") or [] book_report_css_list = pref.getPreferredCorporateIdentityTemplateReportCssList() or []
book_report_js_list = book.Base_getTemplateParameter("report_js_list") or [] book_report_js_list = pref.getPreferredCorporateIdentityTemplateReportJsList() or []
book_content = book.WebPage_embedReportDocumentList(doc_content=book_content, doc_language=book_language, doc_format=book_format) book_content = book.WebPage_embedReportDocumentList(doc_content=book_content, doc_language=book_language, doc_format=book_format)
# table of links # table of links
......
...@@ -27,6 +27,7 @@ from Products.PythonScripts.standard import html_quote ...@@ -27,6 +27,7 @@ from Products.PythonScripts.standard import html_quote
from base64 import b64encode from base64 import b64encode
blank = '' blank = ''
pref = context.getPortalObject().portal_preferences
# ------------------ HTML cleanup/converter methods ---------------------------- # ------------------ HTML cleanup/converter methods ----------------------------
def removeLegalesePlaceholders(content): def removeLegalesePlaceholders(content):
...@@ -36,7 +37,7 @@ def removeLegalesePlaceholders(content): ...@@ -36,7 +37,7 @@ def removeLegalesePlaceholders(content):
# -------------------------- Setup --------------------------------------------- # -------------------------- Setup ---------------------------------------------
leaflet = context leaflet = context
leaflet_prefix = "Leaflet." leaflet_prefix = pref.getPreferredCorporateIdentityTemplateLeafletDocumentPrefix() or "Leaflet."
leaflet_format = kw.get('format') or 'html' leaflet_format = kw.get('format') or 'html'
leaflet_display_svg = kw.get('display_svg') or "png" leaflet_display_svg = kw.get('display_svg') or "png"
leaflet_download = int(kw.get('document_download') or 0) leaflet_download = int(kw.get('document_download') or 0)
......
...@@ -24,6 +24,7 @@ import re ...@@ -24,6 +24,7 @@ import re
from base64 import b64encode from base64 import b64encode
blank = '' blank = ''
pref = context.getPortalObject().portal_preferences
re_tag = re.compile(r'<[^>]+>') re_tag = re.compile(r'<[^>]+>')
# ------------------ HTML cleanup/converter methods ---------------------------- # ------------------ HTML cleanup/converter methods ----------------------------
...@@ -38,7 +39,7 @@ def removeHardcodedAbout(my_content): ...@@ -38,7 +39,7 @@ def removeHardcodedAbout(my_content):
# -------------------------- Setup --------------------------------------------- # -------------------------- Setup ---------------------------------------------
release = context release = context
release_prefix = "Release." release_prefix = pref.getPreferredCorporateIdentityTemplateReleaseDocumentPrefix() or "Release."
release_format = kw.get('format') or 'html' release_format = kw.get('format') or 'html'
release_display_about = int(kw.get('display_about') or 0) release_display_about = int(kw.get('display_about') or 0)
release_display_svg = kw.get('display_svg') or "png" release_display_svg = kw.get('display_svg') or "png"
......
...@@ -29,6 +29,7 @@ from base64 import b64encode ...@@ -29,6 +29,7 @@ from base64 import b64encode
blank = '' blank = ''
details_separator = '</section><section class="ci-notes-continue"><section><h1>cont.</h1></section>' details_separator = '</section><section class="ci-notes-continue"><section><h1>cont.</h1></section>'
pref = context.getPortalObject().portal_preferences
# ------------------ HTML cleanup/converter methods ---------------------------- # ------------------ HTML cleanup/converter methods ----------------------------
def getSlideList(my_content): def getSlideList(my_content):
...@@ -148,7 +149,7 @@ def sortContent(my_page_list): ...@@ -148,7 +149,7 @@ def sortContent(my_page_list):
# -------------------------- Setup --------------------------------------------- # -------------------------- Setup ---------------------------------------------
doc = context doc = context
doc_prefix = "Slideshow." doc_prefix = pref.getPreferredCorporateIdentityTemplateSlideDocumentPrefix() or "Slideshow."
doc_converted_content = None doc_converted_content = None
doc_format = kw.get('format') or 'html' doc_format = kw.get('format') or 'html'
doc_display_notes = int(kw.get('display_note') or 0) doc_display_notes = int(kw.get('display_note') or 0)
......
Preference | corporate_identity_style_preferences
Web Page | export_book Web Page | export_book
Web Page | export_leaflet Web Page | export_leaflet
Web Page | export_letter Web Page | export_letter
......
CorporateIdentityTemplatePreference
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Category" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Authenticated</string>
<string>Author</string>
<string>Manager</string>
<string>Member</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_folders_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Copy_or_Move_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Delete_objects_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>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Authenticated</string>
<string>Author</string>
<string>Manager</string>
<string>Member</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>group/web</string>
</tuple>
</value>
</item>
<item>
<key> <string>codification</string> </key>
<value> <string>TEST</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>template-test-group</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Group to associate organisations with.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>template_test_group</string> </value>
</item>
<item>
<key> <string>int_index</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Category</string> </value>
</item>
<item>
<key> <string>short_title</string> </key>
<value> <string>Template Test Group</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Tepmlate Test Group</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>category_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>edit_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1537195468.01</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published</string> </value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>969.56682.45078.47052</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1537195460.2</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36831120.16</string> </value> <value> <string>ts37950729.85</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>1800cf6c656efd64f7fd39bde885c592</string> </value> <value> <string>4bfc2552cadf568a4fac05ad5ea9fd3f</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36831147.45</string> </value> <value> <string>ts37950753.99</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>e8d12cb895d034eb4d99f822791385d4</string> </value> <value> <string>4f1a0d16414a4f29976970048cab16ec</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36831198.37</string> </value> <value> <string>ts37950829.52</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>24cddfd9e91daa81526120cff93f59ed</string> </value> <value> <string>8b379454e584fda3bd33269520dcfdae</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36831285.39</string> </value> <value> <string>ts37950954.73</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>a21ec21eee7dba797e655095d0bd0dc6</string> </value> <value> <string>4d609cca5a42c9e95c281de46ae2049f</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36831306.03</string> </value> <value> <string>ts37950975.16</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>f3229410316c9cf781e8cd07e412be3e</string> </value> <value> <string>bf241b0cfed1e71947dbb920796084f7</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36831327.15</string> </value> <value> <string>ts37950993.69</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>f428db364c00bdb9e343f73e3f03a892</string> </value> <value> <string>aa66df6af2a67a876b3254003ca11f55</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36831415.1</string> </value> <value> <string>ts37951144.88</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>8a00224bf348c801a68b1e34ce3a88cf</string> </value> <value> <string>c044f0bc599d83547b91b878f12643d6</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36831433.43</string> </value> <value> <string>ts37951160.16</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>ca5350229660bc2cd6ccdb6a85c8562e</string> </value> <value> <string>2941d0ae9969d740a111ddcc62f688e4</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
...@@ -125,7 +125,7 @@ ...@@ -125,7 +125,7 @@
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>19857</int> </value> <value> <int>19887</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36831450.13</string> </value> <value> <string>ts37951174.41</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>4146b9de9b4b8d8ff7e26238a41c6641</string> </value> <value> <string>d4c50e14d1064a40714e0a82b400e09a</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36831466.25</string> </value> <value> <string>ts37951208.4</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>47b73e4605981025aee5af58454f4885</string> </value> <value> <string>f0c49148ba9244d1bbba411302b256aa</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
...@@ -125,7 +125,7 @@ ...@@ -125,7 +125,7 @@
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>24697</int> </value> <value> <int>24753</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36831650.44</string> </value> <value> <string>ts37951394.93</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>c3ebe97d224414d74ab3afd70f065e7d</string> </value> <value> <string>4428e0301e3e21c695aa0576e55245e0</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
...@@ -125,7 +125,7 @@ ...@@ -125,7 +125,7 @@
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>12150</int> </value> <value> <int>12176</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36831676.64</string> </value> <value> <string>ts37951419.82</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>5bd4c58cc31a686952f104e4c1ae6cf1</string> </value> <value> <string>fff5b9974a245dba62f09c6f27f641ae</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36831563.94</string> </value> <value> <string>ts37951312.42</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>9998fd627ba1add5fded6a6ea9fdc65e</string> </value> <value> <string>b311e13aebe00e66ed9b90a475a615f5</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36831582.85</string> </value> <value> <string>ts37951333.1</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>a2b84a60d5c12d1520846fbf9cb79ea7</string> </value> <value> <string>af0fd8bc81a94b859f20af8e413d7a70</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36830746.23</string> </value> <value> <string>ts37950506.8</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>1347a0ac51a4ccba25cdc2ac1b9ec10e</string> </value> <value> <string>5f25cd0f43a49e15e603c5762696c120</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36830811.1</string> </value> <value> <string>ts37950562.66</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>0f812c098ecdab01bfc987059e4004c8</string> </value> <value> <string>d486cf9d9b2e51371e2c43abd54d465a</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36830842.07</string> </value> <value> <string>ts37950594.73</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>760600ccb9366e7f4a4b35d10fcb09e9</string> </value> <value> <string>94dea255972bf4c598e5a7720c1cd89a</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36830779.5</string> </value> <value> <string>ts37950535.94</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>99655de2a23499c325e02c5e1f139f83</string> </value> <value> <string>6944a887889bc89a79f81e78f80cdbf7</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</item> </item>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts36830873.95</string> </value> <value> <string>ts37950625.11</string> </value>
</item> </item>
<item> <item>
<key> <string>_Modify_portal_content_Permission</string> </key> <key> <string>_Modify_portal_content_Permission</string> </key>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>78b18dfe4630d1460833c1ba7678f8e3</string> </value> <value> <string>57d8e62e74b969d47c0f86545d727a3d</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
...@@ -125,7 +125,7 @@ ...@@ -125,7 +125,7 @@
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>381275</int> </value> <value> <int>680293</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>1fa4ce97d8ab6401164a4f774cdad85f</string> </value> <value> <string>a5a69b7067fad35fe505e713a39926b3</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>8f96654e4aac086390251c0959a5d23b</string> </value> <value> <string>c6bef2ea51fccf25726a99d95bb775f6</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>843faf512ca711b1ebd3339fa6581610</string> </value> <value> <string>d9d6b3fcc977c59003b7c3ff45b712dc</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>4a92af525f76b275d4d73a8ead62d4f0</string> </value> <value> <string>7a44a54d7983374d6d78fa236086f3f9</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>a985de3495772d1be866c2cea93d9fcb</string> </value> <value> <string>712b3838ab7cff82801b12e9d2320798</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>2243af0bfbcbbdc87d2888999e7e9658</string> </value> <value> <string>0e800001641ac82a9a5fd63baab1dc2d</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>c2989e1f277187b0784406c2e8ddd265</string> </value> <value> <string>ccba69bf87b246e121f39ce620848fd9</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>1a6dbc21e885ae9479ea9fdd58ecb54e</string> </value> <value> <string>d5dd6b63f57af426048526c7aaa5ad8e</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>703f25c1e03884570255bbcee56a3993</string> </value> <value> <string>23217fa0e6181e4b918260bb5acd7216</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>68113f1ec8a1594fee7aa9dc32a7e50d</string> </value> <value> <string>053f64abd059a82cbfef28544d6113c5</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>f1261355ec697ed25b249f57beb77594</string> </value> <value> <string>20b3b2ca75000a5bbe07ae64f3cdbfb4</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>3360e0cf7fc91298c984bc07da3c5eaf</string> </value> <value> <string>61c7761c9634e9261210fdad1d67ae8d</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>57ea75a3c526f3c84839ee29f7c70321</string> </value> <value> <string>409b5d5406d33d2cd442f94b9e815735</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>2b69a7af236bccfd6a5625b18bd64921</string> </value> <value> <string>5c01f2bac0d7f674b0fe882dcc887c58</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>15f2ac717a9096c3c709e9ea98354653</string> </value> <value> <string>412bf7046b9fdeb3db9cfb5bc3dc5f17</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>e49a56dc6b1efa0ea16cd3cdffa59ff7</string> </value> <value> <string>68efdd2b8ade6b40137293564331b54b</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</item> </item>
<item> <item>
<key> <string>content_md5</string> </key> <key> <string>content_md5</string> </key>
<value> <string>125dda705d2c7c8942345bf6f5dd3eaa</string> </value> <value> <string>f0e5019456acc85045ef585730bb0e4d</string> </value>
</item> </item>
<item> <item>
<key> <string>content_type</string> </key> <key> <string>content_type</string> </key>
......
...@@ -70,6 +70,14 @@ ...@@ -70,6 +70,14 @@
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value> </value>
</item> </item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>group/template_test_group</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>corporate_name</string> </key> <key> <string>corporate_name</string> </key>
<value> <string>Test Association</string> </value> <value> <string>Test Association</string> </value>
......
...@@ -70,6 +70,14 @@ ...@@ -70,6 +70,14 @@
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value> </value>
</item> </item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>group/template_test_group</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>corporate_name</string> </key> <key> <string>corporate_name</string> </key>
<value> <string>Test Organisation</string> </value> <value> <string>Test Organisation</string> </value>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Bank Account" 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>Associate</string>
<string>Auditor</string>
<string>Author</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>Associate</string>
<string>Author</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Author</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>Associate</string>
<string>Auditor</string>
<string>Author</string>
<string>Manager</string>
<string>Owner</string>
</tuple>
</value>
</item>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>comment</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>string</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>bank_account_holder_name</string> </key>
<value> <string>Template Test</string> </value>
</item>
<item>
<key> <string>bank_account_key</string> </key>
<value> <string>Foo</string> </value>
</item>
<item>
<key> <string>bank_account_number</string> </key>
<value> <string>0190 123 456</string> </value>
</item>
<item>
<key> <string>bank_code</string> </key>
<value> <string>12345</string> </value>
</item>
<item>
<key> <string>bank_country_code</string> </key>
<value> <string>12</string> </value>
</item>
<item>
<key> <string>branch</string> </key>
<value> <string>67890</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string>Template Test</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Template Test Bank Account</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>default_bank_account</string> </value>
</item>
<item>
<key> <string>overdraft_facility</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Bank Account</string> </value>
</item>
<item>
<key> <string>start_date</string> </key>
<value>
<object>
<klass>
<global id="1.1" name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>946684800.0</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>stop_date</string> </key>
<value>
<object>
<klass> <reference id="1.1"/> </klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>4102358400.0</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Template Test Bank Account</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -70,6 +70,14 @@ ...@@ -70,6 +70,14 @@
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value> </value>
</item> </item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>marital_status/single</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>default_reference</string> </key> <key> <string>default_reference</string> </key>
<value> <value>
...@@ -86,6 +94,10 @@ ...@@ -86,6 +94,10 @@
<key> <string>first_name</string> </key> <key> <string>first_name</string> </key>
<value> <string>Test</string> </value> <value> <string>Test</string> </value>
</item> </item>
<item>
<key> <string>head_of_family</string> </key>
<value> <int>0</int> </value>
</item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>template_test_member</string> </value> <value> <string>template_test_member</string> </value>
......
...@@ -41,11 +41,24 @@ ...@@ -41,11 +41,24 @@
</tuple> </tuple>
</value> </value>
</item> </item>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item> <item>
<key> <string>categories</string> </key> <key> <string>categories</string> </key>
<value> <value>
<tuple> <tuple>
<string>subordination/organisation_module/template_test_association</string> <string>subordination/organisation_module/template_test_association</string>
<string>grade/trainee</string>
</tuple> </tuple>
</value> </value>
</item> </item>
...@@ -57,6 +70,40 @@ ...@@ -57,6 +70,40 @@
<key> <string>portal_type</string> </key> <key> <string>portal_type</string> </key>
<value> <string>Career</string> </value> <value> <string>Career</string> </value>
</item> </item>
<item>
<key> <string>salary_coefficient</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary> </dictionary>
</pickle> </pickle>
</record> </record>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Category" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Authenticated</string>
<string>Author</string>
<string>Manager</string>
<string>Member</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_folders_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Copy_or_Move_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Delete_objects_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>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Authenticated</string>
<string>Author</string>
<string>Manager</string>
<string>Member</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>group/web</string>
</tuple>
</value>
</item>
<item>
<key> <string>codification</string> </key>
<value> <string>TEST</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>template-test-group</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Group to associate organisations with.</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>template_test_group</string> </value>
</item>
<item>
<key> <string>int_index</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Category</string> </value>
</item>
<item>
<key> <string>short_title</string> </key>
<value> <string>Template Test Group</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Tepmlate Test Group</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>category_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>edit_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1537195468.01</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published</string> </value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
</pickle>
<pickle>
<tuple>
<none/>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>969.56682.45078.47052</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1537195460.2</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</tuple>
</pickle>
</record>
</ZopeData>
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
href="template_themes/themes.css?portal_skin=Leaflet" /> href="template_themes/themes.css?portal_skin=Leaflet" />
<link rel="stylesheet" href="template_css/leaflet.css" /> <link rel="stylesheet" href="template_css/leaflet.css" />
<style type="text/css">html .ci-leaflet #left-summary:before {background: url("None") center no-repeat;background-size: contain;}html .ci-leaflet #legalese:before {background: url("template_images/fallback.png") center no-repeat;background-size: contain;content: "";display: block;height: 60px;}</style> <style type="text/css">html .ci-leaflet #left-summary:before {background: url("None") center no-repeat;background-size: contain;}html .ci-leaflet #legalese:before {background: url("image_module/template_test_image_logo_png") center no-repeat;background-size: contain;content: "";display: block;height: 60px;}</style>
<script type="text/javascript"> <script type="text/javascript">
function setPlaceholdersWithUrlParameters() { function setPlaceholdersWithUrlParameters() {
...@@ -202,7 +202,8 @@ ...@@ -202,7 +202,8 @@
<div class="ci-leaflet-container-left"> <div class="ci-leaflet-container-left">
<div class="ci-leaflet-footer-image-wrapper"> <div class="ci-leaflet-footer-image-wrapper">
<img alt="Logo" src="template_images/fallback.png" /> <img alt="Logo"
src="image_module/template_test_image_logo_png?display=thumbnail" />
</div> </div>
</div> </div>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
href="template_themes/themes.css?portal_skin=Leaflet" /> href="template_themes/themes.css?portal_skin=Leaflet" />
<link rel="stylesheet" href="template_css/leaflet.css" /> <link rel="stylesheet" href="template_css/leaflet.css" />
<style type="text/css">html .ci-leaflet #left-summary:before {background: url("None") center no-repeat;background-size: contain;}html .ci-leaflet #legalese:before {background: url("template_images/fallback.png") center no-repeat;background-size: contain;content: "";display: block;height: 60px;}</style> <style type="text/css">html .ci-leaflet #left-summary:before {background: url("None") center no-repeat;background-size: contain;}html .ci-leaflet #legalese:before {background: url("image_module/template_test_image_logo_png") center no-repeat;background-size: contain;content: "";display: block;height: 60px;}</style>
<script type="text/javascript"> <script type="text/javascript">
function setPlaceholdersWithUrlParameters() { function setPlaceholdersWithUrlParameters() {
...@@ -202,7 +202,8 @@ ...@@ -202,7 +202,8 @@
<div class="ci-leaflet-container-left"> <div class="ci-leaflet-container-left">
<div class="ci-leaflet-footer-image-wrapper"> <div class="ci-leaflet-footer-image-wrapper">
<img alt="Logo" src="template_images/fallback.png" /> <img alt="Logo"
src="image_module/template_test_image_logo_png?display=thumbnail" />
</div> </div>
</div> </div>
......
...@@ -15,7 +15,8 @@ ...@@ -15,7 +15,8 @@
<div class="ci-letter-header"> <div class="ci-letter-header">
<div class="ci-letter-bar"> <div class="ci-letter-bar">
<div class="ci-letter-bar-logo"> <div class="ci-letter-bar-logo">
<img src="template_images/fallback.png" alt="" /> <img src="image_module/template_test_image_logo_png?display=thumbnail"
alt="" />
<span></span> <span></span>
</div> </div>
<div class="ci-letter-bar-purporse"><span></span></div> <div class="ci-letter-bar-purporse"><span></span></div>
......
...@@ -15,7 +15,8 @@ ...@@ -15,7 +15,8 @@
<div class="ci-letter-header"> <div class="ci-letter-header">
<div class="ci-letter-bar"> <div class="ci-letter-bar">
<div class="ci-letter-bar-logo"> <div class="ci-letter-bar-logo">
<img src="template_images/fallback.png" alt="" /> <img src="image_module/template_test_image_logo_png?display=thumbnail"
alt="" />
<span></span> <span></span>
</div> </div>
<div class="ci-letter-bar-purporse"><span></span></div> <div class="ci-letter-bar-purporse"><span></span></div>
...@@ -142,7 +143,7 @@ Feel free to call me back in case you have further questions (01-23-456789-0). ...@@ -142,7 +143,7 @@ Feel free to call me back in case you have further questions (01-23-456789-0).
</td> </td>
<td> <td>
<div> <div>
<span class="ci-letter-footer-title">Bank Account</span><span></span> <span class="ci-letter-footer-title">Bank Account</span><span>Template Test Bank Account</span>
<span class="ci-letter-footer-title">BIC</span><span></span> <span class="ci-letter-footer-title">BIC</span><span></span>
<span class="ci-letter-footer-title">IBAN</span><span></span> <span class="ci-letter-footer-title">IBAN</span><span></span>
<span class="ci-letter-footer-title">VAT ID</span><span></span> <span class="ci-letter-footer-title">VAT ID</span><span></span>
......
...@@ -15,7 +15,8 @@ ...@@ -15,7 +15,8 @@
<div class="ci-letter-header"> <div class="ci-letter-header">
<div class="ci-letter-bar"> <div class="ci-letter-bar">
<div class="ci-letter-bar-logo"> <div class="ci-letter-bar-logo">
<img src="template_images/fallback.png" alt="" /> <img src="image_module/template_test_image_logo_png?display=thumbnail"
alt="" />
<span></span> <span></span>
</div> </div>
<div class="ci-letter-bar-purporse"><span></span></div> <div class="ci-letter-bar-purporse"><span></span></div>
...@@ -192,7 +193,7 @@ mi aliquet a praesent ante orci accumsan magna neque. ...@@ -192,7 +193,7 @@ mi aliquet a praesent ante orci accumsan magna neque.
</td> </td>
<td> <td>
<div> <div>
<span class="ci-letter-footer-title">Bank Account</span><span></span> <span class="ci-letter-footer-title">Bank Account</span><span>Template Test Bank Account</span>
<span class="ci-letter-footer-title">BIC</span><span></span> <span class="ci-letter-footer-title">BIC</span><span></span>
<span class="ci-letter-footer-title">IBAN</span><span></span> <span class="ci-letter-footer-title">IBAN</span><span></span>
<span class="ci-letter-footer-title">USt-ID</span><span></span> <span class="ci-letter-footer-title">USt-ID</span><span></span>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
href="template_themes/themes.css?portal_skin=Release" /> href="template_themes/themes.css?portal_skin=Release" />
<link rel="stylesheet" href="template_css/release.css" /> <link rel="stylesheet" href="template_css/release.css" />
<style type="text/css">html .ci-press-release .ci-press-release-logo:before {background: url("template_images/fallback.png") center no-repeat;background-size: contain;}</style> <style type="text/css">html .ci-press-release .ci-press-release-logo:before {background: url("image_module/template_test_image_logo_png") center no-repeat;background-size: contain;}</style>
<script type="text/javascript"> <script type="text/javascript">
function setPlaceholdersWithUrlParameters() { function setPlaceholdersWithUrlParameters() {
...@@ -158,7 +158,7 @@ ...@@ -158,7 +158,7 @@
<div class="ci-press-release-footer-image-wrapper"> <div class="ci-press-release-footer-image-wrapper">
<img alt="Logo" <img alt="Logo"
src="template_images/fallback.png" /> src="image_module/template_test_image_logo_png" />
</div> </div>
</div> </div>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
href="template_themes/themes.css?portal_skin=Release" /> href="template_themes/themes.css?portal_skin=Release" />
<link rel="stylesheet" href="template_css/release.css" /> <link rel="stylesheet" href="template_css/release.css" />
<style type="text/css">html .ci-press-release .ci-press-release-logo:before {background: url("template_images/fallback.png") center no-repeat;background-size: contain;}</style> <style type="text/css">html .ci-press-release .ci-press-release-logo:before {background: url("image_module/template_test_image_logo_png") center no-repeat;background-size: contain;}</style>
<script type="text/javascript"> <script type="text/javascript">
function setPlaceholdersWithUrlParameters() { function setPlaceholdersWithUrlParameters() {
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
<div class="ci-press-release-footer-image-wrapper"> <div class="ci-press-release-footer-image-wrapper">
<img alt="Logo" <img alt="Logo"
src="template_images/fallback.png" /> src="image_module/template_test_image_logo_png" />
</div> </div>
</div> </div>
......
...@@ -34,6 +34,22 @@ ...@@ -34,6 +34,22 @@
</details> </details>
</section> </section>
<section>
<h1>Test ./Illustration Plain Reference</h1>
<img src="./Template.Test.Illustration.Stack" title="" type="image/svg+xml" alt="" />
<details open="open">
<p>svg image with weird reference</p>
</details>
</section>
<section>
<h1>Test Retrieving PDF page as PNG Image</h1>
<img alt="" src="https://www.nexedi.com/NXD-Gramfort.X.2018.May/index_html?format=png&amp;frame=17" title="" type="image/svg+xml" />
<details open="open">
<p>svg image with weird reference</p>
</details>
</section>
<section> <section>
<h1>Test SVG as PNG</h1> <h1>Test SVG as PNG</h1>
<img src="Template.Test.Illustration.Stack?format=png" alt="" /> <img src="Template.Test.Illustration.Stack?format=png" alt="" />
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<link rel="stylesheet" <link rel="stylesheet"
href="template_themes/themes.css?portal_skin=Slide" /> href="template_themes/themes.css?portal_skin=Slide" />
<link rel="stylesheet" href="template_css/slide.css" /> <link rel="stylesheet" href="template_css/slide.css" />
<style type="text/css">.ci-slideshow-intro.present:not(.slide-background):before {content: "";background: #FFF url("template_images/fallback.png") center no-repeat;}</style> <style type="text/css">.ci-slideshow-intro.present:not(.slide-background):before {content: "";background: #FFF url("image_module/template_test_image_logo_png?display=medium") center no-repeat;}</style>
<script type="text/javascript"> <script type="text/javascript">
function setPlaceholdersWithUrlParameters() { function setPlaceholdersWithUrlParameters() {
var vars={}; var vars={};
...@@ -37,7 +37,8 @@ ...@@ -37,7 +37,8 @@
<div class="ci-slideshow-footer"> <div class="ci-slideshow-footer">
<div class="ci-slideshow-container-left"> <div class="ci-slideshow-container-left">
<div class="ci-slideshow-footer-image-wrapper"> <div class="ci-slideshow-footer-image-wrapper">
<img src="template_images/fallback.png" alt="logo" /> <img src="image_module/template_test_image_logo_png?display=thumbnail"
alt="logo" />
</div> </div>
</div> </div>
<div class="ci-slideshow-container-center"></div> <div class="ci-slideshow-container-center"></div>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<link rel="stylesheet" <link rel="stylesheet"
href="template_themes/themes.css?portal_skin=Slide" /> href="template_themes/themes.css?portal_skin=Slide" />
<link rel="stylesheet" href="template_css/slide.css" /> <link rel="stylesheet" href="template_css/slide.css" />
<style type="text/css">.ci-slideshow-intro.present:not(.slide-background):before {content: "";background: #FFF url("template_images/fallback.png") center no-repeat;}</style> <style type="text/css">.ci-slideshow-intro.present:not(.slide-background):before {content: "";background: #FFF url("image_module/template_test_image_logo_png?display=medium") center no-repeat;}</style>
<script type="text/javascript"> <script type="text/javascript">
function setPlaceholdersWithUrlParameters() { function setPlaceholdersWithUrlParameters() {
var vars={}; var vars={};
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<link rel="stylesheet" <link rel="stylesheet"
href="template_themes/themes.css?portal_skin=Slide" /> href="template_themes/themes.css?portal_skin=Slide" />
<link rel="stylesheet" href="template_css/slide.css" /> <link rel="stylesheet" href="template_css/slide.css" />
<style type="text/css">.ci-slideshow-intro.present:not(.slide-background):before {content: "";background: #FFF url("template_images/fallback.png") center no-repeat;}</style> <style type="text/css">.ci-slideshow-intro.present:not(.slide-background):before {content: "";background: #FFF url("image_module/template_test_image_logo_png?display=medium") center no-repeat;}</style>
<script type="text/javascript"> <script type="text/javascript">
function setPlaceholdersWithUrlParameters() { function setPlaceholdersWithUrlParameters() {
var vars={}; var vars={};
...@@ -37,7 +37,8 @@ ...@@ -37,7 +37,8 @@
<div class="ci-slideshow-footer"> <div class="ci-slideshow-footer">
<div class="ci-slideshow-container-left"> <div class="ci-slideshow-container-left">
<div class="ci-slideshow-footer-image-wrapper"> <div class="ci-slideshow-footer-image-wrapper">
<img src="template_images/fallback.png" alt="logo" /> <img src="image_module/template_test_image_logo_png?display=thumbnail"
alt="logo" />
</div> </div>
</div> </div>
<div class="ci-slideshow-container-center">Some description</div> <div class="ci-slideshow-container-center">Some description</div>
......
...@@ -213,8 +213,8 @@ class TestCorporateIdentityTemplateList(ERP5TypeTestCase): ...@@ -213,8 +213,8 @@ class TestCorporateIdentityTemplateList(ERP5TypeTestCase):
expected_page.edit(text_content=html) expected_page.edit(text_content=html)
self.tic() self.tic()
self.assertEqual( self.assertEqual(
html.encode('UTF-8').splitlines(), html.encode('UTF-8'),#.splitlines(),
expected_page.getData().splitlines()) expected_page.getData())#.splitlines())
def runPdfTestPattern(self, id1, id2, id3, **kw): def runPdfTestPattern(self, id1, id2, id3, **kw):
""" """
......
group/template_test_group
\ No newline at end of file
image_module/template_test_image* image_module/template_test_image*
portal_categories/group/template*
web_page_module/template_test_illustration* web_page_module/template_test_illustration*
web_page_module/template_test_book_embeddable_document_html web_page_module/template_test_book_embeddable_document_html
\ No newline at end of file
...@@ -3,6 +3,7 @@ image_module/template_test_* ...@@ -3,6 +3,7 @@ image_module/template_test_*
image_module/template_test_image* image_module/template_test_image*
organisation_module/template_test* organisation_module/template_test*
organisation_module/template_test*/default** organisation_module/template_test*/default**
bank_account_module/template_test_*
person_module/template_test* person_module/template_test*
person_module/template_test*/default** person_module/template_test*/default**
web_page_module/template_test_* web_page_module/template_test_*
......
...@@ -7,6 +7,7 @@ person_module/template_test* ...@@ -7,6 +7,7 @@ person_module/template_test*
person_module/template_test*/default** person_module/template_test*/default**
portal_categories/function/company portal_categories/function/company
portal_categories/function/company/executive portal_categories/function/company/executive
portal_categories/group/template*
portal_tests/template_test_zuite portal_tests/template_test_zuite
portal_tests/template_test_zuite/testAndUpdateTest* portal_tests/template_test_zuite/testAndUpdateTest*
support_request_module/template_test_* support_request_module/template_test_*
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>roboto-condensed</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>sans</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/* Generated by Font Squirrel (http://www.fontsquirrel.com) on February 25, 2016 */
@font-face {
font-family: 'Roboto Condensed';
src: url('roboto-condensed/roboto-condensed-regular.eot');
src: url('roboto-condensed/roboto-condensed-regular.eot?#iefix') format('embedded-opentype'),
url('roboto-condensed/roboto-condensed-regular.woff2') format('woff2'),
url('roboto-condensed/roboto-condensed-regular.woff') format('woff'),
url('roboto-condensed/roboto-condensed-regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Roboto Condensed';
src: url('roboto-condensed/roboto-condensed-light.eot');
src: url('roboto-condensed/roboto-condensed-light.eot?#iefix') format('embedded-opentype'),
url('roboto-condensed/roboto-condensed-light.woff2') format('woff2'),
url('roboto-condensed/roboto-condensed-light.woff') format('woff'),
url('roboto-condensed/roboto-condensed-light.ttf') format('truetype');
font-weight: 100;
font-style: normal;
}
@font-face {
font-family: 'Roboto Condensed';
src: url('roboto-condensed/roboto-condensed-italic.eot');
src: url('roboto-condensed/roboto-condensed-italic.eot?#iefix') format('embedded-opentype'),
url('roboto-condensed/roboto-condensed-italic.woff2') format('woff2'),
url('roboto-condensed/roboto-condensed-italic.woff') format('woff'),
url('roboto-condensed/roboto-condensed-italic.ttf') format('truetype');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'Roboto Condensed';
src: url('roboto-condensed/roboto-condensed-bold.eot');
src: url('roboto-condensed/roboto-condensed-bold.eot?#iefix') format('embedded-opentype'),
url('roboto-condensed/roboto-condensed-bold.woff2') format('woff2'),
url('roboto-condensed/roboto-condensed-bold.woff') format('woff'),
url('roboto-condensed/roboto-condensed-bold.ttf') format('truetype');
font-weight: bold;
font-style: normal;
}
/* Generated by Font Squirrel (http://www.fontsquirrel.com) on February 25, 2016 */ /* Generated by Font Squirrel (http://www.fontsquirrel.com) on February 25, 2016 */
@font-face { @font-face {
font-family: 'Roboto Condensed'; font-family: 'Roboto Condensed';
src: url('roboto/roboto-condensed-regular.ttf') format('truetype'); src: url('roboto-condensed/roboto-condensed-regular.ttf') format('truetype');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
} }
@font-face { @font-face {
font-family: 'Roboto Condensed'; font-family: 'Roboto Condensed';
src: url('roboto/roboto-condensed-light.ttf') format('truetype'); src: url('roboto-condensed/roboto-condensed-light.ttf') format('truetype');
font-weight: 100; font-weight: 100;
font-style: normal; font-style: normal;
} }
@font-face { @font-face {
font-family: 'Roboto Condensed'; font-family: 'Roboto Condensed';
src: url('roboto/roboto-condensed-italic.ttf') format('truetype'); src: url('roboto-condensed/roboto-condensed-italic.ttf') format('truetype');
font-weight: normal; font-weight: normal;
font-style: italic; font-style: italic;
} }
@font-face { @font-face {
font-family: 'Roboto Condensed'; font-family: 'Roboto Condensed';
src: url('roboto/roboto-condensed-bold.ttf') format('truetype'); src: url('roboto-condensed/roboto-condensed-bold.ttf') format('truetype');
font-weight: bold; font-weight: bold;
font-style: normal; font-style: normal;
} }
/* Generated by Font Squirrel (http://www.fontsquirrel.com) on February 25, 2016 */
@font-face {
font-family: 'Roboto Condensed';
src: url('roboto/roboto-condensed-regular.eot');
src: url('roboto/roboto-condensed-regular.eot?#iefix') format('embedded-opentype'),
url('roboto/roboto-condensed-regular.woff2') format('woff2'),
url('roboto/roboto-condensed-regular.woff') format('woff'),
url('roboto/roboto-condensed-regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Roboto Condensed';
src: url('roboto/roboto-condensed-light.eot');
src: url('roboto/roboto-condensed-light.eot?#iefix') format('embedded-opentype'),
url('roboto/roboto-condensed-light.woff2') format('woff2'),
url('roboto/roboto-condensed-light.woff') format('woff'),
url('roboto/roboto-condensed-light.ttf') format('truetype');
font-weight: 100;
font-style: normal;
}
@font-face {
font-family: 'Roboto Condensed';
src: url('roboto/roboto-condensed-italic.eot');
src: url('roboto/roboto-condensed-italic.eot?#iefix') format('embedded-opentype'),
url('roboto/roboto-condensed-italic.woff2') format('woff2'),
url('roboto/roboto-condensed-italic.woff') format('woff'),
url('roboto/roboto-condensed-italic.ttf') format('truetype');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'Roboto Condensed';
src: url('roboto/roboto-condensed-bold.eot');
src: url('roboto/roboto-condensed-bold.eot?#iefix') format('embedded-opentype'),
url('roboto/roboto-condensed-bold.woff2') format('woff2'),
url('roboto/roboto-condensed-bold.woff') format('woff'),
url('roboto/roboto-condensed-bold.ttf') format('truetype');
font-weight: bold;
font-style: normal;
}
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