Commit 44df1959 authored by Xiaowu Zhang's avatar Xiaowu Zhang

bulletin de paie dématérialisé

See merge request nexedi/erp5!1500
parents 376ccfd9 6f08d94d
Pipeline #19587 failed with stage
in 0 seconds
...@@ -51,6 +51,7 @@ doc = context ...@@ -51,6 +51,7 @@ doc = context
doc_prefix = pref.getPreferredCorporateIdentityTemplateReportDocumentPrefix() or "Report." 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)
get_doc_after_save = int(kw.get('get_doc_after_save') or 0)
doc_display_header = int(kw.get('display_header') or 0) doc_display_header = int(kw.get('display_header') or 0)
doc_display_comment = int(kw.get('display_comment') or 0) doc_display_comment = int(kw.get('display_comment') or 0)
doc_display_detail = int(kw.get('display_detail') or 0) doc_display_detail = int(kw.get('display_detail') or 0)
...@@ -279,6 +280,7 @@ if doc_format == "pdf": ...@@ -279,6 +280,7 @@ if doc_format == "pdf":
return doc.WebPage_finishPdfCreation( return doc.WebPage_finishPdfCreation(
doc_download=doc_download, doc_download=doc_download,
doc_save=doc_save, doc_save=doc_save,
get_doc_after_save = get_doc_after_save,
doc_version=override_document_version or doc_version or "001", doc_version=override_document_version or doc_version or "001",
doc_title=doc_title, doc_title=doc_title,
doc_aggregate_list=doc_aggregate_list, doc_aggregate_list=doc_aggregate_list,
......
...@@ -19,7 +19,7 @@ Save, download or return generated PDF Document ...@@ -19,7 +19,7 @@ Save, download or return generated PDF Document
from io import BytesIO from io import BytesIO
if doc_save: if doc_save or get_doc_after_save:
dms_module = getattr(context, 'document_module', None) dms_module = getattr(context, 'document_module', None)
if dms_module is not None: if dms_module is not None:
document = dms_module.newContent( document = dms_module.newContent(
...@@ -56,6 +56,8 @@ if doc_save: ...@@ -56,6 +56,8 @@ if doc_save:
# XXX redirect = true? # XXX redirect = true?
if context.getWebSiteValue(): if context.getWebSiteValue():
context.getPortalObject().portal_skins.changeSkin('HalRestricted') context.getPortalObject().portal_skins.changeSkin('HalRestricted')
if get_doc_after_save:
return document
return document.Base_redirect(form_id='view', return document.Base_redirect(form_id='view',
keep_items=dict(portal_status_message=message) keep_items=dict(portal_status_message=message)
) )
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>doc_download=None, doc_aggregate_list=None, doc_title=None, doc_save=None, doc_version=None, doc_relative_url=None, doc_language=None, doc_modification_date=None, doc_reference=None, doc_full_reference=None, doc_pdf_file=None</string> </value> <value> <string>doc_download=None, doc_aggregate_list=None, doc_title=None, doc_save=None, doc_version=None, doc_relative_url=None, doc_language=None, doc_modification_date=None, doc_reference=None, doc_full_reference=None, doc_pdf_file=None, get_doc_after_save = None</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
<?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>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view</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>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</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}/MailevaExchange_view</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_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>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>view</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>1.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>View</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}/MailevaSOAPConnector_view</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_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>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>maileva_connection_status</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>12.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Maileva Connection Status</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}/Document_viewMailevaConnectionStatus</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_jio_action</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_jio_action</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>resend_to_maileva</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>Modify portal content</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>12.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Resend To Maileva</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}/PDF_viewReSendToMailevaDialog</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>python: object.getSendState() == "failed" and object.getFollowUpRelatedValue(portal_type=\'Maileva Exchange\')</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2013 Nexedi SA and Contributors. All Rights Reserved.
# Aurélien Calonne <aurel@nexedi.com>
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
##############################################################################
from AccessControl import ClassSecurityInfo
from Products.ERP5Type import Permissions, PropertySheet
from Products.ERP5Type.XMLObject import XMLObject
import suds
from suds.transport.https import HttpAuthenticated
from suds.sax.text import Raw
import base64
import socket
class MailevaSOAPConnector(XMLObject):
# CMF Type Definition
meta_type = 'Maileva SOAP Connector'
portal_type = 'Maileva SOAP Connector'
# Declarative security
security = ClassSecurityInfo()
security.declareObjectProtected(Permissions.AccessContentsInformation)
# Default Properties
property_sheets = ( PropertySheet.Base
, PropertySheet.XMLObject
, PropertySheet.CategoryCore
)
def submitRequest(self, recipient_url="", sender_url="", document_url="", track_id=""):
portal = self.getPortalObject()
recipient = portal.restrictedTraverse(recipient_url)
sender = portal.restrictedTraverse(sender_url)
document = portal.restrictedTraverse(document_url)
request_xml = self.generateRequestXML(recipient, sender, document, track_id)
authenticated = HttpAuthenticated(username=self.getUserId(), password=self.getPassword())
maileva_exchange = portal.system_event_module.newContent(
portal_type='Maileva Exchange',
source_value = sender,
destination_value = recipient,
resource_value = self,
follow_up_value = document,
reference=track_id,
request = request_xml
)
runtime_environment = self.getActivityRuntimeEnvironment()
if runtime_environment:
runtime_environment.edit(
conflict_retry=False,
max_retry=0)
try:
response = suds.client.Client(url = self.getProperty('submit_url_string'), transport=authenticated).service.submit(__inject={'msg': request_xml})
except socket.error, e:
if e.errno == socket.errno.ECONNREFUSED:
if runtime_environment:
runtime_environment.edit(max_retry=None)
raise e
except Exception, e:
maileva_exchange.edit(response = str(e))
maileva_exchange.confirm()
maileva_exchange.acknowledge()
document.fail()
return maileva_exchange
maileva_exchange.edit(response = response)
maileva_exchange.confirm()
return maileva_exchange
def checkPendingNotifications(self):
authenticated = HttpAuthenticated(username=self.getUserId(), password=self.getPassword())
client = suds.client.Client(url = self.getProperty("tracking_url_string"), transport=authenticated)
notification_dict = {}
for notification in client.service.checkPendingNotifications("GENERAL"):
notification_dict[notification.reqTrackId] = {
"id" : notification.id,
"reqId" : notification.reqId,
"depositId" : notification.depositId,
"depositTrackId" : notification.depositTrackId
}
return notification_dict
def getPendingNotificationDetails(self, request_id, debug=False):
authenticated = HttpAuthenticated(username=self.getUserId(), password=self.getPassword())
result = suds.client.Client(url = self.getProperty("tracking_url_string"), transport=authenticated).service.getPendingNotificationDetails(request_id)
return {
"status": str(result.status),
"notification_status": str(result.notificationStatus),
"detail": repr(result)
}
def _generateAddressLineList(self, entity):
address_line_list = []
address_line = entity.getDefaultAddressText()
portal_type = entity.getPortalType()
if portal_type == 'Person':
address_line_list.append("%s %s" % (entity.getSocialTitleTitle(), entity.getTitle()))
else:
address_line_list.append("%s" % entity.getCorporateName())
tmp_list = address_line.split('\n')
if len(tmp_list) > 5:
raise ValueError('Address %s has more than 5 lines' % tmp_list)
for index in range(4):
if index < len(tmp_list) - 1:
address_line_list.append(tmp_list[index])
else:
address_line_list.append(None)
if portal_type == "Person":
address_line_list.append(tmp_list[-1])
else:
address_line_list.append("%s CEDEX" % tmp_list[-1])
return address_line_list
def generateRequestXML(self, recipient, sender, document, track_id, page_template='maileva_connection'):
recipient_address_line_list= self._generateAddressLineList(recipient)
sender_address_line_list = self._generateAddressLineList(sender)
source_section_career_results = self.getPortalObject().portal_catalog(
portal_type = 'Career',
parent_uid = recipient.getUid(),
subordination_uid = sender.getUid(),
validation_state = 'open'
)
source_section_career = (source_section_career_results[0].getObject() if len(source_section_career_results) else recipient.getDefaultCareerValue() or '')
if not source_section_career.getReference():
raise ValueError('%s has no employee number defined' % source_section_career.getRelativeUrl())
xml = getattr(document, page_template)(
user = self.getUserId(),
password = self.getPassword(),
career_start_date = source_section_career.getStartDate().strftime('%Y-%m-%d'),
employee_number = source_section_career.getReference(),
recipient_region=recipient.getDefaultAddress().getRegionValue(),
recipient = recipient,
recipient_address_line_list = recipient_address_line_list,
sender_region=sender.getDefaultAddress().getRegionValue(),
sender_address_line_list = sender_address_line_list,
content = base64.b64encode(document.getData()),
track_id = track_id
)
non_empty_lines = [line for line in xml.split('\n') if line.strip() != ""]
xml = ""
for line in non_empty_lines:
xml += line + "\n"
return Raw(xml).encode("UTF-8")
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Document Component" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_recorded_property_dict</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>MailevaSOAPConnector</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>document.erp5.MailevaSOAPConnector</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Document Component</string> </value>
</item>
<item>
<key> <string>sid</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>text_content_error_message</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>text_content_warning_message</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>erp5</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</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/>
</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Alarm" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>active_sense_method_id</string> </key>
<value> <string>Alarm_checkMailevaDocumentStatus</string> </value>
</item>
<item>
<key> <string>automatic_solve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>check_maileva_document_status</string> </value>
</item>
<item>
<key> <string>periodicity_hour</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>periodicity_minute</string> </key>
<value>
<tuple>
<int>15</int>
</tuple>
</value>
</item>
<item>
<key> <string>periodicity_month</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>periodicity_month_day</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>periodicity_start_date</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1640998860.0</float>
<string>GMT</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>periodicity_week</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Alarm</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Check Maileva Document Status</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>edit_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<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>997.37156.13400.7065</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>1642410502.25</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<allowed_content_type_list>
<portal_type id="System Event Module">
<item>Maileva Exchange</item>
</portal_type>
<portal_type id="Web Service Tool">
<item>Maileva SOAP Connector</item>
</portal_type>
</allowed_content_type_list>
\ No newline at end of file
<property_sheet_list>
<portal_type id="Maileva Exchange">
<item>Amount</item>
<item>Arrow</item>
<item>Event</item>
</portal_type>
<portal_type id="Maileva SOAP Connector">
<item>Login</item>
<item>Reference</item>
<item>Url</item>
</portal_type>
</property_sheet_list>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Base Type" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_property_domain_dict</string> </key>
<value>
<dictionary>
<item>
<key> <string>short_title</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>acquire_local_roles</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>content_icon</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>factory</string> </key>
<value> <string>addXMLObject</string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Maileva Exchange</string> </value>
</item>
<item>
<key> <string>init_script</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>permission</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Base Type</string> </value>
</item>
<item>
<key> <string>searchable_text_property_id</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>type_class</string> </key>
<value> <string>Document</string> </value>
</item>
<item>
<key> <string>type_interface</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>type_mixin</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>domain_name</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>property_name</string> </key>
<value> <string>short_title</string> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>domain_name</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>property_name</string> </key>
<value> <string>title</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Base Type" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>content_icon</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Maileva SOAP Connector</string> </value>
</item>
<item>
<key> <string>init_script</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>permission</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Base Type</string> </value>
</item>
<item>
<key> <string>type_class</string> </key>
<value> <string>MailevaSOAPConnector</string> </value>
</item>
<item>
<key> <string>type_interface</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>type_mixin</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<workflow_chain>
<chain>
<type>Maileva Exchange</type>
<workflow>edit_workflow, system_event_workflow</workflow>
</chain>
<chain>
<type>Maileva SOAP Connector</type>
<workflow>edit_workflow, validation_workflow</workflow>
</chain>
<chain>
<type>PDF</type>
<workflow>send_state_workflow</workflow>
</chain>
</workflow_chain>
\ No newline at end of file
<?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>erp5_maileva_connector</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
portal = context.getPortalObject()
maileva_connector = context.MailevaSOAPConnector_getAvailableConnector()
notification_dict = maileva_connector.checkPendingNotifications()
for event in portal.portal_catalog(
portal_type="Maileva Exchange",
validation_state="confirmed"
):
if event.getReference() in notification_dict:
event.activate().MailevaExchange_checkStatus(track_id= notification_dict[event.getReference()]["id"])
elif getattr(event, 'track_id', ""):
event.activate().MailevaExchange_checkStatus(track_id= getattr(event, 'track_id'))
else:
if int(DateTime()) - int(event.getCreationDate()) > 60*60*24:
document = event.getFollowUpValue()
document.fail()
event.acknowledge(comment="No Response")
context.activate(after_tag=tag).getId()
<?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>tag, fixit, params</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Alarm_checkMailevaDocumentStatus</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Base_edit</string> </value>
</item>
<item>
<key> <string>action_title</string> </key>
<value> <string></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>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list>
<string>listbox</string>
</list>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>my_title</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list>
<string>my_translated_send_state_title</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Document_viewMailevaConnectionStatus</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>Document_viewMailevaConnectionStatus</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>ERP5 Form</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></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>columns</string>
<string>list_method</string>
<string>portal_types</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>listbox</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>columns</string> </key>
<value>
<list>
<tuple>
<string>title</string>
<string>Title</string>
</tuple>
<tuple>
<string>source_title</string>
<string>Source</string>
</tuple>
<tuple>
<string>destination_title</string>
<string>Destination</string>
</tuple>
<tuple>
<string>resource_title</string>
<string>Resource</string>
</tuple>
<tuple>
<string>creation_date</string>
<string>Creation Date</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_view_mode_listbox</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewBaseFieldLibrary</string> </value>
</item>
<item>
<key> <string>list_method</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>portal_types</string> </key>
<value>
<list>
<tuple>
<string>Maileva Exchange</string>
<string>Maileva Exchange</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Send History</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Method" module="Products.Formulator.MethodField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>method_name</string> </key>
<value> <string>getFollowUpRelatedValueList</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>editable</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</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>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>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_view_mode_title</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewDMSFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_translated_send_state_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Send State</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
maileva_connector = context.MailevaSOAPConnector_getAvailableConnector()
result = maileva_connector.getPendingNotificationDetails(track_id)
if result['status'] == "SENT":
document = context.getFollowUpValue()
if result['notification_status'] in ("ACCEPT", "OK"):
document.succeed()
else:
document.fail()
context.acknowledge()
context.edit(
response_detail = result['detail'],
track_id = track_id
)
<?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>track_id</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>MailevaExchange_checkStatus</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>action_title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value> <string>[]</string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>center</string> </key>
<value>
<list>
<string>my_request</string>
<string>my_response</string>
<string>my_response_detail</string>
</list>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>my_title</string>
<string>my_reference</string>
<string>my_track_id</string>
<string>my_source_title</string>
<string>my_resource_title</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list>
<string>my_destination_title</string>
<string>my_follow_up_title</string>
<string>my_translated_validation_state_title</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>MailevaExchange_view</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>HTTPExchange_view</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>Maileva Exchange</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>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_destination_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <unicode>line_too_long</unicode> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <unicode>relation_result_ambiguous</unicode> </key>
<value> <string>Select appropriate document in the list.</string> </value>
</item>
<item>
<key> <unicode>relation_result_empty</unicode> </key>
<value> <string>No such document was found.</string> </value>
</item>
<item>
<key> <unicode>relation_result_too_long</unicode> </key>
<value> <string>Too many documents were found.</string> </value>
</item>
<item>
<key> <unicode>required_not_found</unicode> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <unicode>too_long</unicode> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <unicode>too_many_lines</unicode> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>extra_context</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_relation_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>Destination</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>portal_type</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_follow_up_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <unicode>line_too_long</unicode> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <unicode>relation_result_ambiguous</unicode> </key>
<value> <string>Select appropriate document in the list.</string> </value>
</item>
<item>
<key> <unicode>relation_result_empty</unicode> </key>
<value> <string>No such document was found.</string> </value>
</item>
<item>
<key> <unicode>relation_result_too_long</unicode> </key>
<value> <string>Too many documents were found.</string> </value>
</item>
<item>
<key> <unicode>required_not_found</unicode> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <unicode>too_long</unicode> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <unicode>too_many_lines</unicode> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>extra_context</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_relation_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value>
<list>
<tuple>
<string>PDF</string>
<string>PDF</string>
</tuple>
</list>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Follow Up</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_reference</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_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>Reference</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>editable</string>
<string>enabled</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_request</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <unicode>line_too_long</unicode> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <unicode>required_not_found</unicode> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <unicode>too_long</unicode> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <unicode>too_many_lines</unicode> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_view_mode_raw_text_content</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>Request</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_resource_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <unicode>line_too_long</unicode> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <unicode>relation_result_ambiguous</unicode> </key>
<value> <string>Select appropriate document in the list.</string> </value>
</item>
<item>
<key> <unicode>relation_result_empty</unicode> </key>
<value> <string>No such document was found.</string> </value>
</item>
<item>
<key> <unicode>relation_result_too_long</unicode> </key>
<value> <string>Too many documents were found.</string> </value>
</item>
<item>
<key> <unicode>required_not_found</unicode> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <unicode>too_long</unicode> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <unicode>too_many_lines</unicode> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>extra_context</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_relation_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>Resource</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>editable</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_response</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <unicode>line_too_long</unicode> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <unicode>required_not_found</unicode> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <unicode>too_long</unicode> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <unicode>too_many_lines</unicode> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_view_mode_raw_text_content</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>Response</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>editable</string>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_response_detail</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <unicode>line_too_long</unicode> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <unicode>required_not_found</unicode> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <unicode>too_long</unicode> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <unicode>too_many_lines</unicode> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_view_mode_raw_text_content</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>Response Detail</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_source_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <unicode>line_too_long</unicode> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <unicode>relation_result_ambiguous</unicode> </key>
<value> <string>Select appropriate document in the list.</string> </value>
</item>
<item>
<key> <unicode>relation_result_empty</unicode> </key>
<value> <string>No such document was found.</string> </value>
</item>
<item>
<key> <unicode>relation_result_too_long</unicode> </key>
<value> <string>Too many documents were found.</string> </value>
</item>
<item>
<key> <unicode>required_not_found</unicode> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <unicode>too_long</unicode> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <unicode>too_many_lines</unicode> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>extra_context</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_relation_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>Source</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <unicode>required_not_found</unicode> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <unicode>too_long</unicode> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_string_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</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>Title</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_track_id</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Track Id</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_translated_validation_state_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <unicode>required_not_found</unicode> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <unicode>too_long</unicode> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_translated_workflow_state_title</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
maileva_connector = context.portal_catalog.getResultValue(
reference=reference,
validation_state='validated')
if not maileva_connector:
raise ValueError('Maileav soap connector is not defined')
return maileva_connector
<?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>reference="maileva_soap_connector"</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>MailevaSOAPConnector_getAvailableConnector</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>action_title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list>
<string>[]</string>
</list>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
<string>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list>
<string>my_description</string>
</list>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>my_reference</string>
<string>my_user_id</string>
<string>my_password</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list>
<string>my_submit_url_string</string>
<string>my_tracking_url_string</string>
<string>my_translated_validation_state_title</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>MailevaSOAPConnector_view</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>FTPConnector_view</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>Maileva SOAP Connector</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>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_description</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <unicode>line_too_long</unicode> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <unicode>required_not_found</unicode> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <unicode>too_long</unicode> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <unicode>too_many_lines</unicode> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_text_area_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</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>Description</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PasswordField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_password</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Password</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_reference</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <unicode>required_not_found</unicode> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <unicode>too_long</unicode> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_view_mode_reference</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_submit_url_string</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <unicode>required_not_found</unicode> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <unicode>too_long</unicode> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_string_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</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>Submit 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>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_tracking_url_string</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <unicode>required_not_found</unicode> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <unicode>too_long</unicode> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_string_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</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>Tracking 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>id</string> </key>
<value> <string>my_translated_validation_state_title</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <unicode>required_not_found</unicode> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <unicode>too_long</unicode> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_view_mode_translated_workflow_state_title</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list>
<string>title</string>
</list>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>my_user_id</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <unicode>required_not_found</unicode> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <unicode>too_long</unicode> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>my_string_field</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</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>User ID</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
if context.getSendState() != 'failed':
return context.Base_redirect('Document_viewMailevaConnectionStatus', keep_items={'portal_status_message': 'This document is not in failed state'})
maileva_exchange = context.getFollowUpRelatedValue(portal_type='Maileva Exchange')
context.PDF_sendToMaileva(
recipient = maileva_exchange.getDestinationValue(),
sender = maileva_exchange.getSourceValue()
)
return context.Base_redirect('PDF_viewPDFJSPreview', keep_items={'portal_status_message': 'This document is resending to maileva'})
<?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>PDF_reSendToMaileva</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
from DateTime import DateTime
now = DateTime()
portal = context.getPortalObject()
# Do some check here
maileva_connector = context.MailevaSOAPConnector_getAvailableConnector()
today = now.toZone('UTC').asdatetime().strftime('%Y-%m-%d')
number = str(portal.portal_ids.generateNewId(
id_group='maileva_%s' % today,
id_generator='uid')).zfill(6)
reference="maileva-%s-%s" % (today, number)
maileva_connector.activate().submitRequest(
recipient_url = recipient.getRelativeUrl(),
sender_url = sender.getRelativeUrl(),
document_url = context.getRelativeUrl(),
track_id = reference
)
context.send()
<?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>recipient, sender, **kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>PDF_sendToMaileva</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>PDF_reSendToMaileva</string> </value>
</item>
<item>
<key> <string>action_title</string> </key>
<value> <string></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>center</string>
<string>bottom</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>center</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>your_warning</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>PDF_viewReSendToMailevaDialog</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>PDF_sendToMailevaDialog</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>ERP5 Form</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_dialog</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Resend Document</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="StringField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>your_warning</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>Too much input was given.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string>Do you want to send this document to maileva?</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_maxwidth</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>display_width</string> </key>
<value> <int>20</int> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>input_type</string> </key>
<value> <string>text</string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Warning</string> </value>
</item>
<item>
<key> <string>truncate</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/xml</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>maileva_connection</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
tal:define="recipient_region python: options.get('recipient_region');
recipient python: options.get('recipient');
sender_region python: options.get('sender_region');
sender_address_line_list python: options.get('sender_address_line_list');
recipient_address_line_list python: options.get('recipient_address_line_list');">
<SOAP-ENV:Envelope xmlns:ns0="http://connector.services.siclv2.maileva.fr/"
xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:com="http://www.maileva.fr/CommonSchema"
xmlns:pjs="http://www.maileva.fr/MailevaPJSSchema"
xmlns:spec="http://www.maileva.fr/MailevaSpecificSchema"
>
<SOAP-ENV:Header/>
<ns1:Body>
<ns0:submit>
<campaign Version="5.0" Application="connecteur_Maileva">
<tal:block metal:use-macro="here/maileva_connection_request/macros/create_request" />
</campaign>
</ns0:submit>
</ns1:Body>
</SOAP-ENV:Envelope>
</tal:block>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/xml</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>maileva_connection_for_test</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
tal:define="recipient_region python: options.get('recipient_region');
recipient python: options.get('recipient');
sender_region python: options.get('sender_region');
sender_address_line_list python: options.get('sender_address_line_list');
recipient_address_line_list python: options.get('recipient_address_line_list');">
<pjs:Campaign Application="connecteur_Maileva"
xmlns:com="http://www.maileva.fr/CommonSchema"
xmlns:pjs="http://www.maileva.fr/MailevaPJSSchema"
xmlns:spec="http://www.maileva.fr/MailevaSpecificSchema">
<tal:block metal:use-macro="here/maileva_connection_request/macros/create_request" />
</pjs:Campaign>
</tal:block>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/xml</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>maileva_connection_request</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<tal:block metal:define-macro="create_request"
xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
xmlns:com="http://www.maileva.fr/CommonSchema"
xmlns:pjs="http://www.maileva.fr/MailevaPJSSchema"
xmlns:spec="http://www.maileva.fr/MailevaSpecificSchema">
<pjs:Requests>
<pjs:Request MediaType="DIGITAL" tal:attributes="TrackId python: options.get('track_id')">
<pjs:Recipients>
<pjs:Internal>
<pjs:Recipient Id="1">
<com:PaperAddress>
<com:AddressLines>
<com:AddressLine1 tal:content="python: recipient_address_line_list[0]" tal:condition="python: recipient_address_line_list[0]"></com:AddressLine1>
<com:AddressLine2 tal:content="python: recipient_address_line_list[1]" tal:condition="python: recipient_address_line_list[1]"></com:AddressLine2>
<com:AddressLine3 tal:content="python: recipient_address_line_list[2]" tal:condition="python: recipient_address_line_list[2]"></com:AddressLine3>
<com:AddressLine4 tal:content="python: recipient_address_line_list[3]" tal:condition="python: recipient_address_line_list[3]"></com:AddressLine4>
<com:AddressLine5 tal:content="python: recipient_address_line_list[4]" tal:condition="python: recipient_address_line_list[4]"></com:AddressLine5>
<com:AddressLine6 tal:content="python: recipient_address_line_list[5]" tal:condition="python: recipient_address_line_list[5]"></com:AddressLine6>
</com:AddressLines>
<com:Country tal:content="recipient_region/getTitle"></com:Country>
<com:CountryCode tal:content="recipient_region/getCodification"></com:CountryCode>
</com:PaperAddress>
<com:DigitalAddress>
<com:FirstName tal:content="recipient/getFirstName"></com:FirstName>
<com:LastName tal:content="recipient/getLastName"></com:LastName>
<com:Identifier tal:content="options/employee_number"></com:Identifier>
</com:DigitalAddress>
</pjs:Recipient>
</pjs:Internal>
</pjs:Recipients>
<pjs:Senders>
<pjs:Sender Id="001">
<com:PaperAddress>
<com:AddressLines>
<com:AddressLine1 tal:content="python: sender_address_line_list[0]" tal:condition="python: sender_address_line_list[0]"></com:AddressLine1>
<com:AddressLine2 tal:content="python: sender_address_line_list[1]" tal:condition="python: sender_address_line_list[1]"></com:AddressLine2>
<com:AddressLine3 tal:content="python: sender_address_line_list[2]" tal:condition="python: sender_address_line_list[2]"></com:AddressLine3>
<com:AddressLine4 tal:content="python: sender_address_line_list[3]" tal:condition="python: sender_address_line_list[3]"></com:AddressLine4>
<com:AddressLine5 tal:content="python: sender_address_line_list[4]" tal:condition="python: sender_address_line_list[4]"></com:AddressLine5>
<com:AddressLine6 tal:content="python: sender_address_line_list[5]" tal:condition="python: sender_address_line_list[5]"></com:AddressLine6>
</com:AddressLines>
<com:Country tal:content="sender_region/getTitle"></com:Country>
<com:CountryCode tal:content="sender_region/getCodification"></com:CountryCode>
</com:PaperAddress>
</pjs:Sender>
</pjs:Senders>
<pjs:DocumentData>
<pjs:Documents>
<pjs:Document Id="001">
<com:MergeFields>
<com:MergeField>
<com:PageNumber>1</com:PageNumber>
<com:FontName>Arial</com:FontName>
<com:FontSize>12</com:FontSize>
<com:FontColor>#000000</com:FontColor>
<com:FontBold>false</com:FontBold>
<com:FontItalic>false</com:FontItalic>
<com:FontUnderline>false</com:FontUnderline>
<com:PosUnit>CM</com:PosUnit>
<com:PosX>12.0</com:PosX>
<com:PosY>7.0</com:PosY>
<com:Content>
<com:Automatic>DIGITAL_SECURITY_CODE</com:Automatic>
</com:Content>
<com:Orientation>0</com:Orientation>
<com:Halign>CENTER</com:Halign>
</com:MergeField>
</com:MergeFields>
<com:Content>
<com:Value tal:content="options/content"></com:Value>
</com:Content>
</pjs:Document>
</pjs:Documents>
</pjs:DocumentData>
<pjs:Options>
<pjs:RequestOption>
<spec:DigitalOption>
<spec:FoldOption>
<spec:PostageClass>ECOPLI_GRAND_COMPTE</spec:PostageClass>
<spec:DepositTitle tal:content="here/getTitle"></spec:DepositTitle>
<spec:DepositDescription tal:content="here/getTitle"></spec:DepositDescription>
<spec:UseFlyLeaf>true</spec:UseFlyLeaf>
</spec:FoldOption>
<spec:DepositType>PAYSLIP</spec:DepositType>
<spec:DigitalArchiving>600</spec:DigitalArchiving>
</spec:DigitalOption>
</pjs:RequestOption>
</pjs:Options>
<pjs:Notifications>
<pjs:Notification Type="GENERAL">
<spec:Format>XML</spec:Format>
<spec:Protocols>
<spec:Protocol>
<spec:Ws/>
</spec:Protocol>
</spec:Protocols>
</pjs:Notification>
</pjs:Notifications>
</pjs:Request>
</pjs:Requests>
</tal:block>
\ No newline at end of file
##############################################################################
#
# Copyright (c) 2002-2021 Nexedi SA and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
##############################################################################
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
import mock
from DateTime import DateTime
from lxml import etree
import os.path
import Products.ERP5.tests
# For mock
class dotdict(dict):
"""dot.notation access to dictionary attributes"""
__getattr__ = dict.get
__setattr__ = dict.__setitem__
__delattr__ = dict.__delitem__
class ServiceWithSuccess:
get_notification_detail = False
def submit(self, **kw):
return 'success'
def checkPendingNotifications(self, notification_type):
# if already get, no longer available in list
if ServiceWithSuccess.get_notification_detail:
return []
return [dotdict({
'id': 192625,
'reqId': 579400,
'reqTrackId': 'test_tracking_id',
'depositId': '2520180000X',
'depositTrackId': '070ca402c5aa45e1bc06a513451ad76b'
})]
def getPendingNotificationDetails(self, track_id):
# first time is always PENDING
if ServiceWithSuccess.get_notification_detail:
status = 'SENT'
else:
ServiceWithSuccess.get_notification_detail = True
status = 'PENDING'
return dotdict({
'id': 192625,
'status': status,
'notificationStatus': 'ACCEPT',
'notificationType': 'GENERAL'
})
class ClientWithSuccess:
def __init__(self):
self.service = ServiceWithSuccess()
def submitRequestWithSuccess(**kw):
return ClientWithSuccess()
class ServiceWithFailure:
get_notification_detail = False
def submit(self, **kw):
return 'success'
def checkPendingNotifications(self, notification_type):
if ServiceWithFailure.get_notification_detail:
return []
return [dotdict({
'id': 192625,
'reqId': 579400,
'reqTrackId': 'test_tracking_id',
'depositId': '2520180000X',
'depositTrackId': '070ca402c5aa45e1bc06a513451ad76b'
})]
def getPendingNotificationDetails(self, track_id):
if ServiceWithFailure.get_notification_detail:
status = 'SENT'
else:
ServiceWithFailure.get_notification_detail = True
status = 'PENDING'
return dotdict({
'id': 192625,
'status': status,
'notificationStatus': 'NACCEPT',
'notificationType': 'GENERAL'
})
class ClientWithFailure:
def __init__(self):
self.service = ServiceWithFailure()
def submitRequestWithFailure(**kw):
return ClientWithFailure()
class ServiceWithException:
def submit(self, **kw):
raise Exception('exception')
class ClientWithException:
def __init__(self):
self.service = ServiceWithException()
def submitRequestWithException(**kw):
return ClientWithException()
class testMailevaSOAPConnector(ERP5TypeTestCase):
def afterSetUp(self):
maileva_connector = self.portal.portal_catalog.getResultValue(
portal_type='Maileva SOAP Connector',
reference='maileva_soap_connector',
validation_state='validated')
if not maileva_connector:
maileva_connector = self.portal.portal_web_services.newContent(
portal_type='Maileva SOAP Connector',
user_id='test',
password='test',
submit_url_string='mysubmit',
tracking_url_string='mytracking',
reference='maileva_soap_connector')
maileva_connector.validate()
if not getattr(self.portal.portal_categories.region, 'france', None):
self.portal.portal_categories.region.newContent(
portal_type='Category',
id='france',
codification='FR')
if not getattr(self.portal.portal_categories.social_title, 'testmr', None):
self.portal.portal_categories.social_title.newContent(
portal_type='Category',
id='testmr',
title='MR')
sender = self.portal.portal_catalog.getResultValue(
portal_type='Organisation',
reference='test_maileva_connector_sender',
)
if not sender:
sender = self.portal.organisation_module.newContent(
portal_type='Organisation',
reference='test_maileva_connector_sender',
corporate_name='test_maileva_connector_sender',
default_address_region='france',
default_address_street_address="122\nRue 11",
default_address_zip_code="59000",
default_address_city="LILLE"
)
recipient = self.portal.portal_catalog.getResultValue(
portal_type='Person',
reference='test_maileva_connector_recipient',
)
if not recipient:
recipient = self.portal.person_module.newContent(
portal_type='Person',
social_title="testmr",
reference='test_maileva_connector_recipient',
first_name='first',
last_name='last',
default_address_region='france',
default_address_street_address="123\nRue 12",
career_subordination_value=sender,
default_address_zip_code="59000",
default_address_city="LILLE"
)
career = recipient.getDefaultCareerValue()
career.edit(
start_date = DateTime("2021/12/01"),
title='default_career',
reference='00000001'
)
career.start()
document = self.portal.document_module.newContent(portal_type='PDF')
self.maileva_connector = maileva_connector
self.sender = sender
self.recipient = recipient
self.document = document
self.tic()
def getTitle(self):
return "Test Maileva SOAP Connector"
def test_send_pdf_to_maileva_with_success(self):
self.portal.system_event_module.manage_delObjects([x.getId() for x in self.portal.system_event_module.objectValues(portal_type='Maileva Exchange')])
self.tic()
with mock.patch(
'suds.client.Client',
side_effect=submitRequestWithSuccess,
):
self.document.PDF_sendToMaileva(
recipient = self.recipient,
sender = self.sender)
self.tic()
event = self.maileva_connector.getResourceRelatedValue(portal_type='Maileva Exchange')
self.assertEqual(event.getValidationState(), 'confirmed')
self.assertEqual(event.getSourceValue(), self.sender)
self.assertEqual(event.getDestinationValue(), self.recipient)
self.assertEqual(event.getFollowUpValue(), self.document)
self.assertEqual(self.document.getSendState(), 'sending')
self.assertNotEqual(event.getProperty('request', ''), None)
self.assertEqual(event.getProperty('response', ''), 'success')
self.tic()
# check response
event.setReference('test_tracking_id')
self.portal.portal_alarms.check_maileva_document_status.activeSense()
self.tic()
self.assertEqual(getattr(event, 'track_id', ""), 192625)
self.assertEqual(event.getValidationState(), 'confirmed')
self.assertEqual(self.document.getSendState(), 'sending')
self.assertTrue('PENDING' in event.getProperty('response_detail', ''))
self.portal.portal_alarms.check_maileva_document_status.activeSense()
self.tic()
self.assertEqual(getattr(event, 'track_id', ""), 192625)
self.assertEqual(event.getValidationState(), 'acknowledged')
self.assertEqual(self.document.getSendState(), 'success')
self.assertTrue('SENT' in event.getProperty('response_detail', ''))
def test_send_pdf_to_maileva_with_failure(self):
self.portal.system_event_module.manage_delObjects([x.getId() for x in self.portal.system_event_module.objectValues(portal_type='Maileva Exchange')])
self.tic()
with mock.patch(
'suds.client.Client',
side_effect=submitRequestWithFailure,
):
self.document.PDF_sendToMaileva(
recipient = self.recipient,
sender = self.sender)
self.tic()
event = self.maileva_connector.getResourceRelatedValue(portal_type='Maileva Exchange')
self.assertEqual(event.getValidationState(), 'confirmed')
self.assertEqual(event.getSourceValue(), self.sender)
self.assertEqual(event.getDestinationValue(), self.recipient)
self.assertEqual(event.getFollowUpValue(), self.document)
self.assertEqual(self.document.getSendState(), 'sending')
self.assertNotEqual(event.getProperty('request', ''), None)
self.assertEqual(event.getProperty('response', ''), 'success')
self.tic()
# check response
event.setReference('test_tracking_id')
self.portal.portal_alarms.check_maileva_document_status.activeSense()
self.tic()
self.assertEqual(getattr(event, 'track_id', ""), 192625)
self.assertEqual(event.getValidationState(), 'confirmed')
self.assertEqual(self.document.getSendState(), 'sending')
self.assertTrue('PENDING' in event.getProperty('response_detail', ''))
self.portal.portal_alarms.check_maileva_document_status.activeSense()
self.tic()
self.assertEqual(getattr(event, 'track_id', ""), 192625)
self.assertEqual(event.getValidationState(), 'acknowledged')
self.assertEqual(self.document.getSendState(), 'failed')
self.assertTrue('SENT' in event.getProperty('response_detail', ''))
self.assertTrue('NACCEPT' in event.getProperty('response_detail', ''))
def test_failed_to_submit_to_maileva(self):
self.portal.system_event_module.manage_delObjects([x.getId() for x in self.portal.system_event_module.objectValues(portal_type='Maileva Exchange')])
self.tic()
with mock.patch(
'suds.client.Client',
side_effect=submitRequestWithException,
):
self.document.PDF_sendToMaileva(
recipient = self.recipient,
sender = self.sender)
self.tic()
event = self.maileva_connector.getResourceRelatedValue(portal_type='Maileva Exchange')
self.assertEqual(event.getValidationState(), 'acknowledged')
self.assertEqual(event.getSourceValue(), self.sender)
self.assertEqual(event.getDestinationValue(), self.recipient)
self.assertEqual(event.getFollowUpValue(), self.document)
self.assertEqual(self.document.getSendState(), 'failed')
self.assertNotEqual(event.getProperty('request', ''), None)
self.assertTrue('exception' in event.getProperty('response', ''))
self.tic()
def test_maileva_xml(self):
xml = self.maileva_connector.generateRequestXML(self.recipient, self.sender, self.document, 'test_track_id')
self.assertEqual(xml, ''' <SOAP-ENV:Envelope xmlns:ns0="http://connector.services.siclv2.maileva.fr/" xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:com="http://www.maileva.fr/CommonSchema" xmlns:pjs="http://www.maileva.fr/MailevaPJSSchema" xmlns:spec="http://www.maileva.fr/MailevaSpecificSchema">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns0:submit>
<campaign Version="5.0" Application="connecteur_Maileva">
<pjs:Requests>
<pjs:Request MediaType="DIGITAL"
TrackId="test_track_id">
<pjs:Recipients>
<pjs:Internal>
<pjs:Recipient Id="1">
<com:PaperAddress>
<com:AddressLines>
<com:AddressLine1>MR first last</com:AddressLine1>
<com:AddressLine2>123</com:AddressLine2>
<com:AddressLine3>Rue 12</com:AddressLine3>
<com:AddressLine6>59000 LILLE</com:AddressLine6>
</com:AddressLines>
<com:Country>france</com:Country>
<com:CountryCode>FR</com:CountryCode>
</com:PaperAddress>
<com:DigitalAddress>
<com:FirstName>first</com:FirstName>
<com:LastName>last</com:LastName>
<com:Identifier>00000001</com:Identifier>
</com:DigitalAddress>
</pjs:Recipient>
</pjs:Internal>
</pjs:Recipients>
<pjs:Senders>
<pjs:Sender Id="001">
<com:PaperAddress>
<com:AddressLines>
<com:AddressLine1>test_maileva_connector_sender</com:AddressLine1>
<com:AddressLine2>122</com:AddressLine2>
<com:AddressLine3>Rue 11</com:AddressLine3>
<com:AddressLine6>59000 LILLE CEDEX</com:AddressLine6>
</com:AddressLines>
<com:Country>france</com:Country>
<com:CountryCode>FR</com:CountryCode>
</com:PaperAddress>
</pjs:Sender>
</pjs:Senders>
<pjs:DocumentData>
<pjs:Documents>
<pjs:Document Id="001">
<com:MergeFields>
<com:MergeField>
<com:PageNumber>1</com:PageNumber>
<com:FontName>Arial</com:FontName>
<com:FontSize>12</com:FontSize>
<com:FontColor>#000000</com:FontColor>
<com:FontBold>false</com:FontBold>
<com:FontItalic>false</com:FontItalic>
<com:FontUnderline>false</com:FontUnderline>
<com:PosUnit>CM</com:PosUnit>
<com:PosX>12.0</com:PosX>
<com:PosY>7.0</com:PosY>
<com:Content>
<com:Automatic>DIGITAL_SECURITY_CODE</com:Automatic>
</com:Content>
<com:Orientation>0</com:Orientation>
<com:Halign>CENTER</com:Halign>
</com:MergeField>
</com:MergeFields>
<com:Content>
<com:Value></com:Value>
</com:Content>
</pjs:Document>
</pjs:Documents>
</pjs:DocumentData>
<pjs:Options>
<pjs:RequestOption>
<spec:DigitalOption>
<spec:FoldOption>
<spec:PostageClass>ECOPLI_GRAND_COMPTE</spec:PostageClass>
<spec:DepositTitle>%s</spec:DepositTitle>
<spec:DepositDescription>%s</spec:DepositDescription>
<spec:UseFlyLeaf>true</spec:UseFlyLeaf>
</spec:FoldOption>
<spec:DepositType>PAYSLIP</spec:DepositType>
<spec:DigitalArchiving>600</spec:DigitalArchiving>
</spec:DigitalOption>
</pjs:RequestOption>
</pjs:Options>
<pjs:Notifications>
<pjs:Notification Type="GENERAL">
<spec:Format>XML</spec:Format>
<spec:Protocols>
<spec:Protocol>
<spec:Ws/>
</spec:Protocol>
</spec:Protocols>
</pjs:Notification>
</pjs:Notifications>
</pjs:Request>
</pjs:Requests>
</campaign>
</ns0:submit>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
''' % (self.document.getTitle(), self.document.getTitle())
)
def test_maileva_request_validation(self):
xml = self.maileva_connector.generateRequestXML(self.recipient, self.sender, self.document, 'test_track_id', 'maileva_connection_for_test')
# lxml doesn't support https in schemaLocation, download locally
src = open(os.path.join(os.path.dirname(Products.ERP5.tests.__file__), 'test_data', "MailevaPJSSchema.xsd"))
xsd = etree.parse(src)
schema_validator = etree.XMLSchema(xsd)
schema_validator.assertValid(etree.fromstring(xml.encode("UTF-8")))
def test_send_state_workflow(self):
pdf = self.portal.document_module.newContent(portal_type='PDF')
self.tic()
self.assertEqual(pdf.getSendState(),'draft')
self.assertTrue(self.portal.portal_workflow.isTransitionPossible(pdf, 'send'))
self.assertTrue(self.portal.portal_workflow.isTransitionPossible(pdf, 'fail'))
self.assertTrue(self.portal.portal_workflow.isTransitionPossible(pdf, 'succeed'))
pdf.send()
self.assertEqual(pdf.getSendState(),'sending')
self.tic()
self.assertTrue(self.portal.portal_workflow.isTransitionPossible(pdf, 'fail'))
self.assertTrue(self.portal.portal_workflow.isTransitionPossible(pdf, 'succeed'))
pdf.fail()
self.assertEqual(pdf.getSendState(), 'failed')
self.tic()
self.assertTrue(self.portal.portal_workflow.isTransitionPossible(pdf, 'succeed'))
self.assertTrue(self.portal.portal_workflow.isTransitionPossible(pdf, 'send'))
pdf.succeed()
self.tic()
self.assertEqual(pdf.getSendState(), 'success')
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Test Component" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_recorded_property_dict</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>testMailevaSOAPConnector</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testMailevaSOAPConnector</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Test Component</string> </value>
</item>
<item>
<key> <string>sid</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>text_content_error_message</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>text_content_warning_message</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>version</string> </key>
<value> <string>erp5</string> </value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</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/>
</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>validate</string> </value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>validated</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Workflow" 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>categories</string> </key>
<value>
<tuple>
<string>source/portal_workflow/send_state_workflow/state_draft</string>
</tuple>
</value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>send_state_workflow</string> </value>
</item>
<item>
<key> <string>manager_bypass</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow</string> </value>
</item>
<item>
<key> <string>state_variable</string> </key>
<value> <string>send_state</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Send State Workflow</string> </value>
</item>
<item>
<key> <string>workflow_managed_permission</string> </key>
<value>
<tuple>
<string>Modify portal content</string>
<string>Add portal content</string>
</tuple>
</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="Workflow State" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>acquire_permission</string> </key>
<value>
<tuple>
<string>Modify portal content</string>
<string>Add portal content</string>
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>destination/portal_workflow/send_state_workflow/transition_fail</string>
<string>destination/portal_workflow/send_state_workflow/transition_send</string>
<string>destination/portal_workflow/send_state_workflow/transition_succeed</string>
</tuple>
</value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>state_draft</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow State</string> </value>
</item>
<item>
<key> <string>state_permission_role_list_dict</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Draft</string> </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>Add portal content</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Authenticated</string>
<string>Associate</string>
<string>Author</string>
<string>Member</string>
<string>Assignee</string>
<string>Manager</string>
<string>Auditor</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
<item>
<key> <string>Modify portal content</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Authenticated</string>
<string>Author</string>
<string>Associate</string>
<string>Member</string>
<string>Assignee</string>
<string>Manager</string>
<string>Auditor</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Workflow State" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>acquire_permission</string> </key>
<value>
<tuple>
<string>Modify portal content</string>
<string>Add portal content</string>
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>destination/portal_workflow/send_state_workflow/transition_send</string>
<string>destination/portal_workflow/send_state_workflow/transition_succeed</string>
</tuple>
</value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>state_failed</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow State</string> </value>
</item>
<item>
<key> <string>state_permission_role_list_dict</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Failed</string> </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>Add portal content</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Authenticated</string>
<string>Associate</string>
<string>Author</string>
<string>Member</string>
<string>Assignee</string>
<string>Manager</string>
<string>Auditor</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
<item>
<key> <string>Modify portal content</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Authenticated</string>
<string>Author</string>
<string>Associate</string>
<string>Member</string>
<string>Assignee</string>
<string>Manager</string>
<string>Auditor</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Workflow State" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>acquire_permission</string> </key>
<value>
<tuple>
<string>Modify portal content</string>
<string>Add portal content</string>
</tuple>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>destination/portal_workflow/send_state_workflow/transition_fail</string>
<string>destination/portal_workflow/send_state_workflow/transition_succeed</string>
</tuple>
</value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>state_sending</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow State</string> </value>
</item>
<item>
<key> <string>state_permission_role_list_dict</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Sending</string> </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>Add portal content</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Authenticated</string>
<string>Associate</string>
<string>Author</string>
<string>Member</string>
<string>Assignee</string>
<string>Manager</string>
<string>Auditor</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
<item>
<key> <string>Modify portal content</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Authenticated</string>
<string>Author</string>
<string>Associate</string>
<string>Member</string>
<string>Assignee</string>
<string>Manager</string>
<string>Auditor</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Workflow State" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>acquire_permission</string> </key>
<value>
<tuple>
<string>Modify portal content</string>
<string>Add portal content</string>
</tuple>
</value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>state_success</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow State</string> </value>
</item>
<item>
<key> <string>state_permission_role_list_dict</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Success</string> </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>Add portal content</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Authenticated</string>
<string>Associate</string>
<string>Author</string>
<string>Member</string>
<string>Assignee</string>
<string>Manager</string>
<string>Auditor</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
<item>
<key> <string>Modify portal content</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Authenticated</string>
<string>Author</string>
<string>Associate</string>
<string>Member</string>
<string>Assignee</string>
<string>Manager</string>
<string>Auditor</string>
<string>Owner</string>
<string>Reviewer</string>
</tuple>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Workflow Transition" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/workflow</string>
<string>destination/portal_workflow/send_state_workflow/state_failed</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>guard_permission</string> </key>
<value>
<tuple>
<string>Modify portal content</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>transition_fail</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow Transition</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Fail</string> </value>
</item>
<item>
<key> <string>trigger_type</string> </key>
<value> <int>2</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Workflow Transition" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/workflow</string>
<string>destination/portal_workflow/send_state_workflow/state_sending</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>guard_permission</string> </key>
<value>
<tuple>
<string>Modify portal content</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>transition_send</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow Transition</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Send</string> </value>
</item>
<item>
<key> <string>trigger_type</string> </key>
<value> <int>2</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Workflow Transition" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/workflow</string>
<string>destination/portal_workflow/send_state_workflow/state_success</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>guard_permission</string> </key>
<value>
<tuple>
<string>Modify portal content</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>transition_succeed</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow Transition</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Succeed</string> </value>
</item>
<item>
<key> <string>trigger_type</string> </key>
<value> <int>2</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Workflow Variable" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>description</string> </key>
<value> <string>Transition id</string> </value>
</item>
<item>
<key> <string>for_catalog</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>variable_action</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow Variable</string> </value>
</item>
<item>
<key> <string>variable_default_expression</string> </key>
<value> <string>transition/getReference|nothing</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Workflow Variable" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>description</string> </key>
<value> <string>Name of the user who performed transition</string> </value>
</item>
<item>
<key> <string>for_catalog</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>variable_actor</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow Variable</string> </value>
</item>
<item>
<key> <string>variable_default_expression</string> </key>
<value> <string>user/getIdOrUserName</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Workflow Variable" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>description</string> </key>
<value> <string>Comment about transition</string> </value>
</item>
<item>
<key> <string>for_catalog</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>variable_comment</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow Variable</string> </value>
</item>
<item>
<key> <string>variable_default_expression</string> </key>
<value> <string>python:state_change.kwargs.get(\'comment\', \'\')</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Workflow Variable" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>description</string> </key>
<value> <string>Error message if validation failed</string> </value>
</item>
<item>
<key> <string>for_catalog</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>variable_error_message</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow Variable</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Workflow Variable" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>automatic_update</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Provides access to workflow history</string> </value>
</item>
<item>
<key> <string>for_catalog</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>variable_history</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow Variable</string> </value>
</item>
<item>
<key> <string>status_included</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>variable_default_expression</string> </key>
<value> <string>state_change/getHistory</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Workflow Variable" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>automatic_update</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Portal type (used as filter for worklists)</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>variable_portal_type</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow Variable</string> </value>
</item>
<item>
<key> <string>status_included</string> </key>
<value> <int>0</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Workflow Variable" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>description</string> </key>
<value> <string>Transition timestamp</string> </value>
</item>
<item>
<key> <string>for_catalog</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>variable_time</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow Variable</string> </value>
</item>
<item>
<key> <string>variable_default_expression</string> </key>
<value> <string>state_change/getDateTime</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Worklist" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<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>
<key> <string>action</string> </key>
<value> <string encoding="cdata"><![CDATA[
ERP5Site_viewDocumentList?send_state=%(send_state)s&local_roles=%(local_roles)s&portal_type=%(portal_type)s&reset=1
]]></string> </value>
</item>
<item>
<key> <string>action_name</string> </key>
<value> <string>Documents Failed To Send (%(count)s)</string> </value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/global</string>
</tuple>
</value>
</item>
<item>
<key> <string>criterion_property</string> </key>
<value>
<tuple>
<string>send_state</string>
<string>local_roles</string>
</tuple>
</value>
</item>
<item>
<key> <string>guard_expression</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>worklist_failed_to_send</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Worklist</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>failed_to_send</string> </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>local_roles</string> </key>
<value>
<list>
<string>Assignor</string>
</list>
</value>
</item>
<item>
<key> <string>send_state</string> </key>
<value>
<list>
<string>failed</string>
</list>
</value>
</item>
</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>
</pickle>
</record>
</ZopeData>
erp5_web_service
erp5_system_event
erp5_dms
\ No newline at end of file
Maileva Exchange | view
Maileva SOAP Connector | view
PDF | maileva_connection_status
PDF | resend_to_maileva
\ No newline at end of file
document.erp5.MailevaSOAPConnector
\ No newline at end of file
portal_alarms/check_maileva_document_status
\ No newline at end of file
portal_alarms/check_maileva_document_status
\ No newline at end of file
System Event Module | Maileva Exchange
Web Service Tool | Maileva SOAP Connector
\ No newline at end of file
Maileva Exchange
Maileva SOAP Connector
\ No newline at end of file
Maileva Exchange | Amount
Maileva Exchange | Arrow
Maileva Exchange | Event
Maileva SOAP Connector | Login
Maileva SOAP Connector | Reference
Maileva SOAP Connector | Url
\ No newline at end of file
Maileva Exchange | edit_workflow
Maileva Exchange | system_event_workflow
Maileva SOAP Connector | edit_workflow
Maileva SOAP Connector | validation_workflow
PDF | send_state_workflow
\ No newline at end of file
erp5_maileva_connector
\ No newline at end of file
test.erp5.testMailevaSOAPConnector
\ No newline at end of file
send_state_workflow
\ No newline at end of file
erp5_full_text_mroonga_catalog
\ No newline at end of file
erp5_maileva_connector
\ No newline at end of file
context.log('You should set properly security so only accounting stuff have access')
<?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>PDF_setAccountingSecurity</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
<span tal:condition='other_data_dict/source_section_default_career_start_date' tal:content='python:other_data_dict["source_section_default_career_start_date"]'>12/09/2005</span> <span tal:condition='other_data_dict/source_section_default_career_start_date' tal:content='python:other_data_dict["source_section_default_career_start_date"]'>12/09/2005</span>
<span tal:condition='other_data_dict/source_section_career_title' tal:content='python:other_data_dict["source_section_career_title"]'>Réceptionniste</span> <span tal:condition='other_data_dict/source_section_career_title' tal:content='python:other_data_dict["source_section_career_title"]'>Réceptionniste</span>
<span tal:condition='other_data_dict/source_section_default_career_coefficient' tal:content='python:other_data_dict["source_section_default_career_coefficient"]'>100</span> <span tal:condition='other_data_dict/source_section_default_career_coefficient' tal:content='python:other_data_dict["source_section_default_career_coefficient"]'>100</span>
<span tal:condition='other_data_dict/source_section_career_employee_number' tal:content='python: other_data_dict["source_section_career_employee_number"]'></span>
</div> </div>
</div> </div>
</tal:block> </tal:block>
\ No newline at end of file
...@@ -14,6 +14,13 @@ def getFieldAsLineList(field): ...@@ -14,6 +14,13 @@ def getFieldAsLineList(field):
text_list = text.split('\n') text_list = text.split('\n')
return [x for x in text_list if x] return [x for x in text_list if x]
def getEmployeeNumber(source_section_career):
employee_number = source_section_career.getReference()
s = ''
if employee_number:
s = '%s: %s' % (translateString('Employee Number'), employee_number)
return s
def getSocialCodeId(social_code_id): def getSocialCodeId(social_code_id):
s = '' s = ''
if social_code_id: if social_code_id:
...@@ -212,6 +219,7 @@ data_dict = { ...@@ -212,6 +219,7 @@ data_dict = {
'total_employee_tax': getTotalEmployeeTaxId(total_employee_tax), 'total_employee_tax': getTotalEmployeeTaxId(total_employee_tax),
'total_employer_tax': getTotalEmployerTaxId(total_employer_tax), 'total_employer_tax': getTotalEmployerTaxId(total_employer_tax),
'year_to_date_total_employer_tax': year_to_date_total_employer_tax, 'year_to_date_total_employer_tax': year_to_date_total_employer_tax,
'source_section_career_employee_number': getEmployeeNumber(source_section_career)
} }
return unicodeDict(data_dict) return unicodeDict(data_dict)
...@@ -11,18 +11,28 @@ Wire PaySheetTransaction through to erp5_corporate_identity Report ...@@ -11,18 +11,28 @@ Wire PaySheetTransaction through to erp5_corporate_identity Report
# format: output in html*, pdf # format: output in html*, pdf
# international_form translate terms # international_form translate terms
# language target_language # language target_language
return context.Base_printAsReport(
format=format, kw['format'] =format
report_header = "PaySheetTransaction_generatePayslipReportHeader", kw['report_header'] = "PaySheetTransaction_generatePayslipReportHeader"
report_name = "PaySheetTransaction_generatePayslipReport", kw['report_name'] = "PaySheetTransaction_generatePayslipReport"
report_footer = "PaySheetTransaction_generatePayslipReportFooter", kw['report_footer'] = "PaySheetTransaction_generatePayslipReportFooter"
conversion_dict = dict( kw['conversion_dict'] = dict(
margin_top=60, margin_top=60,
header_spacing=5 header_spacing=5
),
css_path="payslip_css/payslip",
document_language=target_language,
start_date=context.getStartDate() or None,
stop_date=context.getStopDate() or None,
**kw
) )
kw['css_path']="payslip_css/payslip"
kw['document_language']=target_language
kw['start_date']=context.getStartDate() or None
kw['stop_date']=context.getStopDate() or None
kw['get_doc_after_save'] = send_to_maileva
if not send_to_maileva:
return context.Base_printAsReport(**kw)
document = context.Base_printAsReport(**kw)
document.edit(title='BULLETIN DE PAIE: %s' % document.getTitle())
document.PDF_sendToMaileva(recipient=context.getSourceSectionValue(), sender=context.getDestinationTradeValue())
document.setFollowUpValue(context)
document.PDF_setAccountingSecurity()
return document.Base_redirect('PDF_viewPDFJSPreview', keep_items={'portal_status_message': 'This document is sending to maileva'})
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>format=None, international_form=None, target_language=None, *args,**kw</string> </value> <value> <string>format=None, international_form=None, target_language=None, send_to_maileva=None,*args,**kw</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
from Products.ERP5Type.Message import translateString
if dialog_id is not None:
request = container.REQUEST
request.form['portal_status_message'] = translateString('Preview updated.')
request.form['cancel_url'] = cancel_url
request.form['format'] = format
request.form['send_to_maileva'] = send_to_maileva
request.form['evoluation_remuneration'] = evoluation_remuneration
request.form['taken_holiday'] = taken_holiday
request.form['total_holiday'] = total_holiday
return context.Base_renderForm(dialog_id)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>dialog_id=None, cancel_url=None, format=None, send_to_maileva=None, evoluation_remuneration=None, taken_holiday=None, total_holiday = None, *args,**kw</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>PaySheetTransaction_updatePayslipReportDialog</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -65,6 +65,7 @@ ...@@ -65,6 +65,7 @@
<list> <list>
<string>left</string> <string>left</string>
<string>right</string> <string>right</string>
<string>bottom</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -72,6 +73,14 @@ ...@@ -72,6 +73,14 @@
<key> <string>groups</string> </key> <key> <string>groups</string> </key>
<value> <value>
<dictionary> <dictionary>
<item>
<key> <string>bottom</string> </key>
<value>
<list>
<string>content</string>
</list>
</value>
</item>
<item> <item>
<key> <string>left</string> </key> <key> <string>left</string> </key>
<value> <value>
...@@ -89,6 +98,7 @@ ...@@ -89,6 +98,7 @@
<value> <value>
<list> <list>
<string>your_format</string> <string>your_format</string>
<string>your_send_to_maileva</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -129,7 +139,7 @@ ...@@ -129,7 +139,7 @@
</item> </item>
<item> <item>
<key> <string>update_action</string> </key> <key> <string>update_action</string> </key>
<value> <string></string> </value> <value> <string>PaySheetTransaction_updatePayslipReportDialog</string> </value>
</item> </item>
<item> <item>
<key> <string>update_action_title</string> </key> <key> <string>update_action_title</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="EditorField" module="Products.ERP5Form.EditorField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>content</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>line_too_long</string> </key>
<value> <string>A line was too long.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>Input is required but no input given.</string> </value>
</item>
<item>
<key> <string>too_long</string> </key>
<value> <string>You entered too many characters.</string> </value>
</item>
<item>
<key> <string>too_many_lines</string> </key>
<value> <string>You entered too many lines.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>text_editor</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>text_editor</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string>page</string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>The content of the document considered as a text string</string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>height</string> </key>
<value> <int>40</int> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>max_length</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_linelength</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>max_lines</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>text_editor</string> </key>
<value> <string>codemirror</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Content</string> </value>
</item>
<item>
<key> <string>unicode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>100</int> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
python: \'<iframe width="100%%" height="500" style="background-color:#FFFFFF;box-sizing:border-box;-wekbit-box-sizing:border-box;" src="%s/PaySheetTransaction_printPayslipReport?format=%s&amp;field_your_evoluation_remuneration=%s&amp;field_your_taken_holiday=%s&amp;field_your_total_holiday=%s&amp;target_language=%s"></iframe>\' % (context.absolute_url(), context.REQUEST.get("field_your_format", "pdf"), context.REQUEST.get("field_your_evoluation_remuneration", ""), context.REQUEST.get("field_your_taken_holiday", ""),context.REQUEST.get("field_your_total_holiday", ""), context.REQUEST.get("field_your_target_language", ""))
]]></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>your_send_to_maileva</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
<item>
<key> <string>required_not_found</string> </key>
<value> <string>This field is mandatory.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>required</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>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>required</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Send To Maileva</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version='1.0' encoding='UTF-8'?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.maileva.fr/CommonSchema" elementFormDefault="qualified" targetNamespace="http://www.maileva.fr/CommonSchema" version="1.0">
<xs:complexType name="Recipient">
<xs:sequence>
<xs:element minOccurs="0" name="PaperAddress" type="tns:PaperAddress"/>
<xs:element minOccurs="0" name="FaxAddress" type="tns:FaxAddress"/>
<xs:element minOccurs="0" name="EmailAddress" type="tns:EmailAddress"/>
<xs:element minOccurs="0" name="SmsAddress" type="tns:SmsAddress"/>
<xs:element minOccurs="0" name="DigitalAddress" type="tns:DigitalAddress"/>
<xs:element minOccurs="0" name="Category" type="xs:string"/>
<xs:element minOccurs="0" name="HasDigitalId" type="xs:boolean"/>
<xs:element minOccurs="0" name="ProductionCenter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="64"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required"/>
<xs:attribute name="TrackId" type="xs:string"/>
<xs:attribute name="PartnerTrackId" type="xs:string"/>
</xs:complexType>
<xs:complexType name="PaperAddress">
<xs:sequence>
<xs:element name="AddressLines" type="tns:AddressLines"/>
<xs:element minOccurs="0" name="Country" type="xs:string"/>
<xs:element minOccurs="0" name="CountryCode" type="tns:ComCountryCode"/>
<xs:element minOccurs="0" name="InvoiceAddress" type="tns:InvoiceAddress"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="InvoiceAddress">
<xs:all>
<xs:element minOccurs="0" name="Identifier">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Email">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="InvoiceNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="EmailTemplateId">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="SendingMode" type="tns:ComInvoiceSendingMode"/>
<xs:element maxOccurs="1" minOccurs="0" name="AmountWithoutTax" type="xs:double"/>
<xs:element maxOccurs="1" minOccurs="0" name="TaxAmount" type="xs:double"/>
<xs:element maxOccurs="1" minOccurs="0" name="TotalAmount" type="xs:double"/>
<xs:element maxOccurs="1" minOccurs="0" name="NetPayableAmount" type="xs:double"/>
<xs:element minOccurs="0" name="RecipientDepartmentCode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="110"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="LegalCommitmentNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ReferenceInvoiceNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="RecipientCompanyName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="RecipientSiret">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="14"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="InvoiceDate" type="xs:date"/>
<xs:element maxOccurs="1" minOccurs="0" name="InvoiceType" type="tns:ComInvoiceType"/>
<xs:element maxOccurs="1" minOccurs="0" name="MarketType" type="tns:ComMarketType"/>
<xs:element maxOccurs="1" minOccurs="0" name="ApproverSiret">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="14"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="ApproverCompanyName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ApproverCountryCode" type="tns:ComCountryCode"/>
<xs:element maxOccurs="1" minOccurs="0" name="FactorSiret">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="14"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="FactorCompanyName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="FactorCountryCode" type="tns:ComCountryCode"/>
<xs:element maxOccurs="1" minOccurs="0" name="DueDate" type="xs:date"/>
<xs:element maxOccurs="1" minOccurs="0" name="Iban">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="48"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="Bic">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="AddressLines">
<xs:sequence>
<xs:element minOccurs="0" name="AddressLine1" type="xs:string"/>
<xs:element minOccurs="0" name="AddressLine2" type="xs:string"/>
<xs:element minOccurs="0" name="AddressLine3" type="xs:string"/>
<xs:element minOccurs="0" name="AddressLine4" type="xs:string"/>
<xs:element minOccurs="0" name="AddressLine5" type="xs:string"/>
<xs:element minOccurs="0" name="AddressLine6" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FaxAddress">
<xs:all>
<xs:element minOccurs="0" name="FaxNumber" type="xs:string"/>
<xs:element minOccurs="0" name="PhoneNumber" type="xs:string"/>
<xs:element minOccurs="0" name="FaxName" type="xs:string"/>
<xs:element minOccurs="0" name="FaxCorporation" type="xs:string"/>
<xs:element minOccurs="0" name="FaxEmail" type="xs:string"/>
</xs:all>
</xs:complexType>
<xs:complexType name="EmailAddress">
<xs:all>
<xs:element minOccurs="0" name="Email" type="xs:string"/>
<xs:element minOccurs="0" name="EmailFrom" type="xs:string"/>
<xs:element minOccurs="0" name="EmailReply" type="xs:string"/>
</xs:all>
</xs:complexType>
<xs:complexType name="SmsAddress">
<xs:sequence>
<xs:element name="SmsNumber" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DigitalAddress">
<xs:all>
<xs:element name="Identifier" type="xs:string"/>
<xs:element name="FirstName" type="xs:string"/>
<xs:element name="LastName" type="xs:string"/>
</xs:all>
</xs:complexType>
<xs:complexType name="Sender">
<xs:all>
<xs:element minOccurs="0" name="PaperAddress" type="tns:PaperAddress"/>
<xs:element minOccurs="0" name="FaxAddress" type="tns:FaxAddress"/>
<xs:element minOccurs="0" name="EmailAddress" type="tns:EmailAddress"/>
<xs:element minOccurs="0" name="SmsAddress" type="tns:SmsAddress"/>
</xs:all>
<xs:attribute name="Id" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="MergeField">
<xs:sequence>
<xs:element name="PageNumber" type="xs:int"/>
<xs:element name="FontName" type="xs:string"/>
<xs:element name="FontSize" type="xs:int"/>
<xs:element minOccurs="0" name="FontColor" type="xs:string"/>
<xs:element minOccurs="0" name="FontBold" type="xs:boolean"/>
<xs:element minOccurs="0" name="FontItalic" type="xs:boolean"/>
<xs:element minOccurs="0" name="FontUnderline" type="xs:boolean"/>
<xs:element name="PosUnit" type="tns:comMeasureUnit"/>
<xs:element name="PosX" type="xs:float"/>
<xs:element name="PosY" type="xs:float"/>
<xs:element name="Content" type="tns:Content"/>
<xs:element minOccurs="0" name="Orientation" type="xs:int"/>
<xs:element minOccurs="0" name="Halign" type="tns:ComHalignType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Content">
<xs:sequence>
<xs:element minOccurs="0" name="Value" type="xs:string"/>
<xs:element minOccurs="0" name="Id" type="xs:string"/>
<xs:element minOccurs="0" name="Automatic" type="tns:ComAutoMergeField"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="document">
<xs:sequence>
<xs:element minOccurs="0" name="Shrink" type="xs:boolean"/>
<xs:element minOccurs="0" name="Size" type="xs:long"/>
<xs:element minOccurs="0" name="Hash" type="tns:Hash"/>
<xs:element minOccurs="0" name="MergeFields">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="MergeField" type="tns:MergeField"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Content" type="tns:DocumentContent"/>
<xs:element minOccurs="0" name="DocumentCategory" type="tns:DocumentCategory"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required"/>
<xs:attribute name="DocumentType" use="optional"/>
</xs:complexType>
<xs:simpleType name="DocumentCategory">
<xs:restriction base="xs:string">
<xs:enumeration value="ATTACHMENT"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Hash">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Type" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="DocumentContent">
<xs:sequence>
<xs:element minOccurs="0" name="Value" type="xs:base64Binary"/>
<xs:element minOccurs="0" name="Uri" type="xs:string"/>
</xs:sequence>
<xs:attribute name="encoding" type="tns:ComCharset"/>
</xs:complexType>
<xs:complexType name="DocInFold">
<xs:all>
<xs:element minOccurs="0" name="Pages">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Page">
<xs:complexType>
<xs:complexContent>
<xs:extension base="tns:PageInDoc">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="DocumentOptionId" type="xs:string"/>
<xs:element minOccurs="0" name="StaplingDetails" type="tns:StaplingDetails"/>
</xs:all>
<xs:attribute name="DocumentId" type="xs:string"/>
<xs:attribute name="FirstPage" type="xs:positiveInteger"/>
<xs:attribute name="LastPage" type="xs:integer"/>
</xs:complexType>
<xs:complexType name="PageInDoc">
<xs:sequence>
<xs:element minOccurs="0" name="PageOptionId" type="xs:string"/>
</xs:sequence>
<xs:attribute name="Number" type="xs:integer" use="required"/>
</xs:complexType>
<xs:complexType name="StaplingDetails">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Stapling">
<xs:complexType>
<xs:all>
<xs:element name="FirstPageOffset" type="xs:int"/>
<xs:element name="LastPageOffset" type="xs:int"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MergeValue">
<xs:sequence>
<xs:element minOccurs="0" name="ValueWithRef">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Ref" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="ValueWithOrder">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Order" type="xs:int"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FoldIndex">
<xs:all>
<xs:element name="Type">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="INDEX_BILLING_REF"/>
<xs:enumeration value="INDEX_SPLITTING_REF"/>
<xs:enumeration value="INDEX_1"/>
<xs:enumeration value="INDEX_2"/>
<xs:enumeration value="INDEX_3"/>
<xs:enumeration value="INDEX_4"/>
<xs:enumeration value="INDEX_5"/>
<xs:enumeration value="INDEX_6"/>
<xs:enumeration value="INDEX_7"/>
<xs:enumeration value="INDEX_8"/>
<xs:enumeration value="INDEX_9"/>
<xs:enumeration value="INDEX_10"/>
<xs:enumeration value="INDEX_11"/>
<xs:enumeration value="INDEX_12"/>
<xs:enumeration value="INDEX_13"/>
<xs:enumeration value="INDEX_14"/>
<xs:enumeration value="INDEX_15"/>
<xs:enumeration value="INDEX_16"/>
<xs:enumeration value="INDEX_17"/>
<xs:enumeration value="INDEX_18"/>
<xs:enumeration value="INDEX_19"/>
<xs:enumeration value="INDEX_20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Value" type="xs:string"/>
</xs:all>
</xs:complexType>
<xs:complexType name="FtpNotificationProtocol">
<xs:all>
<xs:element minOccurs="0" name="Login" type="xs:string"/>
<xs:element minOccurs="0" name="Folder" type="xs:string"/>
</xs:all>
</xs:complexType>
<xs:complexType name="CftNotificationProtocol">
<xs:all>
<xs:element minOccurs="0" name="Partner" type="xs:string"/>
<xs:element minOccurs="0" name="Idf" type="xs:string"/>
</xs:all>
</xs:complexType>
<xs:complexType name="HttpNotificationProtocol">
<xs:all/>
</xs:complexType>
<xs:complexType name="WsNotificationProtocol">
<xs:all/>
</xs:complexType>
<xs:complexType name="NotificationCenterNotificationProtocol">
<xs:all>
<xs:element maxOccurs="1" minOccurs="0" name="Url">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="Address">
<xs:sequence>
<xs:element minOccurs="0" name="PaperAddress" type="tns:PaperAddress"/>
<xs:element minOccurs="0" name="FaxAddress" type="tns:FaxAddress"/>
<xs:element minOccurs="0" name="EmailAddress" type="tns:EmailAddress"/>
<xs:element minOccurs="0" name="SmsAddress" type="tns:SmsAddress"/>
<xs:element minOccurs="0" name="DigiatlAddress" type="tns:DigitalAddress"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BatchRecipientPageDetails">
<xs:all>
<xs:element name="physicalFirstPage" type="xs:int"/>
<xs:element name="physicalLastPage" type="xs:int"/>
<xs:element minOccurs="0" name="logicalFirstPage">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:int">
<xs:attribute name="position" type="xs:int"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="logicalLastPage">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:int">
<xs:attribute name="position" type="xs:int"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="StaplingDetails" type="tns:StaplingDetails"/>
</xs:all>
</xs:complexType>
<xs:complexType name="BatchFile">
<xs:all>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Size" type="xs:long"/>
<xs:element minOccurs="0" name="Hash">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Type" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="physicalPagesCount" type="xs:int"/>
<xs:element minOccurs="0" name="logicalPagesCount" type="xs:int"/>
<xs:element minOccurs="0" name="Color" type="tns:ComPageColor"/>
<xs:element minOccurs="0" name="ReferenceBatchFileId" type="xs:int"/>
</xs:all>
<xs:attribute name="Id" type="xs:int" use="required"/>
<xs:attribute name="Type" type="tns:ComBatchFileType" use="required"/>
</xs:complexType>
<xs:complexType name="License">
<xs:all>
<xs:element name="Number" type="xs:string"/>
<xs:element name="Id" type="xs:string"/>
</xs:all>
</xs:complexType>
<xs:complexType name="BatchSender">
<xs:all>
<xs:element name="PaperAddress" type="tns:PaperAddress"/>
<xs:element minOccurs="0" name="Email" type="xs:string"/>
</xs:all>
<xs:attribute name="Id" type="xs:string" use="required"/>
</xs:complexType>
<xs:simpleType name="ComCountryCode">
<xs:restriction base="xs:string">
<xs:enumeration value="AD"/>
<xs:enumeration value="AE"/>
<xs:enumeration value="AF"/>
<xs:enumeration value="AG"/>
<xs:enumeration value="AI"/>
<xs:enumeration value="AL"/>
<xs:enumeration value="AM"/>
<xs:enumeration value="AN"/>
<xs:enumeration value="AO"/>
<xs:enumeration value="AQ"/>
<xs:enumeration value="AR"/>
<xs:enumeration value="AS"/>
<xs:enumeration value="AT"/>
<xs:enumeration value="AU"/>
<xs:enumeration value="AW"/>
<xs:enumeration value="AX"/>
<xs:enumeration value="AZ"/>
<xs:enumeration value="BA"/>
<xs:enumeration value="BB"/>
<xs:enumeration value="BD"/>
<xs:enumeration value="BE"/>
<xs:enumeration value="BF"/>
<xs:enumeration value="BG"/>
<xs:enumeration value="BH"/>
<xs:enumeration value="BI"/>
<xs:enumeration value="BJ"/>
<xs:enumeration value="BL"/>
<xs:enumeration value="BM"/>
<xs:enumeration value="BN"/>
<xs:enumeration value="BO"/>
<xs:enumeration value="BQ"/>
<xs:enumeration value="BR"/>
<xs:enumeration value="BS"/>
<xs:enumeration value="BT"/>
<xs:enumeration value="BV"/>
<xs:enumeration value="BW"/>
<xs:enumeration value="BY"/>
<xs:enumeration value="BZ"/>
<xs:enumeration value="CA"/>
<xs:enumeration value="CC"/>
<xs:enumeration value="CD"/>
<xs:enumeration value="CF"/>
<xs:enumeration value="CG"/>
<xs:enumeration value="CH"/>
<xs:enumeration value="CI"/>
<xs:enumeration value="CK"/>
<xs:enumeration value="CL"/>
<xs:enumeration value="CM"/>
<xs:enumeration value="CN"/>
<xs:enumeration value="CO"/>
<xs:enumeration value="CR"/>
<xs:enumeration value="CS"/>
<xs:enumeration value="CU"/>
<xs:enumeration value="CV"/>
<xs:enumeration value="CW"/>
<xs:enumeration value="CX"/>
<xs:enumeration value="CY"/>
<xs:enumeration value="CZ"/>
<xs:enumeration value="DE"/>
<xs:enumeration value="DJ"/>
<xs:enumeration value="DK"/>
<xs:enumeration value="DM"/>
<xs:enumeration value="DO"/>
<xs:enumeration value="DZ"/>
<xs:enumeration value="EC"/>
<xs:enumeration value="EE"/>
<xs:enumeration value="EG"/>
<xs:enumeration value="EH"/>
<xs:enumeration value="ER"/>
<xs:enumeration value="ES"/>
<xs:enumeration value="ET"/>
<xs:enumeration value="FI"/>
<xs:enumeration value="FJ"/>
<xs:enumeration value="FK"/>
<xs:enumeration value="FM"/>
<xs:enumeration value="FO"/>
<xs:enumeration value="FR"/>
<xs:enumeration value="GA"/>
<xs:enumeration value="GB"/>
<xs:enumeration value="GD"/>
<xs:enumeration value="GE"/>
<xs:enumeration value="GF"/>
<xs:enumeration value="GG"/>
<xs:enumeration value="GH"/>
<xs:enumeration value="GI"/>
<xs:enumeration value="GL"/>
<xs:enumeration value="GM"/>
<xs:enumeration value="GN"/>
<xs:enumeration value="GP"/>
<xs:enumeration value="GQ"/>
<xs:enumeration value="GR"/>
<xs:enumeration value="GS"/>
<xs:enumeration value="GT"/>
<xs:enumeration value="GU"/>
<xs:enumeration value="GW"/>
<xs:enumeration value="GY"/>
<xs:enumeration value="HK"/>
<xs:enumeration value="HM"/>
<xs:enumeration value="HN"/>
<xs:enumeration value="HR"/>
<xs:enumeration value="HT"/>
<xs:enumeration value="HU"/>
<xs:enumeration value="ID"/>
<xs:enumeration value="IE"/>
<xs:enumeration value="IL"/>
<xs:enumeration value="IM"/>
<xs:enumeration value="IN"/>
<xs:enumeration value="IO"/>
<xs:enumeration value="IQ"/>
<xs:enumeration value="IR"/>
<xs:enumeration value="IS"/>
<xs:enumeration value="IT"/>
<xs:enumeration value="JE"/>
<xs:enumeration value="JM"/>
<xs:enumeration value="JO"/>
<xs:enumeration value="JP"/>
<xs:enumeration value="KE"/>
<xs:enumeration value="KG"/>
<xs:enumeration value="KH"/>
<xs:enumeration value="KI"/>
<xs:enumeration value="KM"/>
<xs:enumeration value="KN"/>
<xs:enumeration value="KP"/>
<xs:enumeration value="KR"/>
<xs:enumeration value="KW"/>
<xs:enumeration value="KY"/>
<xs:enumeration value="KZ"/>
<xs:enumeration value="LA"/>
<xs:enumeration value="LB"/>
<xs:enumeration value="LC"/>
<xs:enumeration value="LI"/>
<xs:enumeration value="LK"/>
<xs:enumeration value="LR"/>
<xs:enumeration value="LS"/>
<xs:enumeration value="LT"/>
<xs:enumeration value="LU"/>
<xs:enumeration value="LV"/>
<xs:enumeration value="LY"/>
<xs:enumeration value="MA"/>
<xs:enumeration value="MC"/>
<xs:enumeration value="MD"/>
<xs:enumeration value="ME"/>
<xs:enumeration value="MF"/>
<xs:enumeration value="MG"/>
<xs:enumeration value="MH"/>
<xs:enumeration value="MK"/>
<xs:enumeration value="ML"/>
<xs:enumeration value="MM"/>
<xs:enumeration value="MN"/>
<xs:enumeration value="MO"/>
<xs:enumeration value="MP"/>
<xs:enumeration value="MQ"/>
<xs:enumeration value="MR"/>
<xs:enumeration value="MS"/>
<xs:enumeration value="MT"/>
<xs:enumeration value="MU"/>
<xs:enumeration value="MV"/>
<xs:enumeration value="MW"/>
<xs:enumeration value="MX"/>
<xs:enumeration value="MY"/>
<xs:enumeration value="MZ"/>
<xs:enumeration value="NA"/>
<xs:enumeration value="NC"/>
<xs:enumeration value="NE"/>
<xs:enumeration value="NF"/>
<xs:enumeration value="NG"/>
<xs:enumeration value="NI"/>
<xs:enumeration value="NL"/>
<xs:enumeration value="NO"/>
<xs:enumeration value="NP"/>
<xs:enumeration value="NR"/>
<xs:enumeration value="NU"/>
<xs:enumeration value="NZ"/>
<xs:enumeration value="OM"/>
<xs:enumeration value="PA"/>
<xs:enumeration value="PE"/>
<xs:enumeration value="PF"/>
<xs:enumeration value="PG"/>
<xs:enumeration value="PH"/>
<xs:enumeration value="PK"/>
<xs:enumeration value="PL"/>
<xs:enumeration value="PM"/>
<xs:enumeration value="PN"/>
<xs:enumeration value="PR"/>
<xs:enumeration value="PS"/>
<xs:enumeration value="PT"/>
<xs:enumeration value="PW"/>
<xs:enumeration value="PY"/>
<xs:enumeration value="QA"/>
<xs:enumeration value="RE"/>
<xs:enumeration value="RO"/>
<xs:enumeration value="RS"/>
<xs:enumeration value="RU"/>
<xs:enumeration value="RW"/>
<xs:enumeration value="SA"/>
<xs:enumeration value="SB"/>
<xs:enumeration value="SC"/>
<xs:enumeration value="SD"/>
<xs:enumeration value="SE"/>
<xs:enumeration value="SG"/>
<xs:enumeration value="SH"/>
<xs:enumeration value="SI"/>
<xs:enumeration value="SJ"/>
<xs:enumeration value="SK"/>
<xs:enumeration value="SL"/>
<xs:enumeration value="SM"/>
<xs:enumeration value="SN"/>
<xs:enumeration value="SO"/>
<xs:enumeration value="SR"/>
<xs:enumeration value="SS"/>
<xs:enumeration value="ST"/>
<xs:enumeration value="SV"/>
<xs:enumeration value="SX"/>
<xs:enumeration value="SY"/>
<xs:enumeration value="SZ"/>
<xs:enumeration value="TC"/>
<xs:enumeration value="TD"/>
<xs:enumeration value="TF"/>
<xs:enumeration value="TG"/>
<xs:enumeration value="TH"/>
<xs:enumeration value="TJ"/>
<xs:enumeration value="TK"/>
<xs:enumeration value="TL"/>
<xs:enumeration value="TM"/>
<xs:enumeration value="TN"/>
<xs:enumeration value="TO"/>
<xs:enumeration value="TP"/>
<xs:enumeration value="TR"/>
<xs:enumeration value="TT"/>
<xs:enumeration value="TV"/>
<xs:enumeration value="TW"/>
<xs:enumeration value="TZ"/>
<xs:enumeration value="UA"/>
<xs:enumeration value="UG"/>
<xs:enumeration value="UM"/>
<xs:enumeration value="US"/>
<xs:enumeration value="UY"/>
<xs:enumeration value="UZ"/>
<xs:enumeration value="VA"/>
<xs:enumeration value="VC"/>
<xs:enumeration value="VE"/>
<xs:enumeration value="VG"/>
<xs:enumeration value="VI"/>
<xs:enumeration value="VN"/>
<xs:enumeration value="VU"/>
<xs:enumeration value="WF"/>
<xs:enumeration value="WS"/>
<xs:enumeration value="YE"/>
<xs:enumeration value="YT"/>
<xs:enumeration value="YU"/>
<xs:enumeration value="ZA"/>
<xs:enumeration value="ZM"/>
<xs:enumeration value="ZR"/>
<xs:enumeration value="ZW"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="comMeasureUnit">
<xs:restriction base="xs:string">
<xs:enumeration value="CM"/>
<xs:enumeration value="MM"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComAutoMergeField">
<xs:restriction base="xs:string">
<xs:enumeration value="DIGITAL_SECURITY_CODE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComHalignType">
<xs:restriction base="xs:string">
<xs:enumeration value="LEFT"/>
<xs:enumeration value="CENTER"/>
<xs:enumeration value="RIGHT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComCharset">
<xs:restriction base="xs:string">
<xs:enumeration value="UTF-8"/>
<xs:enumeration value="ISO-8859-1"/>
<xs:enumeration value="windows-1252"/>
<xs:enumeration value="CP1252"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComInsertPageType">
<xs:restriction base="xs:string">
<xs:enumeration value="RV"/>
<xs:enumeration value="SPL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComSwitchingPolicy">
<xs:restriction base="xs:string">
<xs:enumeration value="AUTOMATIC"/>
<xs:enumeration value="REQUIRE_CHECKED_IDENTITY"/>
<xs:enumeration value="FORCE_DIGITAL_SENDING"/>
<xs:enumeration value="DISABLED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComForceSendingMode">
<xs:restriction base="xs:string">
<xs:enumeration value="DEFAULT"/>
<xs:enumeration value="DIGITAL"/>
<xs:enumeration value="PAPER"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComMediaType">
<xs:restriction base="xs:string">
<xs:enumeration value="PAPER"/>
<xs:enumeration value="FAX"/>
<xs:enumeration value="EMAIL"/>
<xs:enumeration value="SMS"/>
<xs:enumeration value="DIGITAL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComMediaSubType">
<xs:restriction base="xs:string">
<xs:enumeration value="INVOICE"/>
<xs:enumeration value="LEL_V3"/>
<xs:enumeration value="HEALTH"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComPageColor">
<xs:restriction base="xs:string">
<xs:enumeration value="BLUE"/>
<xs:enumeration value="YELLOW"/>
<xs:enumeration value="GREEN"/>
<xs:enumeration value="PINK"/>
<xs:enumeration value="WHITE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComBatchFileType">
<xs:restriction base="xs:string">
<xs:enumeration value="TREATMENT"/>
<xs:enumeration value="COMMAND"/>
<xs:enumeration value="BANNER"/>
<xs:enumeration value="SUMMARY"/>
<xs:enumeration value="METROPOL"/>
<xs:enumeration value="OTHER"/>
<xs:enumeration value="BALLOT_BOX"/>
<xs:enumeration value="PILOTE"/>
<xs:enumeration value="RETURN_ENVELOPE"/>
<xs:enumeration value="INDEX"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComAuthType">
<xs:restriction base="xs:string">
<xs:enumeration value="PLAINTEXT"/>
<xs:enumeration value="MD5"/>
<xs:enumeration value="ACCESS_TOKEN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComVoteType">
<xs:restriction base="xs:string">
<xs:enumeration value="IN_BALLOT_BOX"/>
<xs:enumeration value="BY_MAIL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComInvoiceSendingMode">
<xs:restriction base="xs:string">
<xs:enumeration value="EMAIL"/>
<xs:enumeration value="CHORUS"/>
<xs:enumeration value="PAPER"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComInvoiceType">
<xs:restriction base="xs:string">
<xs:enumeration value="INVOICE"/>
<xs:enumeration value="CREDIT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ComMarketType">
<xs:restriction base="xs:string">
<xs:enumeration value="CO_CONTRACTING"/>
<xs:enumeration value="SUBCONTRACTING"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
<?xml version='1.0' encoding='UTF-8'?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.maileva.fr/MailevaPJSSchema" xmlns:ns2="http://www.maileva.fr/MailevaSpecificSchema" xmlns:ns1="http://www.maileva.fr/CommonSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.maileva.fr/MailevaPJSSchema">
<xs:import namespace="http://www.maileva.fr/CommonSchema" schemaLocation="CommonSchema.xsd"/>
<xs:import namespace="http://www.maileva.fr/MailevaSpecificSchema" schemaLocation="MailevaSpecificSchema.xsd"/>
<xs:element name="Campaign" type="tns:Campaign"/>
<xs:complexType name="Campaign">
<xs:sequence>
<xs:element name="Requests" type="tns:Requests"/>
</xs:sequence>
<xs:attribute name="Name" type="xs:string"/>
<xs:attribute name="TrackId" type="xs:string"/>
<xs:attribute name="PartnerTrackId" type="xs:string"/>
<xs:attribute name="Application" type="xs:string"/>
<xs:attribute name="BreakdownCode" type="xs:string"/>
</xs:complexType>
<xs:complexType name="Requests">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Request" type="tns:Request"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Request">
<xs:sequence>
<xs:element name="Recipients">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="Internal">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Recipient" type="ns1:Recipient"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="Senders">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Sender" type="tns:Sender"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="DocumentData">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="MergeFields">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="MergeField" type="ns1:MergeField"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="Documents">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Document">
<xs:complexType>
<xs:complexContent>
<xs:extension base="ns1:document">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="Options" type="tns:Options"/>
<xs:element minOccurs="0" name="Folds">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Fold">
<xs:complexType>
<xs:all>
<xs:element name="RecipientId" type="xs:string"/>
<xs:element minOccurs="0" name="SenderId" type="xs:string"/>
<xs:element minOccurs="0" name="FoldOptionId" type="xs:string"/>
<xs:element minOccurs="0" name="Documents">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Document" type="ns1:DocInFold"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="MergeValues">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="MergeValue" type="ns1:MergeValue"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="Indexes">
<xs:complexType>
<xs:sequence maxOccurs="100" minOccurs="1">
<xs:element name="Index" type="ns1:FoldIndex"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="Id" type="xs:string" use="required"/>
<xs:attribute name="TrackId" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="Notifications" type="tns:Notifications"/>
<xs:element minOccurs="0" name="ProductionDate" type="tns:ProductionDate"/>
<xs:element minOccurs="0" name="ErlDeliveryDate" type="tns:ErlDeliveryDate"/>
</xs:sequence>
<xs:attribute name="MediaType" type="ns1:ComMediaType" use="required"/>
<xs:attribute name="TrackId" type="xs:string"/>
<xs:attribute name="MediaSubType" type="ns1:ComMediaSubType" use="optional"/>
</xs:complexType>
<xs:complexType name="Sender">
<xs:complexContent>
<xs:extension base="ns1:Sender">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Options">
<xs:sequence>
<xs:element minOccurs="0" name="RequestOption" type="ns2:RequestOption"/>
<xs:element minOccurs="0" name="FoldOptions">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="FoldOption">
<xs:complexType>
<xs:complexContent>
<xs:extension base="ns2:FoldOption">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="DocumentOptions">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="DocumentOption">
<xs:complexType>
<xs:complexContent>
<xs:extension base="ns2:DocumentOption">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="PageOptions">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="PageOption">
<xs:complexType>
<xs:complexContent>
<xs:extension base="ns2:PageOption">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Notifications">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Notification" type="ns2:Notification"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductionDate">
<xs:simpleContent>
<xs:extension base="xs:dateTime">
<xs:attribute name="UseLocalDate" type="xs:boolean"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="ErlDeliveryDate">
<xs:simpleContent>
<xs:extension base="xs:dateTime">
<xs:attribute name="UseLocalDate" type="xs:boolean"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="User">
<xs:sequence>
<xs:element name="Login" type="xs:string"/>
<xs:element name="Password" type="xs:string"/>
</xs:sequence>
<xs:attribute name="AuthType" type="ns1:ComAuthType" use="required"/>
</xs:complexType>
</xs:schema>
<?xml version='1.0' encoding='UTF-8'?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.maileva.fr/MailevaSpecificSchema" xmlns:ns1="http://www.maileva.fr/CommonSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.maileva.fr/MailevaSpecificSchema">
<xs:import namespace="http://www.maileva.fr/CommonSchema" schemaLocation="CommonSchema.xsd"/>
<xs:complexType name="RequestOption">
<xs:sequence>
<xs:element minOccurs="0" name="PaperOption" type="tns:RequestOptionPaper"/>
<xs:element minOccurs="0" name="FaxOption" type="tns:RequestOptionFax"/>
<xs:element minOccurs="0" name="EmailOption" type="tns:RequestOptionEmail"/>
<xs:element minOccurs="0" name="SmsOption" type="tns:RequestOptionSms"/>
<xs:element minOccurs="0" name="DigitalOption" type="tns:RequestOptionDigital"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RequestOptionPaper">
<xs:sequence>
<xs:element minOccurs="0" name="ExpectedGrouping" type="xs:boolean"/>
<xs:element minOccurs="0" name="GroupingDate" type="tns:GroupingDate"/>
<xs:element minOccurs="0" name="ExpectedSplitting" type="xs:boolean"/>
<xs:element minOccurs="0" name="StampAdjust" type="xs:boolean"/>
<xs:element minOccurs="0" name="RemoveInvalidReturnEnvelope" type="xs:boolean"/>
<xs:element minOccurs="0" name="DocumentsRestitution" type="xs:boolean"/>
<xs:element minOccurs="0" name="PostalTracking" type="xs:boolean"/>
<xs:element minOccurs="0" name="FoldOption" type="tns:FoldOptionPaper"/>
<!-- for invoice use -->
<xs:element minOccurs="0" name="InvoiceOption" type="tns:RequestOptionInvoice"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RequestOptionInvoice">
<xs:all>
<xs:element maxOccurs="1" minOccurs="0" name="UseAddressBook" type="xs:boolean"/>
<xs:element maxOccurs="1" minOccurs="0" name="EmailFrom">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="EmailReply">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[^@]+@[^\.]+\..+"/>
<xs:maxLength value="80"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="EmailFooter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="MsgObject">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="SenderTaxNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="13"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="SenderSiret">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="14"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="SenderCompanyName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="SenderCountryCode" type="ns1:ComCountryCode"/>
<xs:element maxOccurs="1" minOccurs="0" name="SenderPaymentType" type="tns:MlvSenderPaymentType"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="MlvSenderPaymentType">
<xs:restriction base="xs:string">
<xs:enumeration value="VAT_DEBIT"/>
<xs:enumeration value="VAT_CASHING"/>
<xs:enumeration value="VAT_EXEMPT"/>
<xs:enumeration value="VAT_FREE"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="GroupingDate">
<xs:simpleContent>
<xs:extension base="xs:dateTime">
<xs:attribute name="UseLocalDate" type="xs:boolean"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="FoldOptionPaper">
<xs:all>
<xs:element minOccurs="0" name="EnvelopeType" type="tns:MlvEnvelopeType"/>
<xs:element minOccurs="0" name="EnvelopeWindowType" type="tns:MlvEnvelopeWindowType"/>
<xs:element minOccurs="0" name="PostageClass" type="tns:MlvPostageClass"/>
<xs:element minOccurs="0" name="PrintSenderAddress" type="xs:boolean"/>
<xs:element minOccurs="0" name="PrintRecipAddress" type="xs:boolean"/>
<xs:element minOccurs="0" name="ClearSenderArea" type="xs:boolean"/>
<xs:element minOccurs="0" name="ClearRecipArea" type="xs:boolean"/>
<xs:element minOccurs="0" name="PrintRecipTrackId" type="xs:boolean"/>
<xs:element minOccurs="0" name="TreatUndeliveredMail" type="xs:boolean"/>
<xs:element minOccurs="0" name="TreatAR" type="xs:boolean"/>
<xs:element minOccurs="0" name="DigitalArchiving" type="tns:DigitalArchiving"/>
<xs:element minOccurs="0" name="GroupingPriority" type="xs:positiveInteger"/>
<xs:element minOccurs="0" name="UseFlyLeaf" type="xs:boolean"/>
<xs:element minOccurs="0" name="LogoRef" type="xs:string"/>
<xs:element minOccurs="0" name="ReturnEnvelopeRef" type="xs:string"/>
<xs:element minOccurs="0" name="DocumentOption" type="tns:DocumentOptionPaper"/>
<xs:element minOccurs="0" name="SwitchingPolicy" type="ns1:ComSwitchingPolicy"/>
<xs:element minOccurs="0" name="ForceSendingMode" type="ns1:ComForceSendingMode"/>
</xs:all>
</xs:complexType>
<xs:complexType name="DigitalArchiving">
<xs:all>
<xs:element name="Online" type="xs:string"/>
<xs:element name="Standard" type="xs:string"/>
</xs:all>
</xs:complexType>
<xs:complexType name="DocumentOptionPaper">
<xs:all>
<xs:element minOccurs="0" name="PrintDuplex" type="xs:boolean"/>
<xs:element minOccurs="0" name="PageOption" type="tns:PageOptionPaper"/>
<xs:element minOccurs="0" name="Staple" type="xs:boolean"/>
</xs:all>
</xs:complexType>
<xs:complexType name="PageOptionPaper">
<xs:all>
<xs:element minOccurs="0" name="PrintColor" type="xs:boolean"/>
<xs:element minOccurs="0" name="BackgroundId" type="xs:string"/>
<xs:element minOccurs="0" name="InsertPageId" type="tns:InsertPageId"/>
</xs:all>
</xs:complexType>
<xs:complexType name="InsertPageId">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Type" type="ns1:ComInsertPageType" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="RequestOptionFax">
<xs:sequence>
<xs:element name="FoldOption" type="tns:FoldOptionFax"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FoldOptionFax">
<xs:all>
<xs:element minOccurs="0" name="EmissionMode" type="tns:MlvOfferType"/>
<xs:element minOccurs="0" name="FlyLeaf" type="tns:FlyLeaf"/>
</xs:all>
</xs:complexType>
<xs:complexType name="FlyLeaf">
<xs:all>
<xs:element minOccurs="0" name="Object" type="xs:string"/>
<xs:element minOccurs="0" name="Warning" type="xs:string"/>
<xs:element name="Type" type="tns:MlvFlyLeafType"/>
</xs:all>
<xs:attribute name="CustomRef" type="xs:string"/>
</xs:complexType>
<xs:complexType name="RequestOptionEmail">
<xs:all>
<xs:element minOccurs="0" name="RemoveEmailNoteText" type="xs:boolean"/>
<xs:element name="FoldOption" type="tns:FoldOptionEmail"/>
</xs:all>
</xs:complexType>
<xs:complexType name="FoldOptionEmail">
<xs:sequence>
<xs:element name="MsgObject" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RequestOptionSms">
<xs:all>
<xs:element minOccurs="0" name="RemoveEmailNoteText" type="xs:boolean"/>
<xs:element name="FoldOption" type="tns:FoldOptionSms"/>
</xs:all>
</xs:complexType>
<xs:complexType name="FoldOptionSms">
<xs:sequence>
<xs:element name="EmissionMode" type="tns:MlvOfferType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RequestOptionDigital">
<xs:all>
<xs:element minOccurs="0" name="FoldOption" type="tns:FoldOptionDigital"/>
<xs:element name="DepositType" type="xs:string"/>
<xs:element name="DigitalArchiving" type="xs:string"/>
<xs:element minOccurs="0" name="StampAdjust" type="xs:boolean"/>
<xs:element minOccurs="0" name="ExpectedGrouping" type="xs:boolean"/>
<xs:element minOccurs="0" name="GroupingDate">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anySimpleType">
<xs:attribute name="UseLocalDate" type="xs:boolean"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="ExpectedSplitting" type="xs:boolean"/>
</xs:all>
</xs:complexType>
<xs:complexType name="FoldOptionDigital">
<xs:all>
<xs:element minOccurs="0" name="EnvelopeType" type="tns:MlvEnvelopeType"/>
<xs:element minOccurs="0" name="EnvelopeWindowType" type="tns:MlvEnvelopeWindowType"/>
<xs:element minOccurs="0" name="PostageClass" type="tns:MlvPostageClass"/>
<xs:element minOccurs="0" name="PrintSenderAddress" type="xs:boolean"/>
<xs:element minOccurs="0" name="PrintRecipAddress" type="xs:boolean"/>
<xs:element minOccurs="0" name="ClearSenderArea" type="xs:boolean"/>
<xs:element minOccurs="0" name="ClearRecipArea" type="xs:boolean"/>
<xs:element minOccurs="0" name="PrintRecipTrackId" type="xs:boolean"/>
<xs:element minOccurs="0" name="DigitalArchiving" type="tns:DigitalArchiving"/>
<xs:element minOccurs="0" name="GroupingPriority" type="xs:positiveInteger"/>
<xs:element minOccurs="0" name="UseFlyLeaf" type="xs:boolean"/>
<xs:element minOccurs="0" name="LogoRef" type="xs:string"/>
<xs:element minOccurs="0" name="DocumentOption" type="tns:DocumentOptionDigital"/>
<xs:element name="DepositTitle" type="xs:string"/>
<xs:element minOccurs="0" name="DepositDescription" type="xs:string"/>
<xs:element minOccurs="0" name="TreatAR" type="xs:boolean"/>
<xs:element minOccurs="0" name="TreatUndeliveredMail" type="xs:boolean"/>
</xs:all>
</xs:complexType>
<xs:complexType name="DocumentOptionDigital">
<xs:all>
<xs:element minOccurs="0" name="PrintDuplex" type="xs:boolean"/>
<xs:element minOccurs="0" name="PageOption" type="tns:PageOptionDigital"/>
<xs:element minOccurs="0" name="Staple" type="xs:boolean"/>
</xs:all>
</xs:complexType>
<xs:complexType name="PageOptionDigital">
<xs:all>
<xs:element minOccurs="0" name="PrintColor" type="xs:boolean"/>
<xs:element minOccurs="0" name="BackgroundId" type="xs:string"/>
<xs:element minOccurs="0" name="InsertPageId">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Type" type="ns1:ComInsertPageType" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="FoldOption">
<xs:sequence>
<xs:element minOccurs="0" name="PaperOption" type="tns:FoldOptionPaper"/>
<xs:element minOccurs="0" name="FaxOption" type="tns:FoldOptionFax"/>
<xs:element minOccurs="0" name="EmailOption" type="tns:FoldOptionEmail"/>
<xs:element minOccurs="0" name="SmsOption" type="tns:FoldOptionSms"/>
<xs:element minOccurs="0" name="VoteOption" type="tns:FoldOptionVote"/>
<xs:element minOccurs="0" name="DigitalOption" type="tns:FoldOptionDigital"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="FoldOptionVote">
<xs:all>
<xs:element minOccurs="0" name="EnvelopeType" type="tns:MlvEnvelopeType"/>
<xs:element minOccurs="0" name="EnvelopeWindowType" type="tns:MlvEnvelopeWindowType"/>
<xs:element minOccurs="0" name="PostageClass" type="tns:MlvPostageClass"/>
<xs:element minOccurs="0" name="UseFlyLeaf" type="xs:boolean"/>
<xs:element minOccurs="0" name="LogoRef" type="xs:string"/>
<xs:element minOccurs="0" name="ClearSenderArea" type="xs:boolean"/>
<xs:element minOccurs="0" name="PrintSenderAdress" type="xs:boolean"/>
<xs:element minOccurs="0" name="ReturnEnvelopeRef" type="xs:string"/>
<xs:element minOccurs="0" name="DocumentOption" type="tns:DocumentOptionVote"/>
</xs:all>
</xs:complexType>
<xs:complexType name="DocumentOptionVote">
<xs:all>
<xs:element minOccurs="0" name="PrintDuplex" type="xs:boolean"/>
<xs:element minOccurs="0" name="PageOption" type="tns:PageOptionVote"/>
</xs:all>
</xs:complexType>
<xs:complexType name="PageOptionVote">
<xs:sequence>
<xs:element minOccurs="0" name="PrintColor" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DocumentOption">
<xs:sequence>
<xs:element minOccurs="0" name="PaperOption" type="tns:DocumentOptionPaper"/>
<xs:element minOccurs="0" name="FaxOption">
<xs:complexType>
<xs:all/>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="EmailOption">
<xs:complexType>
<xs:all/>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="SmsOption">
<xs:complexType>
<xs:all/>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="DigitalOption" type="tns:DocumentOptionDigital"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="PageOption">
<xs:sequence>
<xs:element minOccurs="0" name="PaperOption" type="tns:PageOptionPaper"/>
<xs:element minOccurs="0" name="FaxOption">
<xs:complexType>
<xs:all/>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="EmailOption">
<xs:complexType>
<xs:all/>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="SmsOption">
<xs:complexType>
<xs:all/>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="VoteOption" type="tns:PageOptionVote"/>
<xs:element minOccurs="0" name="DigitalOption" type="tns:PageOptionDigital"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:string"/>
</xs:complexType>
<xs:complexType name="Notification">
<xs:sequence>
<xs:element name="Format" type="tns:MlvNotificationFormat"/>
<xs:element minOccurs="0" name="Language" type="xs:language"/>
<xs:element name="Protocols">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Protocol" type="tns:Protocol"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Type" type="tns:MlvNotificationType" use="required"/>
</xs:complexType>
<xs:complexType name="Protocol">
<xs:sequence>
<xs:element minOccurs="0" name="Email" type="xs:string"/>
<xs:element minOccurs="0" name="Ftp" type="ns1:FtpNotificationProtocol"/>
<xs:element minOccurs="0" name="Cft" type="ns1:CftNotificationProtocol"/>
<xs:element minOccurs="0" name="Http" type="ns1:HttpNotificationProtocol"/>
<xs:element minOccurs="0" name="Ws" type="ns1:WsNotificationProtocol"/>
<xs:element minOccurs="0" name="NotificationCenter" type="ns1:NotificationCenterNotificationProtocol"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="VoteCategory">
<xs:all>
<xs:element name="VoteCategoryType">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="tns:MlvVoteCategoryType">
<xs:attribute name="Name" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="CandidateLists">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="CandidateList" type="tns:CandidateList"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="CandidateList">
<xs:all>
<xs:element name="Candidates">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Candidate" type="tns:Candidate"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Order" type="xs:positiveInteger"/>
<xs:element name="VoteFunction" type="tns:MlvVoteFunction"/>
<xs:element name="VoteColor" type="ns1:ComPageColor"/>
<xs:element minOccurs="0" name="UnionName" type="xs:string"/>
</xs:all>
</xs:complexType>
<xs:complexType name="Candidate">
<xs:all>
<xs:element name="Order" type="xs:positiveInteger"/>
<xs:element name="Name" type="xs:string"/>
</xs:all>
</xs:complexType>
<xs:complexType name="RequestOptionVote">
<xs:all>
<xs:element name="VoteCollege">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="tns:MlvVoteCollege">
<xs:attribute name="Name" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="VoteType" type="ns1:ComVoteType"/>
<xs:element name="VoteRound" type="tns:MlvVoteRound"/>
<xs:element name="VoteCategories">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="VoteCategory" type="tns:VoteCategory"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="FoldOption" type="tns:FoldOptionVote"/>
<xs:element minOccurs="0" name="VoteQuantity" type="xs:positiveInteger"/>
<xs:element name="Company" type="xs:string"/>
<xs:element name="PollDate" type="xs:date"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="MlvEnvelopeType">
<xs:restriction base="xs:string">
<xs:enumeration value="C4"/>
<xs:enumeration value="C6"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MlvEnvelopeWindowType">
<xs:restriction base="xs:string">
<xs:enumeration value="SMPL"/>
<xs:enumeration value="DBL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MlvPostageClass">
<xs:restriction base="xs:string">
<xs:enumeration value="LETTRE_VERTE"/>
<xs:enumeration value="LETTRE_VERTE_NB"/>
<xs:enumeration value="STANDARD"/>
<xs:enumeration value="LPL"/>
<xs:enumeration value="LSM"/>
<xs:enumeration value="SLOW"/>
<xs:enumeration value="SLOW_NB"/>
<xs:enumeration value="RECOMMANDE_AR"/>
<xs:enumeration value="RECOMMANDE"/>
<xs:enumeration value="LRE"/>
<xs:enumeration value="LRE_AR"/>
<xs:enumeration value="LRE_TE"/>
<xs:enumeration value="LRE_TE_AR"/>
<xs:enumeration value="LP_RECO"/>
<xs:enumeration value="DESTINEO_EL"/>
<xs:enumeration value="DESTINEO_EL_STD_S1"/>
<xs:enumeration value="DESTINEO_EL_STD_S2"/>
<xs:enumeration value="DESTINEO_EL_MECA_S1"/>
<xs:enumeration value="DESTINEO_EL_MECA_S2"/>
<xs:enumeration value="LETTRE_GRAND_COMPTE"/>
<xs:enumeration value="ECOPLI_GRAND_COMPTE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MlvOfferType">
<xs:restriction base="xs:string">
<xs:enumeration value="DIRECT_MKT"/>
<xs:enumeration value="OTHER"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MlvFlyLeafType">
<xs:restriction base="xs:string">
<xs:enumeration value="STANDARD"/>
<xs:enumeration value="CUSTOM"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MlvNotificationFormat">
<xs:restriction base="xs:string">
<xs:enumeration value="INI"/>
<xs:enumeration value="TXT"/>
<xs:enumeration value="XML"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MlvNotificationType">
<xs:restriction base="xs:string">
<xs:enumeration value="GENERAL"/>
<xs:enumeration value="NPAI"/>
<xs:enumeration value="PND"/>
<xs:enumeration value="LRE"/>
<xs:enumeration value="ENCOURS"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MlvVoteCategoryType">
<xs:restriction base="xs:string">
<xs:enumeration value="DP"/>
<xs:enumeration value="CE"/>
<xs:enumeration value="DU"/>
<xs:enumeration value="CSE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MlvVoteFunction">
<xs:restriction base="xs:string">
<xs:enumeration value="PERMANENT"/>
<xs:enumeration value="SUBSTITUTE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MlvVoteCollege">
<xs:restriction base="xs:string">
<xs:enumeration value="FIRST"/>
<xs:enumeration value="SECOND"/>
<xs:enumeration value="THIRD"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MlvVoteRound">
<xs:restriction base="xs:string">
<xs:enumeration value="FIRST"/>
<xs:enumeration value="SECOND"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
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