Commit f123cc13 authored by Jérome Perrin's avatar Jérome Perrin

Improve invoice print

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@22763 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 64903aa2
......@@ -65,184 +65,37 @@
</item>
<item>
<key> <string>_body</string> </key>
<value> <string>T_ = context.Base_translateString\n
\n
def getFieldAsString(field):\n
field = field or \'\'\n
text = field.replace(\'\\r\', \'\')\n
text_list = text.split(\'\\n\')\n
text_list = [x for x in text_list if x]\n
return \', \'.join(text_list)\n
\n
def getProductAndLineDesc(prod_desc, line_desc):\n
if prod_desc:\n
if line_desc:\n
return \' - \'.join([getFieldAsString(prod_desc), getFieldAsString(line_desc)])\n
return getFieldAsString(prod_desc)\n
return getFieldAsString(line_desc)\n
\n
def getOneLineAddress(text, region):\n
text_list = [getFieldAsString(text)]\n
if region:\n
text_list.append(region)\n
return \', \'.join(text_list)\n
\n
def getPhoneAndFax(phone, fax):\n
s = \'\'\n
if phone:\n
s += \'%s: %s\' % (T_(\'tel.\'), phone)\n
if fax:\n
if s: s += \', \'\n
s += \'%s: %s\' % (T_(\'fax\'), fax)\n
return s\n
\n
def getEmail(email):\n
s = \'\'\n
if email:\n
s += \'%s: %s\' % (T_(\'email\'), email)\n
return s\n
\n
def getVatId(vat_id):\n
s = \'\'\n
if vat_id:\n
s += \'%s: %s\' % (T_(\'VAT ID\'), vat_id)\n
return s\n
\n
preferred_date_order = context.getPortalObject().portal_preferences.getPreferredDateOrder() or \'ymd\'\n
separator = \'/\'\n
def getOrderedDate(date):\n
if date is None:\n
return \'\'\n
pattern = separator.join(list(preferred_date_order))\n
pattern = pattern.replace(\'y\', \'%Y\')\n
pattern = pattern.replace(\'m\', \'%m\')\n
pattern = pattern.replace(\'d\', \'%d\')\n
return date.strftime(pattern)\n
\n
def getSourceReference(line):\n
category_list = line.getAcquiredCategoryList()\n
portal_type_list = (\'Invoice Line\',\n
\'Invoice Cell\',)\n
tmp_context = line.asContext(context=line, categories=category_list)\n
predicate_list = context.portal_domains.searchPredicateList(tmp_context, portal_type=portal_type_list)\n
for predicate in predicate_list:\n
source_reference = predicate.getSourceReference()\n
if source_reference:\n
return source_reference\n
return \'\'\n
\n
def getPaymentConditionText(order):\n
if order.getPaymentConditionPaymentEndOfMonth():\n
return T_("End of Month")\n
days = order.getPaymentConditionPaymentTerm()\n
if days:\n
return \'%s %s\' % (days, T_(\'Days\'))\n
return \'\'\n
\n
line_list = []\n
total_price = 0.0\n
total_vat = 0.0\n
<value> <string>def getSourceReference(line):\n
return \'\' # FIXME: what is it ???\n
\n
excluded_portal_type_list = context.getPortalTaxMovementTypeList() + context.getPortalAccountingMovementTypeList()\n
\n
def getSubLineList(obj):\n
sub_list = []\n
for x in obj.searchFolder(portal_type=context.getPortalInvoiceMovementTypeList(),\n
sort_on=[(\'int_index\', \'ascending\'), (\'reference\', \'ascending\')]):\n
for x in obj.contentValues(portal_type=context.getPortalInvoiceMovementTypeList(),\n
sort_on=[(\'int_index\', \'ascending\'), (\'reference\', \'ascending\')],\n
checked_permission=\'View\'):\n
if x.getPortalType() in excluded_portal_type_list:\n
continue\n
sub_list.append(x)\n
sub_list.extend(getSubLineList(x))\n
return sub_list\n
\n
def unicodeDict(d):\n
for k, v in d.items():\n
if isinstance(v, str):\n
d.update({k:unicode(v, \'utf8\')})\n
return d\n
\n
for line in getSubLineList(context):\n
prod_desc = line.getResource() is not None and line.getResourceValue().getDescription() or \'\'\n
desc = getProductAndLineDesc(prod_desc, line.getDescription())\n
\n
line_dict = {\n
\'style_name\': \'Table_20_Contents\',\n
\'left_style_name\': \'Table_20_Contents_20_Left\',\n
\'right_style_name\': \'Table_20_Contents_20_Right\',\n
\'index\': line.getReference() or line.getIntIndex(),\n
\'source_reference\': getSourceReference(line),\n
\'reference\': line.getResource() is not None and line.getResourceValue().getReference() or \'\',\n
\'description\': desc,\n
\'total_quantity\': line.getTotalQuantity() or \'\',\n
\'quantity_unit\': line.getQuantityUnitTitle() or (line.getResource() and line.getResourceValue().getQuantityUnitTitle()) or \'\',\n
\'stop_date\': getOrderedDate(line.getStopDate()) or \'\',\n
\'base_price\': line.getPrice() or \'\',\n
\'total_price\': line.getTotalPrice() or \'\',\n
}\n
total_price += line.getTotalPrice() or 0.0\n
line_list.append(unicodeDict(line_dict.copy()))\n
\n
data_dict = {\n
\'source_section_title\': context.getSourceSectionTitle() or \'\',\n
\'source_section_image_path\': context.getSourceSectionValue() is not None and context.getSourceSectionValue().getDefaultImagePath() or \'\',\n
\'source_section_address\': getOneLineAddress(\n
context.getSourceSection() and context.getSourceSectionValue().getDefaultAddressText() or \'\',\n
context.getSourceSection() and context.getSourceSectionValue().getDefaultAddressRegionTitle() or \'\'),\n
\'source_section_telfax\': getPhoneAndFax(context.getSourceSection() and context.getSourceSectionValue().getTelephoneText() or \'\',\n
context.getSourceSection() and context.getSourceSectionValue().getFaxText() or \'\'),\n
\'source_section_email\': getEmail(context.getSourceSection() and context.getSourceSectionValue().getEmailText() or \'\'),\n
\'source_section_vatid\': getVatId(context.getSourceSection() and context.getSourceSectionValue().getVatCode() or \'\'),\n
data_dict = context.Delivery_getODTDataDict(getSourceReference, getSubLineList)\n
\n
\'source_decision_title\': context.getSourceDecisionTitle() or \'\',\n
\'source_decision_address\': unicode(getOneLineAddress(\n
context.getSourceDecision() and context.getSourceDecisionValue().getDefaultAddressText() or \'\',\n
context.getSourceDecision() and context.getSourceDecisionValue().getDefaultAddressRegionTitle() or \'\'), \'utf8\'),\n
\'source_decision_telfax\': getPhoneAndFax(context.getSourceDecision() and context.getSourceDecisionValue().getTelephoneText() or \'\',\n
context.getSourceDecision() and context.getSourceDecisionValue().getFaxText() or \'\'),\n
\'source_decision_email\': getEmail(context.getSourceDecision() and context.getSourceDecisionValue().getEmailText() or \'\'),\n
\'source_decision_vatid\': getVatId(context.getSourceDecision() and context.getSourceDecisionValue().getVatCode() or \'\'),\n
bank_account = context.getDestinationPaymentValue(portal_type=\'Bank Account\')\n
if context.getPortalType() == \'Sale Invoice Transaction\':\n
bank_account = context.getSourcePaymentValue(portal_type=\'Bank Account\')\n
\n
if bank_account is not None:\n
data_dict.update(\n
bank_name=bank_account.getSourceTitle() or bank_account.getTitle(),\n
bank_address=bank_account.getSource() and\\\n
bank_account.getSourceValue().getDefaultAddressText() or \'\',\n
bank_account_reference=bank_account.getReference(),\n
bank_account_description=bank_account.getDescription() or bank_account.getTitle(),)\n
\n
\'destination_title\': context.getDestinationTitle() or \'\',\n
\'destination_address\': getOneLineAddress(\n
context.getDestination() and context.getDestinationValue().getDefaultAddressText() or \'\',\n
context.getDestination() and context.getDestinationValue().getDefaultAddressRegionTitle() or \'\'),\n
\'destination_telfax\': getPhoneAndFax(context.getDestination() and context.getDestinationValue().getTelephoneText() or \'\',\n
context.getDestination() and context.getDestinationValue().getFaxText() or \'\'),\n
\'destination_email\': getEmail(context.getDestination() and context.getDestinationValue().getEmailText() or \'\'),\n
\n
\'destination_section_title\': context.getDestinationSectionTitle() or \'\',\n
\'destination_section_image_path\': context.getDestinationSectionValue() is not None and context.getDestinationSectionValue().getDefaultImagePath() or \'\',\n
\'destination_section_address\': unicode(getOneLineAddress(\n
context.getDestinationSection() and context.getDestinationSectionValue().getDefaultAddressText() or \'\',\n
context.getDestinationSection() and context.getDestinationSectionValue().getDefaultAddressRegionTitle() or \'\'), \'utf8\'),\n
\'destination_section_telfax\': getPhoneAndFax(\n
context.getDestinationSection() and context.getDestinationSectionValue().getTelephoneText() or \'\',\n
context.getDestinationSection() and context.getDestinationSectionValue().getTelephoneText() or \'\'),\n
\'destination_section_email\': getEmail(context.getDestinationSection() and context.getDestinationSectionValue().getEmailText() or \'\'),\n
\'destination_section_vatid\': getVatId(context.getDestinationSection() and context.getDestinationSectionValue().getVatCode() or \'\'),\n
\n
\'destination_decision_title\': context.getDestinationDecisionTitle() or \'\',\n
\'destination_decision_telfax\': getPhoneAndFax(context.getDestinationDecision() and context.getDestinationDecisionValue().getTelephoneText() or \'\',\n
context.getDestinationDecision() and context.getDestinationDecisionValue().getFaxText() or \'\'),\n
\'destination_decision_email\': getEmail(context.getDestinationDecision() and context.getDestinationDecisionValue().getEmailText() or \'\'),\n
\n
\'reference\': context.getReference() or \'\',\n
\'start_date\': getOrderedDate(context.getStartDate()) or \'\',\n
\'stop_date\': getOrderedDate(context.getStopDate()) or \'\',\n
\'currency\': context.getPriceCurrencyReference() or \'\',\n
\'payment_condition\': getPaymentConditionText(context),\n
\'delivery_mode\': context.getDeliveryModeTitle() or \'\',\n
\'incoterm\': context.getIncoterm() and context.getIncotermValue().getCodification() or \'\',\n
\n
\'total_price_novat\': total_price,\n
\'vat_list\': context.searchFolder(portal_type=context.getPortalTaxMovementTypeList(), order_by=\'title\'),\n
\'description\': getFieldAsString(context.getDescription()),\n
\n
\'line_list\': line_list,\n
}\n
unicodeDict(data_dict)\n
#from pprint import pformat\n
#context.log(pformat(data_dict))\n
return data_dict\n
</string> </value>
</item>
......@@ -292,35 +145,14 @@ return data_dict\n
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>getSourceReference</string>
<string>_getattr_</string>
<string>context</string>
<string>T_</string>
<string>getFieldAsString</string>
<string>getProductAndLineDesc</string>
<string>getOneLineAddress</string>
<string>getPhoneAndFax</string>
<string>getEmail</string>
<string>getVatId</string>
<string>preferred_date_order</string>
<string>separator</string>
<string>getOrderedDate</string>
<string>getSourceReference</string>
<string>getPaymentConditionText</string>
<string>line_list</string>
<string>total_price</string>
<string>total_vat</string>
<string>excluded_portal_type_list</string>
<string>getSubLineList</string>
<string>unicodeDict</string>
<string>_getiter_</string>
<string>line</string>
<string>None</string>
<string>prod_desc</string>
<string>desc</string>
<string>line_dict</string>
<string>_inplacevar_</string>
<string>unicode</string>
<string>data_dict</string>
<string>bank_account</string>
<string>None</string>
</tuple>
</value>
</item>
......@@ -339,6 +171,12 @@ return data_dict\n
<key> <string>id</string> </key>
<value> <string>Invoice_getODTDataDict</string> </value>
</item>
<item>
<key> <string>uid</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
......
......@@ -64,7 +64,11 @@ AAA=</string> </value>
<value> <string encoding="cdata"><![CDATA[
<office:document-content xmlns:office=\'urn:oasis:names:tc:opendocument:xmlns:office:1.0\' xmlns:text=\'urn:oasis:names:tc:opendocument:xmlns:text:1.0\' xmlns:number=\'urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\' xmlns:meta=\'urn:oasis:names:tc:opendocument:xmlns:meta:1.0\' xmlns:tal=\'http://xml.zope.org/namespaces/tal\' xmlns:table=\'urn:oasis:names:tc:opendocument:xmlns:table:1.0\' xmlns:style=\'urn:oasis:names:tc:opendocument:xmlns:style:1.0\' xmlns:script=\'urn:oasis:names:tc:opendocument:xmlns:script:1.0\' xmlns:xlink=\'http://www.w3.org/1999/xlink\' xmlns:math=\'http://www.w3.org/1998/Math/MathML\' xmlns:draw=\'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\' xmlns:form=\'urn:oasis:names:tc:opendocument:xmlns:form:1.0\' xmlns:ooo=\'http://openoffice.org/2004/office\' xmlns:dc=\'http://purl.org/dc/elements/1.1/\' xmlns:chart=\'urn:oasis:names:tc:opendocument:xmlns:chart:1.0\' xmlns:i18n=\'http://xml.zope.org/namespaces/i18n\' xmlns:dr3d=\'urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\' xmlns:fo=\'urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\' xmlns:xforms=\'http://www.w3.org/2002/xforms\' xmlns:dom=\'http://www.w3.org/2001/xml-events\' xmlns:ooow=\'http://openoffice.org/2004/writer\' xmlns:svg=\'urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\' xmlns:metal=\'http://xml.zope.org/namespaces/metal\' xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\' xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\' xmlns:oooc=\'http://openoffice.org/2004/calc\' tal:attributes=\'dummy python:request.RESPONSE.setHeader("Content-Type", "text/html;; charset=utf-8")\' office:version=\'1.0\'\n
tal:define=\'data_dict here/Invoice_getODTDataDict\'>\n
tal:define="data_dict here/Invoice_getODTDataDict;\n
set_precision python: request.set(\'precision\', here.getQuantityPrecisionFromResource(here.getPriceCurrency()));\n
quantity_renderer nocall:here/OrderLine_viewFieldLibrary/my_quantity/render_pdf;\n
price_renderer nocall:here/OrderLine_viewFieldLibrary/my_price/render_pdf;\n
default_language python:test(request.get(\'international_form\'), \'en\', here.Localizer.get_selected_language())">\n
<office:scripts/>\n
<office:font-face-decls>\n
<style:font-face svg:font-family=\'StarSymbol\' style:name=\'StarSymbol\' style:font-charset=\'x-symbol\'/>\n
......@@ -80,7 +84,7 @@ AAA=</string> </value>
<style:table-properties fo:margin-left=\'0.021cm\' fo:margin-right=\'-0.014cm\' fo:break-before=\'page\' table:align=\'margins\' style:width=\'18.994cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'Tableau1.A\'>\n
<style:table-column-properties style:rel-column-width=\'2690*\' style:column-width=\'0.78cm\'/>\n
<style:table-column-properties style:rel-column-width=\'3690*\' style:column-width=\'1.58cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'Tableau1.B\'>\n
<style:table-column-properties style:rel-column-width=\'7254*\' style:column-width=\'2.103cm\'/>\n
......@@ -107,7 +111,7 @@ AAA=</string> </value>
<style:table-column-properties style:rel-column-width=\'5870*\' style:column-width=\'1.7cm\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'Tableau1.1\'>\n
<style:table-row-properties style:min-row-height=\'2.759cm\'/>\n
<style:table-row-properties style:min-row-height=\'5.0cm\'/>\n
</style:style>\n
<style:style style:family=\'table-cell\' style:name=\'Tableau1.A1\'>\n
<style:table-cell-properties fo:padding=\'0cm\' fo:background-color=\'transparent\' fo:border=\'none\'>\n
......@@ -121,13 +125,13 @@ AAA=</string> </value>
<style:table-column-properties style:rel-column-width=\'5326*\' style:column-width=\'1.542cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'Tableau2.B\'>\n
<style:table-column-properties style:rel-column-width=\'20270*\' style:column-width=\'5.868cm\'/>\n
<style:table-column-properties style:rel-column-width=\'18000*\' style:column-width=\'5.000cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'Tableau2.C\'>\n
<style:table-column-properties style:rel-column-width=\'4344*\' style:column-width=\'1.258cm\'/>\n
<style:table-column-properties style:rel-column-width=\'5326*\' style:column-width=\'1.542cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'Tableau2.D\'>\n
<style:table-column-properties style:rel-column-width=\'20214*\' style:column-width=\'5.853cm\'/>\n
<style:table-column-properties style:rel-column-width=\'18000*\' style:column-width=\'5.000cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'Tableau2.E\'>\n
<style:table-column-properties style:rel-column-width=\'15381*\' style:column-width=\'4.454cm\'/>\n
......@@ -157,7 +161,7 @@ AAA=</string> </value>
<style:table-cell-properties fo:padding=\'0.097cm\' fo:border-right=\'0.018cm solid #000000\' fo:border-top=\'none\' fo:border-left=\'0.018cm solid #000000\' fo:border-bottom=\'0.018cm solid #000000\' style:vertical-align=\'middle\'/>\n
</style:style>\n
<style:style style:family=\'table-cell\' style:name=\'Tableau1.A2\'>\n
<style:table-cell-properties fo:padding=\'0.049cm\' fo:border-right=\'none\' fo:border-top=\'none\' fo:background-color=\'transparent\' fo:border-left=\'none\' fo:border-bottom=\'0.018cm solid #000000\'>\n
<style:table-cell-properties fo:padding=\'0.049cm\' fo:border-right=\'none\' fo:border-top=\'none\' fo:background-color=\'#e6e6e6\' fo:border-left=\'none\' fo:border-bottom=\'0.018cm solid #000000\'>\n
<style:background-image/>\n
</style:table-cell-properties>\n
</style:style>\n
......@@ -181,22 +185,22 @@ AAA=</string> </value>
<style:table-properties style:may-break-between-rows=\'false\' table:align=\'margins\' style:width=\'18.994cm\'/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'Tableau3.A\'>\n
<style:table-column-properties style:rel-column-width=\'10535*\' style:column-width=\'3.053cm\'/>\n
<style:table-column-properties style:column-width="1.633cm" style:rel-column-width="926*"/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'Tableau3.B\'>\n
<style:table-column-properties style:rel-column-width=\'5493*\' style:column-width=\'1.593cm\'/>\n
<style:table-column-properties style:column-width="5.495cm" style:rel-column-width="3115*"/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'Tableau3.C\'>\n
<style:table-column-properties style:rel-column-width=\'34451*\' style:column-width=\'9.985cm\'/>\n
<style:table-column-properties style:column-width="7.502cm" style:rel-column-width="4253*"/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'Tableau3.D\'>\n
<style:table-column-properties style:rel-column-width=\'9165*\' style:column-width=\'2.656cm\'/>\n
<style:table-column-properties style:column-width="2.656cm" style:rel-column-width="1506*"/>\n
</style:style>\n
<style:style style:family=\'table-column\' style:name=\'Tableau3.E\'>\n
<style:table-column-properties style:rel-column-width=\'5891*\' style:column-width=\'1.707cm\'/>\n
<style:table-column-properties style:column-width="1.707cm" style:rel-column-width="968*"/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'Tableau3.1\'>\n
<style:table-row-properties style:row-height=\'0.25cm\'/>\n
<style:table-row-properties style:row-height=\'0.50cm\'/>\n
</style:style>\n
<style:style style:family=\'table-cell\' style:name=\'Tableau3.A1\'>\n
<style:table-cell-properties style:vertical-align=\'middle\' fo:padding=\'0.097cm\' fo:border=\'none\'/>\n
......@@ -222,22 +226,31 @@ AAA=</string> </value>
<style:style style:family=\'table-cell\' style:name=\'Tableau3.E3\'>\n
<style:table-cell-properties fo:padding=\'0.097cm\' fo:border-right=\'0.018cm solid #000000\' fo:border-top=\'none\' fo:border-left=\'0.018cm solid #000000\' fo:border-bottom=\'0.018cm solid #000000\' style:vertical-align=\'middle\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'Tableau3.6\'>\n
<style:style style:name="Tableau3.5" style:family="table-row">\n
<style:table-row-properties style:row-height="2.251cm"/>\n
</style:style>\n
<style:style style:name="Tableau3.A5" style:family="table-cell">\n
<style:table-cell-properties style:vertical-align="middle" fo:padding="0.097cm" fo:border-left="0.018cm solid #000000" fo:border-right="none" fo:border-top="0.018 solid #000000" fo:border-bottom="0.018 solid #000000"/>\n
</style:style>\n
<style:style style:name="Tableau3.B5" style:family="table-cell">\n
<style:table-cell-properties style:vertical-align="middle" fo:padding="0.097cm" fo:border="0.018cm solid #000000"/>\n
</style:style>\n
<style:style style:name="Tableau3.7" style:family="table-row">\n
<style:table-row-properties style:row-height=\'0.45cm\'/>\n
</style:style>\n
<style:style style:family=\'table-cell\' style:name=\'Tableau3.A6\'>\n
<style:style style:family=\'table-cell\' style:name=\'Tableau3.A7\'>\n
<style:table-cell-properties fo:padding=\'0.097cm\' fo:border-right=\'none\' fo:border-top=\'0.018cm solid #000000\' fo:border-left=\'0.018cm solid #000000\' fo:border-bottom=\'none\' style:vertical-align=\'middle\'/>\n
</style:style>\n
<style:style style:family=\'table-cell\' style:name=\'Tableau3.B6\'>\n
<style:style style:family=\'table-cell\' style:name=\'Tableau3.B7\'>\n
<style:table-cell-properties fo:padding=\'0.097cm\' fo:border-right=\'none\' fo:border-top=\'0.018cm solid #000000\' fo:border-left=\'none\' fo:border-bottom=\'none\' style:vertical-align=\'middle\'/>\n
</style:style>\n
<style:style style:family=\'table-cell\' style:name=\'Tableau3.E6\'>\n
<style:style style:family=\'table-cell\' style:name=\'Tableau3.E7\'>\n
<style:table-cell-properties fo:padding=\'0.097cm\' fo:border-right=\'0.018cm solid #000000\' fo:border-top=\'0.018cm solid #000000\' fo:border-left=\'none\' fo:border-bottom=\'none\' style:vertical-align=\'middle\'/>\n
</style:style>\n
<style:style style:family=\'table-row\' style:name=\'Tableau3.7\'>\n
<style:style style:family=\'table-row\' style:name=\'Tableau3.8\'>\n
<style:table-row-properties style:row-height=\'1.499cm\'/>\n
</style:style>\n
<style:style style:family=\'table-cell\' style:name=\'Tableau3.A7\'>\n
<style:style style:family=\'table-cell\' style:name=\'Tableau3.A8\'>\n
<style:table-cell-properties fo:border-left=\'0.018cm solid #000000\' fo:border-right=\'0.018cm solid #000000\' fo:border-bottom=\'0.018cm solid #000000\' fo:padding=\'0.097cm\' fo:border-top=\'none\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'Table_20_Heading\' style:family=\'paragraph\' style:name=\'P1\'>\n
......@@ -247,11 +260,14 @@ AAA=</string> </value>
<style:paragraph-properties fo:text-align=\'start\' style:justify-single-word=\'false\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'Table_20_Contents\' style:family=\'paragraph\' style:name=\'P3\'>\n
<style:paragraph-properties fo:text-align=\'justify\' style:justify-single-word=\'false\'/>\n
<style:paragraph-properties fo:text-align=\'left\' style:justify-single-word=\'false\'/>\n
</style:style>\n
<style:style style:parent-style-name=\'Text_20_body\' style:family=\'paragraph\' style:name=\'P4\'>\n
<style:text-properties style:font-size-complex=\'6pt\' style:font-size-asian=\'6pt\' style:font-weight-complex=\'normal\' style:font-weight-asian=\'normal\' fo:font-size=\'6pt\' fo:font-weight=\'normal\'/>\n
</style:style>\n
<style:style style:name="P6" style:family="paragraph" style:parent-style-name="Big_20_Table_20_Content_20_Left">\n
<style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0cm" fo:text-indent="0cm" style:auto-text-indent="false"/>\n
</style:style>\n
</office:automatic-styles>\n
<office:body>\n
<office:text>\n
......@@ -299,60 +315,50 @@ AAA=</string> </value>
office:value-type=\'string\'>\n
<!--This PageTemplate is Used For Sale Order and Purchase Order-->\n
<tal:block tal:define="orig_string string:Supplier;\n
en_string python: unicode(here.Base_translateString(orig_string, lang=\'en\'), \'utf-8\');\n
my_string python: unicode(here.Base_translateString(orig_string), \'utf-8\');\n
ds_title python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_section_title\'] or data_dict[\'source_section_title\'];\n
ds_address python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_section_address\'] or data_dict[\'source_section_address\'];\n
ds_telfax python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_section_telfax\'] or data_dict[\'source_section_telfax\'];\n
ds_email python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_section_email\'] or data_dict[\'source_section_email\'];\n
ds_vatid python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_section_vatid\'] or data_dict[\'source_section_vatid\'];\n
orig_title string:Invoice;\n
en_title python: unicode(here.Base_translateString(orig_title, lang=\'en\'), \'utf-8\');\n
my_title python: unicode(here.Base_translateString(orig_title), \'utf-8\');\n
orig_page string:Page;\n
en_page python: unicode(here.Base_translateString(orig_page, lang=\'en\'), \'utf-8\');\n
my_page python: unicode(here.Base_translateString(orig_page), \'utf-8\');\n
orig_of string:of;\n
en_of python: unicode(here.Base_translateString(orig_of, lang=\'en\'), \'utf-8\');\n
my_of python: unicode(here.Base_translateString(orig_of), \'utf-8\')">\n
orig_message python:here.Base_translateString(orig_string, lang=default_language);\n
translated_message python:here.Base_translateString(orig_string);">\n
<text:p text:style-name=\'Table_20_Heading\'>\n
\n
<tal:block tal:replace=\'en_string\'/>:</text:p>\n
<tal:block tal:replace=\'orig_message\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\'\n
tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/>:</text:p>\n
tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/>:</text:p>\n
</tal:block>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau2.A1\'\n
office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\'\n
<text:p text:style-name=\'Big_20_Table_20_Content_20_Left\'\n
tal:content=\'python:data_dict["source_section_title"]\'>source_section</text:p>\n
<text:p text:style-name=\'Table_20_Contents\'\n
<text:p text:style-name=\'Table_20_Contents_20_Left\'\n
tal:content=\'python:data_dict["source_section_address"]\'>address</text:p>\n
<text:p text:style-name=\'Table_20_Contents\'\n
<text:p text:style-name=\'Table_20_Contents_20_Left\'\n
tal:content=\'python:data_dict["source_section_telfax"]\'>tel, fax</text:p>\n
<text:p text:style-name=\'Table_20_Contents\'\n
<text:p text:style-name=\'Table_20_Contents_20_Left\'\n
tal:content=\'python:data_dict["source_section_email"]\'>email</text:p>\n
<text:p text:style-name=\'Table_20_Contents_20_Left\'\n
tal:condition=\'data_dict/source_section_vatid\'\n
tal:content=\'python:data_dict["source_section_vatid"]\'>vat ID</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau2.A1\'\n
office:value-type=\'string\'\n
tal:define=\'orig_string string:Recipient; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'en_string\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/>:</text:p>\n
tal:define=\'orig_string string:Client; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'orig_message\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/>:</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau2.A1\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\' tal:content=\'python:data_dict["destination_title"]\'>destination</text:p>\n
<text:p text:style-name=\'Table_20_Contents\' tal:content=\'python:data_dict["destination_address"]\'>address</text:p>\n
<text:p text:style-name=\'Table_20_Contents\' tal:content=\'python:data_dict["destination_telfax"]\'>tel, fax</text:p>\n
<text:p text:style-name=\'Table_20_Contents\' tal:content=\'python:data_dict["destination_email"]\'>email</text:p>\n
<text:p text:style-name=\'Big_20_Table_20_Content_20_Left\' tal:content=\'python:data_dict["destination_section_title"]\'>destination</text:p>\n
<text:p text:style-name=\'Table_20_Contents_20_Left\' tal:content=\'python:data_dict["destination_section_address"]\'>address</text:p>\n
<text:p text:style-name=\'Table_20_Contents_20_Left\' tal:content=\'python:data_dict["destination_section_telfax"]\'>tel, fax</text:p>\n
<text:p text:style-name=\'Table_20_Contents_20_Left\' tal:content=\'python:data_dict["destination_section_email"]\'>email</text:p>\n
<text:p text:style-name=\'Table_20_Contents_20_Left\' tal:content=\'python:data_dict["destination_section_vatid"]\'\n
tal:condition="data_dict/destination_section_vatid">vat ID</text:p>\n
</table:table-cell>\n
<table:table-cell>\n
<table:table table:is-sub-table=\'true\'>\n
<table:table-column table:style-name=\'Tableau2.E1.1\'/>\n
<table:table-column table:style-name=\'Tableau2.E1.2\'/>\n
<table:table-row table:style-name=\'Tableau2.E1.1\'>\n
<table:table-cell table:style-name=\'Tableau2.A1\' office:value-type=\'string\' tal:define=\'orig_string string:Reference; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'en_string\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/>:</text:p>\n
<table:table-cell table:style-name=\'Tableau2.A1\' office:value-type=\'string\' tal:define=\'orig_string string:Reference; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'orig_message\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/>:</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau2.E1.2.1\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Big_20_Table_20_Content\' tal:content=\'python:data_dict["reference"]\'>reference</text:p>\n
......@@ -361,9 +367,9 @@ AAA=</string> </value>
<table:table-row table:style-name=\'Tableau2.E1.1\'>\n
<table:table-cell table:style-name=\'Tableau2.E1.1.2\'\n
office:value-type=\'string\'\n
tal:define=\'orig_string string:Document Date; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'en_string\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/>:</text:p>\n
tal:define=\'orig_string string:Document Date; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'orig_message\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/>:</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau2.E1.2.2\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\'\n
......@@ -371,9 +377,9 @@ AAA=</string> </value>
</table:table-cell>\n
</table:table-row>\n
<table:table-row table:style-name=\'Tableau2.E1.1\'>\n
<table:table-cell table:style-name=\'Tableau2.E1.1.2\' office:value-type=\'string\' tal:define=\'orig_string string:Currency; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'en_string\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/>:</text:p>\n
<table:table-cell table:style-name=\'Tableau2.E1.1.2\' office:value-type=\'string\' tal:define=\'orig_string string:Currency; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'orig_message\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/>:</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau2.E1.2.2\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\' tal:content=\'python:data_dict["currency"]\'>EUR</text:p>\n
......@@ -384,50 +390,56 @@ AAA=</string> </value>
</table:table-row>\n
</table:table-header-rows>\n
<table:table-row table:style-name=\'Tableau2.1\'>\n
<table:table-cell table:style-name=\'Tableau2.E1.1.2\' office:value-type=\'string\' tal:define=\'orig_string string:Seller; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'en_string\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/>:</text:p>\n
<table:table-cell table:style-name=\'Tableau2.E1.1.2\' office:value-type=\'string\' tal:define=\'orig_string string:Ship From; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'orig_message\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/>:</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau2.E1.1.2\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\' tal:content=\'python:data_dict["source_decision_title"]\'>name</text:p>\n
<text:p text:style-name=\'Table_20_Contents\' tal:content=\'python:data_dict["source_decision_telfax"]\'>tel, fax</text:p>\n
<text:p text:style-name=\'Table_20_Contents\' tal:content=\'python:data_dict["source_decision_email"]\'>email</text:p>\n
<text:p text:style-name=\'Big_20_Table_20_Content_20_Left\' tal:content=\'python:data_dict["source_title"]\'>name</text:p>\n
<text:p text:style-name=\'Table_20_Contents_20_Left\' tal:content=\'python:data_dict["source_address"]\'>address</text:p>\n
<text:p text:style-name=\'Table_20_Contents_20_Left\' tal:content=\'python:data_dict["source_telfax"]\'>tel, fax</text:p>\n
<text:p text:style-name=\'Table_20_Contents_20_Left\'\n
tal:condition="data_dict/source_vatid"\n
tal:content=\'python:data_dict["source_vatid"]\'>vat id</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau2.E1.1.2\' office:value-type=\'string\' tal:define=\'orig_string string:Buyer; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'en_string\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/>:</text:p>\n
<table:table-cell table:style-name=\'Tableau2.E1.1.2\' office:value-type=\'string\' tal:define=\'orig_string string:Ship To; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'orig_message\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/>:</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau2.E1.1.2\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\' tal:content=\'python:data_dict["destination_decision_title"]\'>name</text:p>\n
<text:p text:style-name=\'Table_20_Contents\' tal:content=\'python:data_dict["destination_decision_telfax"]\'>tel, fax</text:p>\n
<text:p text:style-name=\'Table_20_Contents\' tal:content=\'python:data_dict["destination_decision_email"]\'>email</text:p>\n
<text:p text:style-name=\'Big_20_Table_20_Content_20_Left\' tal:content=\'python:data_dict["destination_title"]\'>name</text:p>\n
<text:p text:style-name=\'Table_20_Contents_20_Left\' tal:content=\'python:data_dict["destination_address"]\'>address</text:p>\n
<text:p text:style-name=\'Table_20_Contents_20_Left\' tal:content=\'python:data_dict["destination_telfax"]\'>tel, fax</text:p>\n
<text:p text:style-name=\'Table_20_Contents_20_Left\'\n
tal:condition="data_dict/destination_vatid"\n
tal:content=\'python:data_dict["destination_vatid"]\'>vat id</text:p>\n
</table:table-cell>\n
<table:table-cell>\n
<table:table table:is-sub-table=\'true\'>\n
<table:table-column table:style-name=\'Tableau2.E1.1\'/>\n
<table:table-column table:style-name=\'Tableau2.E1.2\'/>\n
<table:table-row table:style-name=\'Tableau2.E1.1\'>\n
<table:table-cell table:style-name=\'Tableau2.E1.1.2\' office:value-type=\'string\' tal:define=\'orig_string string:Payment; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'en_string\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/>:</text:p>\n
<table:table-cell table:style-name=\'Tableau2.E1.1.2\' office:value-type=\'string\' tal:define=\'orig_string string:Payment; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'orig_message\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/>:</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau2.E1.2.2\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\' tal:content=\'python:data_dict["payment_condition"]\'>60 days</text:p>\n
</table:table-cell>\n
</table:table-row>\n
<table:table-row table:style-name=\'Tableau2.E1.1\'>\n
<table:table-cell table:style-name=\'Tableau2.E1.1.2\' office:value-type=\'string\' tal:define=\'orig_string string:Delivery Mode; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'en_string\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/>:</text:p>\n
<table:table-cell table:style-name=\'Tableau2.E1.1.2\' office:value-type=\'string\' tal:define=\'orig_string string:Delivery Mode; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'orig_message\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/>:</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau2.E1.2.2\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\' tal:content=\'python:data_dict["delivery_mode"]\'>del mode</text:p>\n
</table:table-cell>\n
</table:table-row>\n
<table:table-row table:style-name=\'Tableau2.E1.1\'>\n
<table:table-cell table:style-name=\'Tableau2.E1.1.2\' office:value-type=\'string\' tal:define=\'orig_string string:Incoterm; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'en_string\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/>:</text:p>\n
<table:table-cell table:style-name=\'Tableau2.E1.1.2\' office:value-type=\'string\' tal:define=\'orig_string string:Incoterm; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'orig_message\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/>:</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau2.E1.2.2\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\' tal:content=\'python:data_dict["incoterm"]\'>incoterm</text:p>\n
......@@ -449,41 +461,41 @@ AAA=</string> </value>
<table:covered-table-cell/>\n
</table:table-row>\n
<table:table-row>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Line; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\'><span tal:replace=\'en_string\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/></text:p>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Line; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\'><span tal:replace=\'orig_message\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/></text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Your Item no.; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title\'><span tal:replace=\'en_string\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/></text:p>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Your Item No.; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\'><span tal:replace=\'orig_message\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/></text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Our Item no.; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title\'><span tal:replace=\'en_string\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/></text:p>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Our Item No.; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\'><span tal:replace=\'orig_message\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/></text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Description; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\'><span tal:replace=\'en_string\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/></text:p>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Description; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\'><span tal:replace=\'orig_message\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/></text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Quantity; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Right\'><span tal:replace=\'en_string\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Right\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/></text:p>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Quantity; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\'><span tal:replace=\'orig_message\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/></text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Unit; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title\'><span tal:replace=\'en_string\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/></text:p>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Unit; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\'><span tal:replace=\'orig_message\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/></text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Delivery Date; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title\'><span tal:replace=\'en_string\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/></text:p>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Delivery Date; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\'><span tal:replace=\'orig_message\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/></text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Unit Price; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Right\'><span tal:replace=\'en_string\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Right\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/></text:p>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Unit Price; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\'><span tal:replace=\'orig_message\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/></text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Total Price; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Right\'><span tal:replace=\'en_string\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Right\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/></text:p>\n
<table:table-cell table:style-name=\'Tableau1.A2\' office:value-type=\'string\' tal:define=\'orig_string string:Total Price; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\'><span tal:replace=\'orig_message\'/></text:p>\n
<text:p text:style-name=\'Item_20_Table_20_Title_20_Left\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/></text:p>\n
</table:table-cell>\n
</table:table-row>\n
</table:table-header-rows>\n
......@@ -505,15 +517,22 @@ AAA=</string> </value>
tal:attributes=\'text:style-name style_name\'>ref</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A3\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\'\n
tal:content=\'python:line_dict["description"]\'\n
tal:attributes=\'text:style-name left_style_name\'>desc</text:p>\n
<text:p text:style-name=\'Table_20_Contents\' tal:attributes="text:style-name left_style_name"><tal:block tal:repeat="line line_dict/description"><tal:block\n
tal:replace="line"/><text:line-break tal:condition="not:repeat/line/end"/></tal:block></text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A3\' office:value-type=\'float\'>\n
<table:table-cell table:style-name=\'Tableau1.A3\'\n
office:value-type=\'float\'\n
tal:condition="python: line_dict[\'total_quantity\'] != \'\'"\n
tal:attributes=\'office:value line_dict/total_quantity\'> \n
<text:p text:style-name=\'Table_20_Contents\'\n
tal:content=\'python:line_dict["total_quantity"]\'\n
tal:content="python: quantity_renderer(line_dict[\'total_quantity\'])"\n
tal:attributes=\'text:style-name right_style_name\'>qty</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A3\'\n
office:value-type=\'string\'\n
tal:condition="python: line_dict[\'total_quantity\'] == \'\'"> \n
<text:p text:style-name=\'Table_20_Contents\'/>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A3\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\'\n
tal:content=\'python:line_dict["quantity_unit"]\'\n
......@@ -524,16 +543,32 @@ AAA=</string> </value>
tal:content=\'python:line_dict["stop_date"]\'\n
tal:attributes=\'text:style-name style_name\'>stop_date</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A3\' office:value-type=\'float\'>\n
<table:table-cell table:style-name=\'Tableau1.A3\'\n
tal:condition="python: line_dict[\'base_price\'] != \'\'"\n
office:value-type=\'float\'\n
tal:attributes="office:value line_dict/base_price">\n
<text:p text:style-name=\'Table_20_Contents\'\n
tal:content=\'python:line_dict["base_price"]\'\n
tal:content="python: price_renderer(line_dict[\'base_price\'])"\n
tal:attributes=\'text:style-name right_style_name\'>base_price</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A3\' office:value-type=\'float\'>\n
<table:table-cell table:style-name=\'Tableau1.A3\'\n
office:value-type=\'string\'\n
tal:condition="python: line_dict[\'base_price\'] == \'\'"> \n
<text:p text:style-name=\'Table_20_Contents\'/>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A3\'\n
tal:condition="python: line_dict[\'total_price\'] != \'\'"\n
office:value-type=\'float\'\n
tal:attributes=\'office:value line_dict/total_price\'>\n
<text:p text:style-name=\'Table_20_Contents\'\n
tal:content=\'python:line_dict["total_price"]\'\n
tal:content="python: price_renderer(line_dict[\'total_price\'])"\n
tal:attributes=\'text:style-name right_style_name\'>total_price</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau1.A3\'\n
office:value-type=\'string\'\n
tal:condition="python: line_dict[\'total_price\'] == \'\'"> \n
<text:p text:style-name=\'Table_20_Contents\'/>\n
</table:table-cell>\n
</div>\n
</table:table-row>\n
<table:table-row table:style-name=\'Tableau1.5\'>\n
......@@ -572,12 +607,14 @@ AAA=</string> </value>
<table:table-cell table:style-name=\'Tableau3.A1\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\'/>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau3.D2\' office:value-type=\'string\' tal:define=\'orig_string string:Total Excluding VAT; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'en_string\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/>:</text:p>\n
<table:table-cell table:style-name=\'Tableau3.D2\' office:value-type=\'string\' tal:define=\'orig_string string:Total Excluding VAT; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'orig_message\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/>:</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau3.E2\' office:value-type=\'float\'>\n
<text:p text:style-name=\'Table_20_Contents_20_Right\' tal:content=\'python:data_dict["total_price_novat"]\'>800.000,00</text:p>\n
<table:table-cell table:style-name=\'Tableau3.E2\'\n
office:value-type=\'float\'\n
tal:attributes=\'office:value data_dict/total_price_novat\'>\n
<text:p text:style-name=\'Table_20_Contents_20_Right\' tal:content=\'python: price_renderer(data_dict["total_price_novat"])\'>800.000,00</text:p>\n
</table:table-cell>\n
</table:table-row>\n
<table:table-row table:style-name=\'Tableau3.3\'>\n
......@@ -594,25 +631,23 @@ AAA=</string> </value>
<table:table-cell table:style-name=\'Tableau3.D3\'\n
office:value-type=\'string\'>\n
<tal:block tal:repeat="vat python: data_dict[\'vat_list\']">\n
<tal:block tal:define="orig_string python:vat.getResourceTitle(); en_string python:here.Base_translateString(orig_string, lang=\'en\'); my_string python:here.Base_translateString(orig_string)">\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'en_string\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\'\n
tal:condition=\'python:my_string != en_string\'><span tal:replace=\'my_string\'/>:</text:p>\n
</tal:block>\n
<text:p text:style-name=\'Table_20_Heading\'><span\n
tal:replace=\'vat/getResourceTitle\'/>:</text:p>\n
</tal:block>\n
<text:p text:style-name=\'Table_20_Heading\'\n
tal:define="orig_string string:TAX; en_string python:here.Base_translateString(orig_string, lang=\'en\'); my_string python:here.Base_translateString(orig_string)"><span tal:replace="python: \'Total %s\' % (my_string)"/>:</text:p>\n
tal:define=\'orig_string string:TAX; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'><span tal:replace="python: \'Total %s\' % (translated_message)"/>:</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau3.E3\'\n
office:value-type=\'float\'\n
tal:attributes="office:value python: sum(total_vat_list)">\n
<tal:block tal:repeat="vat python: data_dict[\'vat_list\']">\n
<text:p tal:define="vat_price python: vat.getPrice() * vat.getQuantity(); any python: total_vat_list.append(vat_price)"\n
<text:p tal:define="vat_price python: vat.getTotalPrice();\n
dummy python: total_vat_list.append(vat_price)"\n
text:style-name=\'Table_20_Contents_20_Right\'\n
tal:content="vat_price">2000</text:p>\n
tal:content="python: price_renderer(vat_price)">2000</text:p>\n
</tal:block>\n
<text:p text:style-name=\'Table_20_Contents_20_Right\'\n
tal:content="python: sum(total_vat_list)">2000</text:p>\n
tal:content="python: price_renderer(sum(total_vat_list))">2000</text:p>\n
</table:table-cell>\n
</tal:block>\n
</table:table-row>\n
......@@ -626,15 +661,43 @@ AAA=</string> </value>
<table:table-cell table:style-name=\'Tableau3.A1\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\'/>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau3.D3\' office:value-type=\'string\' tal:define=\'orig_string string:Total Including VAT; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'en_string\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:my_string!=en_string\'><span tal:replace=\'my_string\'/>:</text:p>\n
<table:table-cell table:style-name=\'Tableau3.D3\' office:value-type=\'string\' tal:define=\'orig_string string:Total Including VAT; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'Table_20_Heading\'><span tal:replace=\'orig_message\'/>:</text:p>\n
<text:p text:style-name=\'Table_20_Heading\' tal:condition=\'python:translated_message != orig_message\'><span tal:replace=\'translated_message\'/>:</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau3.E3\' office:value-type=\'float\' tal:attributes="office:value python:data_dict[\'total_price_novat\'] + sum(total_vat_list)">\n
<!-- TODO: use getTotalNetPrice after supporting discount ? -->\n
<text:p text:style-name=\'Table_20_Contents_20_Right\'\n
tal:content=\'python:data_dict["total_price_novat"] + sum(total_vat_list)\'>12345</text:p>\n
tal:content=\'python: price_renderer(data_dict["total_price_novat"] + sum(total_vat_list))\'>12345</text:p>\n
</table:table-cell>\n
</table:table-row>\n
\n
<!-- Bank Account information -->\n
\n
<table:table-row table:style-name="Tableau3.5" tal:condition="python: \'bank_name\' in data_dict">\n
<table:table-cell table:style-name="Tableau3.A5" office:value-type="string">\n
<text:p text:style-name="Table_20_Heading">Bank:</text:p><!-- XXX -->\n
</table:table-cell>\n
<table:table-cell table:style-name="Tableau3.B5" office:value-type="string">\n
<text:p text:style-name="P6" tal:content="data_dict/bank_name">My Bank Name</text:p>\n
<text:p text:style-name="Table_20_Contents_20_Left" tal:content="data_dict/bank_address"\n
tal:condition="data_dict/bank_address">bank addess</text:p>\n
<text:p text:style-name="Table_20_Contents_20_Left" tal:content="data_dict/bank_account_reference">bank account reference</text:p>\n
<text:p text:style-name="Table_20_Contents_20_Left" tal:content="data_dict/bank_account_description">bank account description</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name="Tableau3.A1" office:value-type="string">\n
<text:p text:style-name="Table_20_Contents"/>\n
</table:table-cell>\n
<table:table-cell table:style-name="Tableau3.A1" office:value-type="string">\n
<text:p text:style-name="Table_20_Contents"/>\n
</table:table-cell>\n
<table:table-cell table:style-name="Tableau3.A1" office:value-type="string">\n
<text:p text:style-name="Table_20_Contents"/>\n
</table:table-cell>\n
</table:table-row>\n
\n
\n
\n
<table:table-row table:style-name=\'Tableau3.1\'>\n
<table:table-cell table:style-name=\'Tableau3.A1\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\'/>\n
......@@ -652,26 +715,28 @@ AAA=</string> </value>
<text:p text:style-name=\'Table_20_Contents\'/>\n
</table:table-cell>\n
</table:table-row>\n
<table:table-row table:style-name=\'Tableau3.6\'>\n
<table:table-cell table:style-name=\'Tableau3.A6\' office:value-type=\'string\' tal:define=\'orig_string string:Notes; en_string python:unicode(here.Base_translateString(orig_string, lang="en"),"utf-8"); my_string python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'P2\'><span tal:replace=\'en_string\'/><span tal:omit-tag=\'\' tal:condition=\'python:my_string!=en_string\'> / <span tal:replace=\'my_string\'/></span>:</text:p>\n
<table:table-row table:style-name=\'Tableau3.7\'>\n
<table:table-cell table:style-name=\'Tableau3.A7\' office:value-type=\'string\' tal:define=\'orig_string string:Notes; orig_message python:unicode(here.Base_translateString(orig_string, lang=default_language),"utf-8"); translated_message python:unicode(here.Base_translateString(orig_string),"utf-8")\'>\n
<text:p text:style-name=\'P2\'><span tal:replace=\'orig_message\'/><span tal:omit-tag=\'\' tal:condition=\'python:translated_message != orig_message\'> / <span tal:replace=\'translated_message\'/></span>:</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau3.B6\' office:value-type=\'string\'>\n
<table:table-cell table:style-name=\'Tableau3.B7\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\'/>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau3.B6\' office:value-type=\'string\'>\n
<table:table-cell table:style-name=\'Tableau3.B7\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\'/>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau3.B6\' office:value-type=\'string\'>\n
<table:table-cell table:style-name=\'Tableau3.B7\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\'/>\n
</table:table-cell>\n
<table:table-cell table:style-name=\'Tableau3.E6\' office:value-type=\'string\'>\n
<table:table-cell table:style-name=\'Tableau3.E7\' office:value-type=\'string\'>\n
<text:p text:style-name=\'Table_20_Contents\'/>\n
</table:table-cell>\n
</table:table-row>\n
<table:table-row table:style-name=\'Tableau3.7\'>\n
<table:table-cell table:style-name=\'Tableau3.A7\' table:number-columns-spanned=\'5\' office:value-type=\'string\'>\n
<text:p text:style-name=\'P3\' tal:content=\'python:data_dict["description"]\'>my_description</text:p>\n
<table:table-row table:style-name=\'Tableau3.8\'>\n
<table:table-cell table:style-name=\'Tableau3.A8\' table:number-columns-spanned=\'5\' office:value-type=\'string\'>\n
<text:p text:style-name=\'P3\'><tal:block tal:repeat="line data_dict/description"><tal:block\n
tal:replace="line"/><text:line-break tal:condition="not:repeat/line/end"/></tal:block>\n
</text:p>\n
</table:table-cell>\n
<table:covered-table-cell/>\n
<table:covered-table-cell/>\n
......@@ -694,7 +759,8 @@ AAA=</string> </value>
<text:p text:style-name=\'P4\'/>\n
</office:text>\n
</office:body>\n
</office:document-content>
</office:document-content>\n
]]></string> </value>
</item>
......
......@@ -126,7 +126,7 @@ AAA=</string> </value>
</style:style>\n
<style:style style:name="List" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="list"/>\n
<style:style style:name="Header" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="extra" style:master-page-name="">\n
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" style:page-number="auto" fo:background-color="transparent" style:shadow="none" fo:keep-with-next="always">\n
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:text-align="start" style:justify-single-word="false" style:register-true="true" style:page-number="auto" fo:background-color="transparent" style:shadow="none" fo:keep-with-next="always" style:vertical-align="auto">\n
<style:tab-stops/>\n
<style:background-image/>\n
</style:paragraph-properties>\n
......@@ -186,11 +186,14 @@ AAA=</string> </value>
</style:style>\n
<style:style style:name="Header_20_Title" style:display-name="Header Title" style:family="paragraph" style:parent-style-name="Header_20_right" style:master-page-name="">\n
<style:paragraph-properties style:page-number="auto" style:shadow="none"/>\n
<style:text-properties fo:text-transform="uppercase" fo:font-size="12pt"/>\n
<style:text-properties fo:text-transform="uppercase" fo:font-size="16pt"/>\n
</style:style>\n
<style:style style:name="Big_20_Table_20_Content" style:display-name="Big Table Content" style:family="paragraph" style:parent-style-name="Table_20_Contents">\n
<style:text-properties fo:font-size="8pt" fo:font-weight="bold"/>\n
</style:style>\n
<style:style style:name="Big_20_Table_20_Content_20_Left" style:display-name="Big Table Content Left" style:family="paragraph" style:parent-style-name="Big_20_Table_20_Content">\n
<style:paragraph-properties fo:margin-left="0.049cm" fo:margin-right="0cm" fo:text-align="start" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/>\n
</style:style>\n
<style:style style:name="Item_20_Table_20_Title" style:display-name="Item Table Title" style:family="paragraph" style:parent-style-name="Table_20_Heading" style:class="extra">\n
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>\n
<style:text-properties fo:font-size="7pt" style:font-weight-asian="normal" style:font-weight-complex="normal"/>\n
......@@ -215,6 +218,12 @@ AAA=</string> </value>
<style:style style:name="Graphics" style:family="graphic">\n
<style:graphic-properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" style:wrap="dynamic" style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph"/>\n
</style:style>\n
<style:style style:name="Header_20_Image" style:display-name="Header Image" style:family="graphic" style:parent-style-name="Graphics">\n
<style:graphic-properties svg:width="9.999cm" svg:height="0.049cm" text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" fo:margin-left="0cm" fo:margin-right="0cm" style:run-through="foreground" style:wrap="right" style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="left" style:horizontal-rel="paragraph" fo:background-color="transparent" style:background-transparency="100%" style:shadow="none">\n
<style:background-image/>\n
<style:columns fo:column-count="1" fo:column-gap="0cm"/>\n
</style:graphic-properties>\n
</style:style>\n
<text:outline-style>\n
<text:outline-level-style text:level="1" style:num-format="">\n
<style:list-level-properties text:min-label-distance="0.381cm"/>\n
......@@ -252,6 +261,33 @@ AAA=</string> </value>
<text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/>\n
</office:styles>\n
<office:automatic-styles>\n
<style:style style:name="Tableau4" style:family="table">\n
<style:table-properties style:width="19.001cm" table:align="margins" style:shadow="none"/>\n
</style:style>\n
<style:style style:name="Tableau4.A" style:family="table-column">\n
<style:table-column-properties style:column-width="6.334cm" style:rel-column-width="21845*"/>\n
</style:style>\n
<style:style style:name="Tableau4.B" style:family="table-column">\n
<style:table-column-properties style:column-width="6.334cm" style:rel-column-width="21844*"/>\n
</style:style>\n
<style:style style:name="Tableau4.1" style:family="table-row">\n
<style:table-row-properties style:min-row-height="1.723cm"/>\n
</style:style>\n
<style:style style:name="Tableau4.A1" style:family="table-cell">\n
<style:table-cell-properties fo:padding="0.097cm" fo:border="none"/>\n
</style:style>\n
<style:style style:name="Tableau4.A2" style:family="table-cell">\n
<style:table-cell-properties fo:padding="0.097cm" fo:border="none" style:vertical-align="middle"/>\n
</style:style>\n
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Table_20_Contents">\n
<style:text-properties style:font-name-asian="DejaVu Sans1" style:font-size-asian="14pt" style:font-name-complex="DejaVu Sans1" style:font-size-complex="14pt"/>\n
</style:style>\n
<style:style style:name="P2" style:family="paragraph" style:parent-style-name="Header_20_right">\n
<style:text-properties style:font-name-asian="DejaVu Sans1" style:font-size-asian="14pt" style:font-name-complex="DejaVu Sans1" style:font-size-complex="14pt"/>\n
</style:style>\n
<style:style style:name="fr1" style:family="graphic" style:parent-style-name="Header_20_Image">\n
<style:graphic-properties style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="left" style:horizontal-rel="paragraph" style:mirror="none" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/>\n
</style:style>\n
<style:page-layout style:name="pm1">\n
<style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="1cm" fo:margin-bottom="1cm" fo:margin-left="1cm" fo:margin-right="1cm" fo:background-color="transparent" style:writing-mode="lr-tb" style:footnote-max-height="0cm">\n
<style:background-image/>\n
......@@ -271,49 +307,72 @@ AAA=</string> </value>
<style:header-style/>\n
<style:footer-style/>\n
</style:page-layout>\n
<number:number-style style:name="N0">\n
<number:number number:min-integer-digits="1"/>\n
</number:number-style>\n
</office:automatic-styles>\n
<office:master-styles>\n
<style:master-page style:name="Standard" style:page-layout-name="pm1">\n
<style:header tal:define="orig_title string:Invoice;\n
en_title python: unicode(here.Base_translateString(orig_title, lang=\'en\'), \'utf-8\');\n
<style:header tal:define="default_language python:test(request.get(\'international_form\'), \'en\', here.Localizer.get_selected_language());\n
orig_title string:Invoice;\n
en_title python: unicode(here.Base_translateString(orig_title, lang=default_language), \'utf-8\');\n
my_title python: unicode(here.Base_translateString(orig_title), \'utf-8\');\n
orig_page string:Page;\n
en_page python: unicode(here.Base_translateString(orig_page, lang=\'en\'), \'utf-8\');\n
en_page python: unicode(here.Base_translateString(orig_page, lang=default_language), \'utf-8\');\n
my_page python: unicode(here.Base_translateString(orig_page), \'utf-8\');\n
orig_of string:of;\n
en_of python: unicode(here.Base_translateString(orig_of, lang=\'en\'), \'utf-8\');\n
en_of python: unicode(here.Base_translateString(orig_of, lang=default_language), \'utf-8\');\n
my_of python: unicode(here.Base_translateString(orig_of), \'utf-8\');\n
image_path python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_section_image_path\'] or data_dict[\'source_section_image_path\']">\n
<text:p>\n
image_path python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_section_image_path\'] or data_dict[\'source_decision_image_path\'];\n
image_width python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_section_image_width\'] or data_dict[\'source_decision_image_width\'];\n
image_height python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_section_image_height\'] or data_dict[\'source_decision_image_height\']">\n
<table:table table:name="Tableau4" table:style-name="Tableau4">\n
<table:table-column table:style-name="Tableau4.A"/>\n
<table:table-column table:style-name="Tableau4.B"/>\n
<table:table-column table:style-name="Tableau4.A"/>\n
<table:table-row table:style-name="Tableau4.1">\n
<table:table-cell table:style-name="Tableau4.A1" office:value-type="string">\n
<text:p text:style-name="P1">\n
<office:include_img tal:condition="image_path"\n
tal:attributes="path image_path"/>\n
maxwidth="6cm"\n
maxheigth="2cm"\n
tal:attributes="path image_path;\n
draw:style-name string:fr1;\n
draw:z-index string:0;\n
text:anchor-type string:paragraph;\n
width image_width;\n
height image_height"/>\n
</text:p>\n
<text:p text:style-name="Header"\n
tal:content="python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_section_title\'] or data_dict[\'source_section_title\']">\n
</table:table-cell>\n
<table:table-cell table:style-name="Tableau4.A2" office:value-type="string">\n
<text:p text:style-name="Big_20_Table_20_Content_20_Left"\n
tal:content="python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_administration_title\'] or data_dict[\'source_administration_title\']">\n
</text:p>\n
<text:p text:style-name="Header"\n
tal:content="python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_section_address\'] or data_dict[\'source_section_address\']">\n
tal:content="python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_administration_address\'] or data_dict[\'source_administration_address\']">\n
</text:p>\n
<text:p text:style-name="Header"\n
tal:content="python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_section_telfax\'] or data_dict[\'source_section_telfax\']">\n
tal:content="python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_administration_telfax\'] or data_dict[\'source_administration_telfax\']">\n
</text:p>\n
<text:p text:style-name="Header"\n
tal:content="python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_section_email\'] or data_dict[\'source_section_email\']">\n
tal:content="python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_administration_email\'] or data_dict[\'source_administration_email\']">\n
</text:p>\n
<text:p text:style-name="Header"\n
tal:content="python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_section_vatid\'] or data_dict[\'source_section_vatid\']">\n
tal:content="python: here.getPortalType().startswith(\'Purchase\') and data_dict[\'destination_administration_vatid\'] or data_dict[\'source_administration_vatid\']">\n
</text:p>\n
</table:table-cell>\n
<table:table-cell table:style-name="Tableau4.A1" office:value-type="string">\n
<text:p text:style-name="Header_20_Title"\n
tal:content="en_title">\n
</text:p>\n
<text:p text:style-name="Header_20_right"\n
tal:content="my_title">\n
tal:content="my_title" tal:condition="python: my_title != en_title">\n
</text:p>\n
<text:p text:style-name="Header_20_right">\n
<text:p tal:replace="my_page"/><text:page-number text:select-page="current">1</text:page-number><text:p tal:replace="my_of"/><text:page-count>1</text:page-count></text:p>\n
<text:p tal:replace="my_page"/>\n
<text:page-number text:select-page="current">1</text:page-number>\n
<text:p tal:replace="my_of"/>\n
<text:page-count>1</text:page-count></text:p>\n
</table:table-cell>\n
</table:table-row>\n
</table:table>\n
</style:header>\n
<style:footer>\n
<text:p text:style-name="Footer">Generated with ERP5 \xe2\x80\x93 Open Source ERP suite (www.erp5.org)</text:p>\n
......
......@@ -88,6 +88,7 @@
<value>
<list>
<string>your_target_language</string>
<string>your_international_form</string>
</list>
</value>
</item>
......@@ -130,6 +131,12 @@
<key> <string>title</string> </key>
<value> <string>Print Invoice</string> </value>
</item>
<item>
<key> <string>uid</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
......
......@@ -85,6 +85,10 @@
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>description</string> </key>
<value> <string>printing format</string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
......@@ -107,6 +111,10 @@
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Format</string> </value>
</item>
</dictionary>
</value>
</item>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>your_international_form</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>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>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>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>Include english and translated version of all terms.</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>title</string> </key>
<value> <string>International Form</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
110
\ No newline at end of file
112
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment