Commit 4c84972e authored by Vincent Pelletier's avatar Vincent Pelletier

Add generic Credit Note creation script.

parent be552b63
<?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>_body</string> </key>
<value> <string>"""\n
This script is supposed to be the common denominator for invoice reversing operations.\n
Instead of extending it, call it from project-specific script and edit returned document (or its lines).\n
"""\n
\n
portal = context.getPortalObject()\n
reverse_invoice = context.getParentValue().newContent(\n
portal_type=context.getPortalType(),\n
created_by_builder=1, # tell init script to not create lines\n
# Copy over all Arrow-ish relations\n
# XXX: it would be cleaner to query property sheet definition and check it applies to context\n
category_list=[x for x in context.getCategoryList() if x.startswith(\'source\') or x.startswith(\'destination\')],\n
)\n
# Separate edit to have stable outcome WRT category_list\n
reverse_invoice.edit(\n
causality_value_list=context.getCausalityValueList() + [context],\n
specialise_list=context.getSpecialiseList(),\n
price_currency_list=context.getPriceCurrencyList(),\n
resource_list=context.getResourceList(),\n
)\n
newContent = reverse_invoice.newContent\n
for line in context.objectValues():\n
if not line.isGeneratedBySimulation():\n
newContent(\n
description=line.getDescription(),\n
int_index=line.getIntIndex(),\n
portal_type=line.getPortalType(),\n
price=line.getPrice(),\n
quantity=-line.getQuantity(), # Notice the "-" !\n
reference=line.getReference(),\n
category_list=line.getCategoryList(),\n
)\n
return reverse_invoice\n
</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Invoice_createCreditNoteInvoice</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
390
\ No newline at end of file
391
\ 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