Commit 5e129d40 authored by Ivan Tyagov's avatar Ivan Tyagov

Merge branch 'master' into ivan

parents cae83265 6bed77f3
...@@ -51,13 +51,11 @@ ...@@ -51,13 +51,11 @@
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>kw[\'parent_specialise_reference\'] = \'default_payment_rule\'\n <value> <string>kw[\'parent_specialise_reference\'] = \'default_payment_rule\'\n
kw[\'portal_type\'] = \'Simulation Movement\'\n kw[\'grand_parent_simulation_state\'] = \'started\'\n
kw[\'grand_parent_simulation_state\'] = [\'started\']\n
kw.update(context.portal_catalog.buildSQLQuery(**kw))\n kw.update(context.portal_catalog.buildSQLQuery(**kw))\n
kw[\'max_movement_date\'] = DateTime() + 30 # XXX this is an arbitrary value for experimentation\n kw[\'max_movement_date\'] = DateTime() + 30 # XXX this is an arbitrary value for experimentation\n
# this could be an alarm configuration.\n # this could be an alarm configuration.\n
movement_list = [x.getObject() for x in context.PaymentTransaction_zSelectMovement(**kw)]\n return context.PaymentTransaction_zSelectMovement(src__=src__, **kw)\n
return movement_list\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
......
...@@ -57,7 +57,8 @@ if parent.getPortalType() != \'Applied Rule\':\n ...@@ -57,7 +57,8 @@ if parent.getPortalType() != \'Applied Rule\':\n
return False\n return False\n
\n \n
parent_rule = parent.getSpecialiseValue()\n parent_rule = parent.getSpecialiseValue()\n
if parent_rule.getPortalType() not in (\'Invoice Transaction Rule\',):\n if parent_rule.getPortalType() not in (\'Invoice Transaction Simulation Rule\',\n
\'Invoice Transaction Rule\'):\n
return False\n return False\n
\n \n
receivable_account_type_list = (\'asset/receivable\',)\n receivable_account_type_list = (\'asset/receivable\',)\n
......
1477 1479
\ No newline at end of file \ No newline at end of file
<key_list>
<key>accounting_transaction.operation_date</key>
<key>operation_date</key>
</key_list>
\ No newline at end of file
<catalog_method>
<item key="sql_clear_catalog" type="int">
<value>1</value>
</item>
</catalog_method>
...@@ -2,55 +2,62 @@ ...@@ -2,55 +2,62 @@
<ZopeData> <ZopeData>
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> <global name="SQL" module="Products.ZSQLMethods.SQL"/>
</pickle> </pickle>
<pickle> <pickle>
<dictionary> <dictionary>
<item> <item>
<key> <string>actbox_category</string> </key> <key> <string>allow_simple_one_argument_traversal</string> </key>
<value> <string>workflow</string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>actbox_name</string> </key> <key> <string>arguments_src</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>actbox_url</string> </key> <key> <string>cache_time_</string> </key>
<value> <string></string> </value> <value> <int>0</int> </value>
</item> </item>
<item> <item>
<key> <string>after_script_name</string> </key> <key> <string>class_file_</string> </key>
<value> <string>Workflow_accelerateBuild</string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>class_name_</string> </key>
<value> <string>marks the document as it has been confirmed to the customer or it has been confirmed by the supplier</string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>guard</string> </key> <key> <string>connection_hook</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>connection_id</string> </key>
<value> <string>erp5_sql_connection</string> </value>
</item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>order</string> </value> <value> <string>z0_drop_accounting_transaction</string> </value>
</item> </item>
<item> <item>
<key> <string>new_state_id</string> </key> <key> <string>max_cache_</string> </key>
<value> <string>ordered</string> </value> <value> <int>100</int> </value>
</item> </item>
<item> <item>
<key> <string>script_name</string> </key> <key> <string>max_rows_</string> </key>
<value> <string></string> </value> <value> <int>1000</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>src</string> </key>
<value> <string>Place Order</string> </value> <value> <string>DROP TABLE IF EXISTS accounting_transaction\n
</string> </value>
</item> </item>
<item> <item>
<key> <string>trigger_type</string> </key> <key> <string>title</string> </key>
<value> <int>2</int> </value> <value> <string></string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
<catalog_method>
<item key="sql_uncatalog_object" type="int">
<value>1</value>
</item>
<item key="_is_filtered_archive" type="int">
<value>1</value>
</item>
<item key="_filter_expression_archive" type="str">
<value>python: context.isAccountingTransactionType()</value>
</item>
<item key="_filter_expression_cache_key_archive" type="tuple">
<value>portal_type</value>
</item>
</catalog_method>
...@@ -2,55 +2,66 @@ ...@@ -2,55 +2,66 @@
<ZopeData> <ZopeData>
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/> <global name="SQL" module="Products.ZSQLMethods.SQL"/>
</pickle> </pickle>
<pickle> <pickle>
<dictionary> <dictionary>
<item> <item>
<key> <string>actbox_category</string> </key> <key> <string>allow_simple_one_argument_traversal</string> </key>
<value> <string>workflow</string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>actbox_name</string> </key> <key> <string>arguments_src</string> </key>
<value> <string></string> </value> <value> <string>uid</string> </value>
</item> </item>
<item> <item>
<key> <string>actbox_url</string> </key> <key> <string>cache_time_</string> </key>
<value> <string></string> </value> <value> <int>0</int> </value>
</item> </item>
<item> <item>
<key> <string>after_script_name</string> </key> <key> <string>class_file_</string> </key>
<value> <string>Workflow_accelerateBuild</string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>class_name_</string> </key>
<value> <string>Declares a packing list as received and creates the related accounting transaction</string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>guard</string> </key> <key> <string>connection_hook</string> </key>
<value> <value>
<none/> <none/>
</value> </value>
</item> </item>
<item>
<key> <string>connection_id</string> </key>
<value> <string>erp5_sql_connection</string> </value>
</item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>stop</string> </value> <value> <string>z0_uncatalog_accounting_transaction</string> </value>
</item> </item>
<item> <item>
<key> <string>new_state_id</string> </key> <key> <string>max_cache_</string> </key>
<value> <string>stopped</string> </value> <value> <int>100</int> </value>
</item> </item>
<item> <item>
<key> <string>script_name</string> </key> <key> <string>max_rows_</string> </key>
<value> <string></string> </value> <value> <int>1000</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>src</string> </key>
<value> <string>Receive Packing List</string> </value> <value> <string encoding="cdata"><![CDATA[
DELETE FROM accounting_transaction WHERE <dtml-sqltest uid op=eq type=int>\n
]]></string> </value>
</item> </item>
<item> <item>
<key> <string>trigger_type</string> </key> <key> <string>title</string> </key>
<value> <int>2</int> </value> <value> <string></string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
<catalog_method>
<item key="sql_catalog_object_list" type="int">
<value>1</value>
</item>
<item key="_is_filtered_archive" type="int">
<value>1</value>
</item>
<item key="_filter_expression_archive" type="str">
<value>python: context.isAccountingTransactionType()</value>
</item>
<item key="_filter_expression_cache_key_archive" type="tuple">
<value>portal_type</value>
</item>
</catalog_method>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="SQL" module="Products.ZSQLMethods.SQL"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>allow_simple_one_argument_traversal</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>arguments_src</string> </key>
<value> <string>uid\r\n
getSourceSectionUid\r\n
getDestinationSectionUid\r\n
getResourceUid\r\n
getSourceProjectUid\r\n
getDestinationProjectUid\r\n
getSourcePaymentUid\r\n
getDestinationPaymentUid\r\n
getTitle\r\n
getReference\r\n
getSourceReference\r\n
getDestinationReference\r\n
getStartDate\r\n
getStopDate\r\n
InternalInvoiceTransaction_statInternalTransactionLineList\r\n
</string> </value>
</item>
<item>
<key> <string>cache_time_</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>class_file_</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>class_name_</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>connection_hook</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>connection_id</string> </key>
<value> <string>erp5_sql_connection</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>z_catalog_accounting_transaction_list</string> </value>
</item>
<item>
<key> <string>max_cache_</string> </key>
<value> <int>100</int> </value>
</item>
<item>
<key> <string>max_rows_</string> </key>
<value> <int>1000</int> </value>
</item>
<item>
<key> <string>src</string> </key>
<value> <string encoding="cdata"><![CDATA[
DELETE FROM\n
accounting_transaction\n
WHERE\n
<dtml-in uid>\n
uid=<dtml-sqlvar sequence-item type="int"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n
</dtml-in>\n
;\n
\n
<dtml-var "\'\\0\'">\n
\n
<dtml-let row_list="[]" uid_dict="{}">\n
<dtml-in prefix="loop" expr="_.range(_.len(uid))">\n
<dtml-if "getDestinationSectionUid[loop_item]">\n
<dtml-call expr="uid_dict.update({uid[loop_item]: uid_dict.get(uid[loop_item], -1) + 1})">\n
<dtml-call expr="row_list.append([\n
uid[loop_item], \n
uid_dict[uid[loop_item]],\n
getDestinationSectionUid[loop_item],\n
getSourceSectionUid[loop_item],\n
getResourceUid[loop_item],\n
getDestinationProjectUid[loop_item], \n
getDestinationPaymentUid[loop_item],\n
getTitle[loop_item], \n
getReference[loop_item], \n
getDestinationReference[loop_item], \n
getStopDate[loop_item], \n
InternalInvoiceTransaction_statInternalTransactionLineList[loop_item][0][\'destination_asset_debit\'], \n
InternalInvoiceTransaction_statInternalTransactionLineList[loop_item][0][\'destination_asset_credit\'], \n
])">\n
</dtml-if>\n
<dtml-if expr="True">\n
<dtml-comment>\n
for now, unconditionanly catalog source, to always have at\n
least one line, but is it needed ?\n
</dtml-comment>\n
<dtml-call expr="uid_dict.update({uid[loop_item]: uid_dict.get(uid[loop_item], -1) + 1})">\n
<dtml-call expr="row_list.append([\n
uid[loop_item], \n
uid_dict[uid[loop_item]],\n
getSourceSectionUid[loop_item],\n
getDestinationSectionUid[loop_item],\n
getResourceUid[loop_item],\n
getSourceProjectUid[loop_item], \n
getSourcePaymentUid[loop_item],\n
getTitle[loop_item], \n
getReference[loop_item], \n
getSourceReference[loop_item], \n
getStartDate[loop_item], \n
InternalInvoiceTransaction_statInternalTransactionLineList[loop_item][0][\'source_asset_debit\'], \n
InternalInvoiceTransaction_statInternalTransactionLineList[loop_item][0][\'source_asset_credit\'], \n
])">\n
</dtml-if>\n
</dtml-in> \n
\n
<dtml-if "row_list">\n
INSERT INTO\n
accounting_transaction\n
VALUES\n
<dtml-in prefix="row" expr="row_list">\n
(\n
<dtml-sqlvar expr="row_item[0]" type="int">,\n
<dtml-sqlvar expr="row_item[1]" type="int">,\n
<dtml-sqlvar expr="row_item[2]" type="int" optional>, \n
<dtml-sqlvar expr="row_item[3]" type="int" optional>, \n
<dtml-sqlvar expr="row_item[4]" type="int" optional>,\n
<dtml-sqlvar expr="row_item[5]" type="int" optional>,\n
<dtml-sqlvar expr="row_item[6]" type="int" optional>,\n
<dtml-sqlvar expr="row_item[7]" type="string" optional>,\n
<dtml-sqlvar expr="row_item[8]" type="string" optional>,\n
<dtml-sqlvar expr="row_item[9]" type="string" optional>, \n
<dtml-sqlvar expr="row_item[10]" type="datetime" optional>,\n
<dtml-sqlvar expr="row_item[11]" type="float" optional>,\n
<dtml-sqlvar expr="row_item[12]" type="float" optional>\n
)\n
<dtml-if sequence-end><dtml-else>,</dtml-if>\n
</dtml-in>\n
</dtml-if>\n
</dtml-let>\n
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<catalog_method>
<item key="sql_clear_catalog" type="int">
<value>1</value>
</item>
</catalog_method>
...@@ -2,76 +2,91 @@ ...@@ -2,76 +2,91 @@
<ZopeData> <ZopeData>
<record id="1" aka="AAAAAAAAAAE="> <record id="1" aka="AAAAAAAAAAE=">
<pickle> <pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> <global name="SQL" module="Products.ZSQLMethods.SQL"/>
</pickle> </pickle>
<pickle> <pickle>
<dictionary> <dictionary>
<item> <item>
<key> <string>action</string> </key> <key> <string>_col</string> </key>
<value> <value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> <tuple/>
</value> </value>
</item> </item>
<item> <item>
<key> <string>categories</string> </key> <key> <string>allow_simple_one_argument_traversal</string> </key>
<value> <value>
<tuple> <none/>
<string>action_type/object_exchange</string>
</tuple>
</value> </value>
</item> </item>
<item> <item>
<key> <string>category</string> </key> <key> <string>arguments_src</string> </key>
<value> <string>object_exchange</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>cache_time_</string> </key>
<value> <string></string> </value> <value> <int>0</int> </value>
</item> </item>
<item> <item>
<key> <string>icon</string> </key> <key> <string>class_file_</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>class_name_</string> </key>
<value> <string>import</string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>permissions</string> </key> <key> <string>connection_hook</string> </key>
<value> <value>
<tuple> <none/>
<string>Add portal content</string>
</tuple>
</value> </value>
</item> </item>
<item> <item>
<key> <string>priority</string> </key> <key> <string>connection_id</string> </key>
<value> <float>1.0</float> </value> <value> <string>erp5_sql_connection</string> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>id</string> </key>
<value> <string>Import CD</string> </value> <value> <string>z_create_accounting_transaction</string> </value>
</item> </item>
<item> <item>
<key> <string>visible</string> </key> <key> <string>max_cache_</string> </key>
<value> <int>1</int> </value> <value> <int>100</int> </value>
</item>
<item>
<key> <string>max_rows_</string> </key>
<value> <int>1000</int> </value>
</item>
<item>
<key> <string>src</string> </key>
<value> <string>CREATE TABLE `accounting_transaction` (\n
`uid` BIGINT UNSIGNED NOT NULL,\n
`order_id` TINYINT UNSIGNED NOT NULL,\n
\n
`section_uid` BIGINT UNSIGNED,\n
`mirror_section_uid` BIGINT UNSIGNED,\n
`resource_uid` BIGINT UNSIGNED,\n
\n
`project_uid` BIGINT UNSIGNED,\n
`payment_uid` BIGINT UNSIGNED,\n
\n
`accounting_transaction_title` VARCHAR(255),\n
`reference` VARCHAR(255),\n
`specific_reference` VARCHAR(255),\n
\n
`operation_date` datetime default NULL,\n
\n
`total_debit` real,\n
`total_credit` real,\n
\n
PRIMARY KEY (`uid`, `order_id`),\n
KEY `section_uid` (`section_uid`)\n
-- TODO: keys\n
) TYPE=InnoDB\n
</string> </value>
</item> </item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item> <item>
<key> <string>text</string> </key> <key> <string>title</string> </key>
<value> <string>string:${object_url}/MonetaryReceptionModule_importMonetaryReceptionFromCDForm</string> </value> <value> <string></string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="SQL" module="Products.ZSQLMethods.SQL"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>arguments_src</string> </key>
<value> <string>table_0</string> </value>
</item>
<item>
<key> <string>connection_id</string> </key>
<value> <string>erp5_sql_connection</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>z_related_accounting_transaction_mirror_section</string> </value>
</item>
<item>
<key> <string>src</string> </key>
<value> <string encoding="cdata"><![CDATA[
accounting_transaction.mirror_section_uid = <dtml-var table_0>.uid\n
]]></string> </value>
</item>
<item>
<key> <string>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="SQL" module="Products.ZSQLMethods.SQL"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>arguments_src</string> </key>
<value> <string>table_0</string> </value>
</item>
<item>
<key> <string>connection_id</string> </key>
<value> <string>erp5_sql_connection</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>z_related_accounting_transaction_payment</string> </value>
</item>
<item>
<key> <string>src</string> </key>
<value> <string encoding="cdata"><![CDATA[
accounting_transaction.payment_uid = <dtml-var table_0>.uid\n
]]></string> </value>
</item>
<item>
<key> <string>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="SQL" module="Products.ZSQLMethods.SQL"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>arguments_src</string> </key>
<value> <string>table_0</string> </value>
</item>
<item>
<key> <string>connection_id</string> </key>
<value> <string>erp5_sql_connection</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>z_related_accounting_transaction_project</string> </value>
</item>
<item>
<key> <string>src</string> </key>
<value> <string encoding="cdata"><![CDATA[
accounting_transaction.project_uid = <dtml-var table_0>.uid\n
]]></string> </value>
</item>
<item>
<key> <string>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="SQL" module="Products.ZSQLMethods.SQL"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>arguments_src</string> </key>
<value> <string>table_0\r\n
table_1</string> </value>
</item>
<item>
<key> <string>connection_id</string> </key>
<value> <string>erp5_sql_connection</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>z_related_accounting_transaction_stock_line</string> </value>
</item>
<item>
<key> <string>src</string> </key>
<value> <string encoding="cdata"><![CDATA[
accounting_transaction.uid = <dtml-var table_0>.explanation_uid\n
AND <dtml-var table_0>.uid = <dtml-var table_1>.uid
]]></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<key_list>
<key>accounting_transaction_line_node_uid | movement,stock/node_uid/z_related_accounting_transaction_stock_line</key>
<key>accounting_transaction_line_total_price | movement,stock/total_price/z_related_accounting_transaction_stock_line</key>
<key>accounting_transaction_mirror_section_title | catalog/title/z_related_accounting_transaction_mirror_section</key>
<key>accounting_transaction_payment_title | catalog/title/z_related_accounting_transaction_payment</key>
<key>accounting_transaction_project_title | catalog/title/z_related_accounting_transaction_project</key>
</key_list>
\ No newline at end of file
<key_list>
<key>accounting_transaction</key>
</key_list>
\ 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>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>business_template_skin_layer_priority</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>float</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>business_template_skin_layer_priority</string> </key>
<value> <float>10.0</float> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_accounting_alternate_catalog</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -50,36 +50,119 @@ ...@@ -50,36 +50,119 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>portal_type = context.getDeliveryPortalType()\n <value> <string>portal = context.getPortalObject()\n
invoice_list = []\n getUid = portal.portal_categories.getCategoryUid\n
\n \n
# Gather invoices associated with grand parent movements,\n section_category = params.pop(\'section_category\', None)\n
# so that tax movements will be included into the same invoices.\n section_category_strict = params.pop(\'section_category_strict\', None)\n
for movement in movement_list:\n params[\'accounting_transaction.section_uid\'] = \'\'\n
applied_rule = movement.getParentValue()\n if section_category:\n
if applied_rule.isRootAppliedRule():\n params[\'accounting_transaction.section_uid\'] = context.Base_getSectionUidListForSectionCategory(\n
# ???\n section_category, strict_membership=section_category_strict)\n
continue\n
\n \n
invoice_movement = applied_rule.getParentValue()\n # rewrite payment_mode_relative_url to uid\n
invoice = invoice_movement.getExplanationValue()\n payment_mode_relative_url = params.pop(\'payment_mode_relative_url\', None)\n
if invoice.getPortalType() != portal_type:\n if payment_mode_relative_url:\n
# ???\n params[\'default_payment_mode_uid\'] = \\\n
continue\n portal.portal_categories.payment_mode.getCategoryUid(payment_mode_relative_url)\n
\n \n
if invoice not in invoice_list:\n # rewrite currency to uid\n
invoice_list.append(invoice)\n resource = params.pop(\'resource\', None)\n
if resource:\n
params[\'accounting_transaction.resource_uid\'] = getUid(resource)\n
\n \n
return invoice_list\n \n
# XXX wrong name compat\n
# TODO: make it better on search dialog\n
node_list = params.pop(\'node\', None)\n
if node_list:\n
params[\'accounting_transaction_line_node_uid\'] = [\n
getUid(node) for node in node_list]\n
\n
entity = params.pop(\'entity\', None)\n
if entity:\n
params[\'accounting_transaction.mirror_section_uid\'] = getUid(entity)\n
\n
if not params.get(\'operation_date\'):\n
params.pop(\'from_date\', None)\n
params.pop(\'to_date\', None)\n
if from_date or to_date:\n
if from_date:\n
if to_date:\n
params[\'operation_date\'] = dict(\n
query=(from_date, to_date),\n
range=\'minngt\')\n
else:\n
params[\'operation_date\'] = dict(\n
query=(from_date, ),\n
range=\'min\')\n
else:\n
params[\'operation_date\'] = dict(\n
query=(to_date, ),\n
range=\'ngt\')\n
\n
amount = params.pop(\'amount\', \'\')\n
if amount not in (None, \'\'):\n
params[\'accounting_transaction_line_total_price\'] = amount\n
else:\n
amount_range_min = params.pop(\'amount_range_min\', None)\n
amount_range_max = params.pop(\'amount_range_max\', None)\n
if amount_range_min or amount_range_max:\n
if amount_range_min:\n
if amount_range_max:\n
params[\'accounting_transaction_line_total_price\'] = dict(\n
query=(amount_range_min, amount_range_max),\n
range=\'minmax\')\n
else:\n
params[\'accounting_transaction_line_total_price\'] = dict(\n
query=(amount_range_min, ),\n
range=\'min\')\n
else:\n
params[\'accounting_transaction_line_total_price\'] = dict(\n
query=(amount_range_max, ),\n
range=\'max\')\n
\n
\n
creation_date_range_min = params.pop(\'creation_date_range_min\', None)\n
creation_date_range_max = params.pop(\'creation_date_range_max\', None)\n
if creation_date_range_min or creation_date_range_max:\n
if creation_date_range_min:\n
if creation_date_range_max:\n
params[\'creation_date\'] = dict(\n
query=(creation_date_range_min, creation_date_range_max),\n
range=\'minmax\')\n
else:\n
params[\'creation_date\'] = dict(\n
query=(creation_date_range_min, ),\n
range=\'min\')\n
else:\n
params[\'creation_date\'] = dict(\n
query=(creation_date_range_max, ),\n
range=\'max\')\n
\n
select_dict = params.get(\'select_dict\') or dict()\n
select_dict.update(dict(total_debit=None,\n
total_credit=None,\n
reference=None,\n
specific_reference=None,\n
project_uid=None,\n
payment_uid=None,\n
mirror_section_uid=None,\n
operation_date=None))\n
\n
params[\'select_dict\'] = select_dict\n
params.setdefault(\'group_by\', (\'uid\',))\n
\n
return context.searchFolder(**params)\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>movement_list=(), **kw</string> </value> <value> <string>from_date=None, to_date=None, **params</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>DeliveryBuilder_getSimulationPerformanceTestTaxableInvoiceList</string> </value> <value> <string>AccountingTransactionModule_getAccountingTransactionList</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
</item> </item>
<item> <item>
<key> <string>action</string> </key> <key> <string>action</string> </key>
<value> <string></string> </value> <value> <string>Base_doSelect</string> </value>
</item> </item>
<item> <item>
<key> <string>description</string> </key> <key> <string>description</string> </key>
...@@ -88,7 +88,14 @@ ...@@ -88,7 +88,14 @@
<item> <item>
<key> <string>hidden</string> </key> <key> <string>hidden</string> </key>
<value> <value>
<list/> <list>
<string>listbox_total_credit</string>
<string>listbox_total_debit</string>
<string>listbox_accounting_transaction_mirror_section_title</string>
<string>listbox_accounting_transaction_payment_title</string>
<string>listbox_accounting_transaction_project_title</string>
<string>listbox_operation_date</string>
</list>
</value> </value>
</item> </item>
<item> <item>
...@@ -108,7 +115,7 @@ ...@@ -108,7 +115,7 @@
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>SolverProcess_viewSolverDecisionList</string> </value> <value> <string>AccountingTransactionModule_viewAccountingTransactionList</string> </value>
</item> </item>
<item> <item>
<key> <string>method</string> </key> <key> <string>method</string> </key>
...@@ -116,11 +123,11 @@ ...@@ -116,11 +123,11 @@
</item> </item>
<item> <item>
<key> <string>name</string> </key> <key> <string>name</string> </key>
<value> <string>SolverTool_viewSolverProcessList</string> </value> <value> <string>AccountingTransactionModule_viewAccountingTransactionList</string> </value>
</item> </item>
<item> <item>
<key> <string>pt</string> </key> <key> <string>pt</string> </key>
<value> <string>form_view</string> </value> <value> <string>form_list</string> </value>
</item> </item>
<item> <item>
<key> <string>row_length</string> </key> <key> <string>row_length</string> </key>
...@@ -132,7 +139,7 @@ ...@@ -132,7 +139,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Solver Decisions</string> </value> <value> <string>Accounting Transactions</string> </value>
</item> </item>
<item> <item>
<key> <string>unicode_mode</string> </key> <key> <string>unicode_mode</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>listbox_link</string> </value> <value> <string>listbox_accounting_transaction_mirror_section_title</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -239,7 +239,7 @@ ...@@ -239,7 +239,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>listbox_link</string> </value> <value> <string>Mirror Section</string> </value>
</item> </item>
<item> <item>
<key> <string>truncate</string> </key> <key> <string>truncate</string> </key>
...@@ -261,16 +261,13 @@ ...@@ -261,16 +261,13 @@
</record> </record>
<record id="2" aka="AAAAAAAAAAI="> <record id="2" aka="AAAAAAAAAAI=">
<pickle> <pickle>
<tuple> <global name="TALESMethod" module="Products.Formulator.TALESField"/>
<global name="TALESMethod" module="Products.Formulator.TALESField"/>
<tuple/>
</tuple>
</pickle> </pickle>
<pickle> <pickle>
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>python:cell.getPermanentUrl(cell)</string> </value> <value> <string>cell/Brain_getMirrorSectionTitle</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>listbox_author</string> </value> <value> <string>listbox_accounting_transaction_payment_title</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -239,7 +239,7 @@ ...@@ -239,7 +239,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>listbox_author</string> </value> <value> <string>Payment</string> </value>
</item> </item>
<item> <item>
<key> <string>truncate</string> </key> <key> <string>truncate</string> </key>
...@@ -261,19 +261,13 @@ ...@@ -261,19 +261,13 @@
</record> </record>
<record id="2" aka="AAAAAAAAAAI="> <record id="2" aka="AAAAAAAAAAI=">
<pickle> <pickle>
<tuple> <global name="TALESMethod" module="Products.Formulator.TALESField"/>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle> </pickle>
<pickle> <pickle>
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>python: here.getOwnerInfo().get(\'id\', \'\')</string> </value> <value> <string>cell/Brain_getPaymentTitle</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>listbox_author</string> </value> <value> <string>listbox_accounting_transaction_project_title</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -239,7 +239,7 @@ ...@@ -239,7 +239,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>listbox_author</string> </value> <value> <string>Project</string> </value>
</item> </item>
<item> <item>
<key> <string>truncate</string> </key> <key> <string>truncate</string> </key>
...@@ -261,19 +261,13 @@ ...@@ -261,19 +261,13 @@
</record> </record>
<record id="2" aka="AAAAAAAAAAI="> <record id="2" aka="AAAAAAAAAAI=">
<pickle> <pickle>
<tuple> <global name="TALESMethod" module="Products.Formulator.TALESField"/>
<tuple>
<string>Products.Formulator.TALESField</string>
<string>TALESMethod</string>
</tuple>
<none/>
</tuple>
</pickle> </pickle>
<pickle> <pickle>
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>python: here.getOwnerInfo().get(\'id\', \'\')</string> </value> <value> <string>cell/Brain_getProjectTitle</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -10,19 +10,16 @@ ...@@ -10,19 +10,16 @@
<key> <string>delegated_list</string> </key> <key> <string>delegated_list</string> </key>
<value> <value>
<list> <list>
<string>title</string>
<string>css_class</string>
<string>height</string>
<string>width</string>
<string>whitespace_preserve</string>
<string>default</string> <string>default</string>
<string>enabled</string> <string>editable</string>
<string>precision</string>
<string>title</string>
</list> </list>
</value> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>admin_toolbox</string> </value> <value> <string>listbox_total_credit</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -64,12 +61,6 @@ ...@@ -64,12 +61,6 @@
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value> </value>
</item> </item>
<item>
<key> <string>enabled</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -78,6 +69,12 @@ ...@@ -78,6 +69,12 @@
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>precision</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item> <item>
<key> <string>target</string> </key> <key> <string>target</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -90,20 +87,24 @@ ...@@ -90,20 +87,24 @@
<value> <value>
<dictionary> <dictionary>
<item> <item>
<key> <string>css_class</string> </key> <key> <string>default</string> </key>
<value> <string>adminToolbox</string> </value> <value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item> </item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string>my_text_content</string> </value> <value> <string>my_money_quantity</string> </value>
</item> </item>
<item> <item>
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value> <value> <string>Base_viewFieldLibrary</string> </value>
</item> </item>
<item> <item>
<key> <string>height</string> </key> <key> <string>precision</string> </key>
<value> <int>5</int> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>target</string> </key> <key> <string>target</string> </key>
...@@ -111,15 +112,7 @@ ...@@ -111,15 +112,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>Admin</string> </value> <value> <string>Credit</string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item> </item>
</dictionary> </dictionary>
</value> </value>
...@@ -135,7 +128,7 @@ ...@@ -135,7 +128,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>here/admin_toolbox</string> </value> <value> <string>cell/total_credit | cell/AccountingTransaction_getTotalCredit</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
...@@ -148,7 +141,7 @@ ...@@ -148,7 +141,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>not: here/portal_membership/isAnonymousUser</string> </value> <value> <string>request/precision | python:2</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -10,19 +10,16 @@ ...@@ -10,19 +10,16 @@
<key> <string>delegated_list</string> </key> <key> <string>delegated_list</string> </key>
<value> <value>
<list> <list>
<string>title</string>
<string>css_class</string>
<string>height</string>
<string>width</string>
<string>whitespace_preserve</string>
<string>default</string> <string>default</string>
<string>enabled</string> <string>editable</string>
<string>precision</string>
<string>title</string>
</list> </list>
</value> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>website_news</string> </value> <value> <string>listbox_total_debit</string> </value>
</item> </item>
<item> <item>
<key> <string>message_values</string> </key> <key> <string>message_values</string> </key>
...@@ -64,12 +61,6 @@ ...@@ -64,12 +61,6 @@
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value> </value>
</item> </item>
<item>
<key> <string>enabled</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -78,6 +69,12 @@ ...@@ -78,6 +69,12 @@
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
</item> </item>
<item>
<key> <string>precision</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item> <item>
<key> <string>target</string> </key> <key> <string>target</string> </key>
<value> <string></string> </value> <value> <string></string> </value>
...@@ -90,20 +87,24 @@ ...@@ -90,20 +87,24 @@
<value> <value>
<dictionary> <dictionary>
<item> <item>
<key> <string>css_class</string> </key> <key> <string>default</string> </key>
<value> <string>hidden_label</string> </value> <value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>0</int> </value>
</item> </item>
<item> <item>
<key> <string>field_id</string> </key> <key> <string>field_id</string> </key>
<value> <string>my_text_content</string> </value> <value> <string>my_money_quantity</string> </value>
</item> </item>
<item> <item>
<key> <string>form_id</string> </key> <key> <string>form_id</string> </key>
<value> <string>Base_viewFieldLibrary</string> </value> <value> <string>Base_viewFieldLibrary</string> </value>
</item> </item>
<item> <item>
<key> <string>height</string> </key> <key> <string>precision</string> </key>
<value> <int>5</int> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>target</string> </key> <key> <string>target</string> </key>
...@@ -111,15 +112,7 @@ ...@@ -111,15 +112,7 @@
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
<value> <string>ERP5 WebSite News</string> </value> <value> <string>Debit</string> </value>
</item>
<item>
<key> <string>whitespace_preserve</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>width</string> </key>
<value> <int>40</int> </value>
</item> </item>
</dictionary> </dictionary>
</value> </value>
...@@ -135,7 +128,7 @@ ...@@ -135,7 +128,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>python: here.WebSection_viewInlinePageRenderer(here.getLayoutProperty(\'layout_news_reference\'))</string> </value> <value> <string>cell/total_debit | cell/AccountingTransaction_getTotalDebit</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
...@@ -148,7 +141,7 @@ ...@@ -148,7 +141,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_text</string> </key> <key> <string>_text</string> </key>
<value> <string>python:here.getLayoutProperty(\'layout_news_reference\')</string> </value> <value> <string>request/precision | python:2</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
<?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>request = container.REQUEST\n
mirror_section_title = \'\'\n
try:\n
return request.other[context.mirror_section_uid]\n
except KeyError:\n
if context.mirror_section_uid:\n
mirror_section = context.getPortalObject().portal_catalog.getobject(context.mirror_section_uid)\n
if mirror_section is not None:\n
mirror_section_title = mirror_section.getTitle()\n
\n
request.other[context.mirror_section_uid] = mirror_section_title\n
return mirror_section_title\n
</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Brain_getMirrorSectionTitle</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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>request = container.REQUEST\n
payment_title = \'\'\n
try:\n
return request.other[context.payment_uid]\n
except KeyError:\n
if context.payment_uid:\n
payment = context.getPortalObject().portal_catalog.getobject(context.payment_uid)\n
if payment is not None:\n
payment_title = payment.getTitle()\n
\n
request.other[context.payment_uid] = payment_title\n
return payment_title\n
</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Brain_getPaymentTitle</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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>request = container.REQUEST\n
project_title = \'\'\n
try:\n
return request.other[context.project_uid]\n
except KeyError:\n
if context.project_uid:\n
project = context.getPortalObject().portal_catalog.getobject(context.project_uid)\n
if project is not None:\n
project_title = project.getTitle()\n
\n
request.other[context.project_uid] = project_title\n
return project_title\n
</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Brain_getProjectTitle</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -50,10 +50,41 @@ ...@@ -50,10 +50,41 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>movement_list = []\n <value> <string>from Products.PythonScripts.standard import Object\n
for business_path in context.getDeliveryBuilderRelatedValueList():\n total_source_debit = 0\n
movement_list.extend(business_path.getBuildableMovementList())\n total_source_credit = 0\n
return movement_list\n total_destination_debit = 0\n
total_destination_credit = 0\n
total_source_asset_debit = 0\n
total_source_asset_credit = 0\n
total_destination_asset_debit = 0\n
total_destination_asset_credit = 0\n
\n
source_section = context.getSourceSection()\n
destination_section = context.getDestinationSection()\n
for line in context.objectValues(\n
portal_type = context.getPortalAccountingMovementTypeList()) :\n
if line.getSource() and line.getSourceSection() == source_section:\n
total_source_debit += line.getSourceDebit()\n
total_source_asset_debit += line.getSourceInventoriatedTotalAssetDebit()\n
total_source_credit += line.getSourceCredit()\n
total_source_asset_credit += line.getSourceInventoriatedTotalAssetCredit()\n
if line.getDestination()\\\n
and line.getDestinationSection() == destination_section:\n
total_destination_debit += line.getDestinationDebit()\n
total_destination_asset_debit += line.getDestinationInventoriatedTotalAssetDebit()\n
total_destination_credit += line.getDestinationCredit()\n
total_destination_asset_credit += line.getDestinationInventoriatedTotalAssetCredit()\n
\n
return [Object(\n
source_debit=total_source_debit,\n
source_credit=total_source_credit,\n
destination_debit=total_destination_debit,\n
destination_credit=total_destination_credit,\n
source_asset_debit=total_source_asset_debit,\n
source_asset_credit=total_source_asset_credit,\n
destination_asset_debit=total_destination_asset_debit,\n
destination_asset_credit=total_destination_asset_credit,)]\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
...@@ -62,7 +93,7 @@ return movement_list\n ...@@ -62,7 +93,7 @@ return movement_list\n
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>DeliveryBuilder_getSimulationPerformanceTestBuildableMovementList</string> </value> <value> <string>InternalInvoiceTransaction_statInternalTransactionLineList</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
Alternate catalog implementation of accounting module main view
\ No newline at end of file
operation_date
accounting_transaction.operation_date
\ No newline at end of file
erp5_mysql_innodb/z0_drop_accounting_transaction
erp5_mysql_innodb/z0_uncatalog_accounting_transaction
erp5_mysql_innodb/z_catalog_accounting_transaction_list
erp5_mysql_innodb/z_create_accounting_transaction
erp5_mysql_innodb/z_related_accounting_transaction_mirror_section
erp5_mysql_innodb/z_related_accounting_transaction_payment
erp5_mysql_innodb/z_related_accounting_transaction_project
erp5_mysql_innodb/z_related_accounting_transaction_stock_line
\ No newline at end of file
accounting_transaction_mirror_section_title | catalog/title/z_related_accounting_transaction_mirror_section
accounting_transaction_project_title | catalog/title/z_related_accounting_transaction_project
accounting_transaction_payment_title | catalog/title/z_related_accounting_transaction_payment
accounting_transaction_line_node_uid | movement,stock/node_uid/z_related_accounting_transaction_stock_line
accounting_transaction_line_total_price | movement,stock/total_price/z_related_accounting_transaction_stock_line
\ No newline at end of file
erp5_accounting_alternate_catalog
\ No newline at end of file
erp5_accounting_alternate_catalog
\ No newline at end of file
...@@ -50,23 +50,12 @@ ...@@ -50,23 +50,12 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>kw[\'parent_specialise_portal_type\'] = [\'Invoice Transaction Rule\', \'Invoice Transaction Simulation Rule\']\n <value> <string>kw[\'parent_specialise_portal_type\'] = \'Invoice Transaction Rule\', \'Invoice Transaction Simulation Rule\'\n
kw[\'explanation_portal_type\'] = [\'Sale Order\', \'Sale Invoice\', \'Sale Packing List\']\n kw[\'explanation_portal_type\'] = \'Sale Order\', \'Sale Invoice\', \'Sale Packing List\'\n
kw[\'portal_type\'] = \'Simulation Movement\'\n kw[\'grand_parent_simulation_state\'] = \'started\'\n
kw[\'grand_parent_simulation_state\'] = [\'started\']\n
\n \n
kw.update(context.portal_catalog.buildSQLQuery(**kw))\n kw.update(context.portal_catalog.buildSQLQuery(**kw))\n
\n return context.InvoiceTransaction_zSelectMovement(**kw)\n
movement_list = [] \n
for movement in context.InvoiceTransaction_zSelectMovement(**kw) :\n
movement = movement.getObject()\n
if movement.getDeliveryValue() is None :\n
movement_list.append(movement)\n
else :\n
from Products.ERP5Type.Log import log\n
log(script.getId(), "simulation movement %s should not have been selected !" % movement.getPath())\n
\n
return movement_list\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
......
105 106
\ No newline at end of file \ No newline at end of file
...@@ -50,13 +50,12 @@ ...@@ -50,13 +50,12 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>site_list = context.Baobab_getUserAssignedRootSiteList()\n <value> <string>site = context.Baobab_getUserAssignedRootSite()\n
if len(site_list) == 0:\n if site in (\'\', None):\n
from Products.ERP5Type.Message import Message\n from Products.ERP5Type.Message import Message\n
message = Message(domain="ui", message="The owner is not assigned to the right vault.")\n message = Message(domain="ui", message="The owner is not assigned to the right vault.")\n
raise ValueError,message\n raise ValueError,message\n
\n \n
site = site_list[0]\n
\n \n
context.setSource("%s/caveau/auxiliaire/encaisse_des_billets_a_ventiler_et_a_detruire" %(site,))\n context.setSource("%s/caveau/auxiliaire/encaisse_des_billets_a_ventiler_et_a_detruire" %(site,))\n
context.setDestination("%s/caveau/auxiliaire/encaisse_des_billets_ventiles_et_detruits" %(site,))\n context.setDestination("%s/caveau/auxiliaire/encaisse_des_billets_ventiles_et_detruits" %(site,))\n
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5Form" module="Products.ERP5Form.Form"/>
</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>MonetaryReceptionModule_importMonetaryReceptionFromCDAction</string> </value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string>multipart/form-data</string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>hidden</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>hidden</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>my_import_file</string>
</list>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>MonetaryReceptionModule_importMonetaryReceptionFromCDForm</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>CashMovemMonetaryReceptionModule_importMonetaryReceptionFromCDForm</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>Import CD</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>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="FileField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>my_import_file</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>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>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>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>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> <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>80</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>title</string> </key>
<value> <string>Upload</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>user_site = context.Baobab_getUserAssignedRootSiteList()[0]\n <value> <string>user_site = context.Baobab_getUserAssignedRootSite()\n
user_counter = context.Baobab_getUserAssignedSiteList()[0]\n user_counter = context.Baobab_getUserAssignedSiteList()[0]\n
if user_site in (\'\', None) or user_counter in (\'\', None):\n if user_site in (\'\', None) or user_counter in (\'\', None):\n
raise ValueError, "Unable to determine site"\n raise ValueError, "Unable to determine site"\n
......
...@@ -99,7 +99,6 @@ Monetary Recall Line | view ...@@ -99,7 +99,6 @@ Monetary Recall Line | view
Monetary Recall Module | view Monetary Recall Module | view
Monetary Recall | fastinput Monetary Recall | fastinput
Monetary Recall | view Monetary Recall | view
Monetary Reception Module | import
Monetary Reception Module | view Monetary Reception Module | view
Monetary Reception | cahs_container Monetary Reception | cahs_container
Monetary Reception | fastinput Monetary Reception | fastinput
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>transaction = context\n <value> <string>transaction = context\n
\n \n
user_site = context.Baobab_getUserAssignedRootSiteList()[0]\n user_site = context.Baobab_getUserAssignedRootSite()\n
context.setSite(user_site)\n context.setSite(user_site)\n
\n \n
# XXX it might be better to set resource according to source_payment.\n # XXX it might be better to set resource according to source_payment.\n
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
<value> <string>reference_currency = context.Baobab_getPortalReferenceCurrencyID()\n <value> <string>reference_currency = context.Baobab_getPortalReferenceCurrencyID()\n
context.setPriceCurrency(\'currency_module/%s\' %(reference_currency,))\n context.setPriceCurrency(\'currency_module/%s\' %(reference_currency,))\n
context.setCurrencyExchangeType(\'transfer\')\n context.setCurrencyExchangeType(\'transfer\')\n
site = context.Baobab_getUserAssignedRootSiteList()[0]\n site = context.Baobab_getUserAssignedRootSite()\n
context.setSource(site)\n context.setSource(site)\n
</string> </value> </string> </value>
</item> </item>
......
...@@ -84,7 +84,7 @@ else:\n ...@@ -84,7 +84,7 @@ else:\n
else:\n else:\n
check_price = check_operation_line.getPrice()\n check_price = check_operation_line.getPrice()\n
bank_account_dict[account_path] = check_price\n bank_account_dict[account_path] = check_price\n
error = context.BankAccount_checkBalance(account_path, check_operation_line.getPrice())\n error = obj.BankAccount_checkBalance(account_path, check_operation_line.getPrice())\n
\n \n
if error[\'error_code\'] == 1:\n if error[\'error_code\'] == 1:\n
msg = Message(domain=\'ui\', message="Bank account $account is not sufficient on line $line.",\n msg = Message(domain=\'ui\', message="Bank account $account is not sufficient on line $line.",\n
......
...@@ -64,7 +64,7 @@ for check_operation_line in transaction.objectValues(portal_type=\'Check Operati ...@@ -64,7 +64,7 @@ for check_operation_line in transaction.objectValues(portal_type=\'Check Operati
bank_account_dict[account_path] = account_value\n bank_account_dict[account_path] = account_value\n
amount_dict[account_path] = amount_dict.get(account_path, 0) + check_operation_line.getPrice()\n amount_dict[account_path] = amount_dict.get(account_path, 0) + check_operation_line.getPrice()\n
for account_path, amount in amount_dict.items():\n for account_path, amount in amount_dict.items():\n
error = context.BankAccount_checkBalance(account_path, amount)[\'error_code\']\n error = transaction.BankAccount_checkBalance(account_path, amount)[\'error_code\']\n
source_bank_account = bank_account_dict[account_path]\n source_bank_account = bank_account_dict[account_path]\n
if error == 1:\n if error == 1:\n
raise ValidationFailed, (Message(domain=\'ui\', message="Bank account $account is not sufficient.",\n raise ValidationFailed, (Message(domain=\'ui\', message="Bank account $account is not sufficient.",\n
......
...@@ -70,6 +70,14 @@ for line in line_list:\n ...@@ -70,6 +70,14 @@ for line in line_list:\n
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>state_change, **kw</string> </value> <value> <string>state_change, **kw</string> </value>
</item> </item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>updateCheckAndCheckbook</string> </value> <value> <string>updateCheckAndCheckbook</string> </value>
......
...@@ -69,6 +69,14 @@ for line in line_list:\n ...@@ -69,6 +69,14 @@ for line in line_list:\n
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>state_change, **kw</string> </value> <value> <string>state_change, **kw</string> </value>
</item> </item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>updateCheckAndCheckbook</string> </value> <value> <string>updateCheckAndCheckbook</string> </value>
......
...@@ -123,7 +123,7 @@ if total_debit>0:\n ...@@ -123,7 +123,7 @@ if total_debit>0:\n
context.BankingOperationLine_index(line)\n context.BankingOperationLine_index(line)\n
\n \n
# Test if the account balance is sufficient.\n # Test if the account balance is sufficient.\n
error = context.BankAccount_checkBalance(bank_account.getRelativeUrl(), price)\n error = transaction.BankAccount_checkBalance(bank_account.getRelativeUrl(), price)\n
if error[\'error_code\'] == 1:\n if error[\'error_code\'] == 1:\n
msg = Message(domain=\'ui\', message="Bank account is not sufficient.")\n msg = Message(domain=\'ui\', message="Bank account is not sufficient.")\n
raise ValidationFailed, (msg,)\n raise ValidationFailed, (msg,)\n
......
497 498
\ No newline at end of file \ No newline at end of file
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
# Table: \'catalog\'\n # Table: \'catalog\'\n
#\n #\n
CREATE TABLE `catalog` (\n CREATE TABLE `catalog` (\n
`uid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,\n `uid` BIGINT UNSIGNED NOT NULL,\n
`security_uid` INT UNSIGNED,\n `security_uid` INT UNSIGNED,\n
`path` varchar(255) NOT NULL default \'\',\n `path` varchar(255) NOT NULL default \'\',\n
`owner` varchar(32) NOT NULL default \'\',\n `owner` varchar(32) NOT NULL default \'\',\n
......
...@@ -78,7 +78,11 @@ ...@@ -78,7 +78,11 @@
KEY `destination_section_uid` (`destination_section_uid`),\n KEY `destination_section_uid` (`destination_section_uid`),\n
KEY `resource_uid` (`resource_uid`),\n KEY `resource_uid` (`resource_uid`),\n
KEY `source_reference` (`source_payment_reference`),\n KEY `source_reference` (`source_payment_reference`),\n
KEY `destination_payment_reference` (`destination_payment_reference`)\n KEY `destination_payment_reference` (`destination_payment_reference`),\n
KEY `recoup_date` (`recoup_date`),\n
KEY `source_payment_internal_bank_account_number` (`source_payment_internal_bank_account_number`),\n
KEY `destination_payment_internal_bank_account_number` (`destination_payment_internal_bank_account_number`),\n
KEY `source_total_asset_price` (`source_total_asset_price`)\n
) ENGINE=InnoDB\n ) ENGINE=InnoDB\n
</string> </value> </string> </value>
</item> </item>
......
...@@ -50,28 +50,20 @@ ...@@ -50,28 +50,20 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string># get the current logged user root site (agency)\n <value> <string># Serialize operations for this bank account\n
\n # Lookup pending tagged indexations\n
valid_assignment_list = context.Baobab_getUserAssignmentList(user_id=user_id)\n tag = context.BankAccount_getMessageTag(context)\n
\n if context.getPortalObject().portal_activities.countMessageWithTag(tag):\n
site_list = []\n raise ValueError("There are operations pending for this account that prevent form calculating its position. Please try again later.")\n
for a in valid_assignment_list:\n # Create a tagged indexation\n
new_site = a.getSiteValue()\n context.activate(tag=tag).getId()\n
while new_site.getVaultType()!=\'site\':\n # Serialize at ZODB level\n
new_site = new_site.getParentValue()\n context.serialize()\n
if object:\n
if new_site not in site_list:\n
site_list.append(new_site)\n
else:\n
site_url = new_site.getRelativeUrl()\n
if site_url not in site_list:\n
site_list.append(site_url)\n
return site_list\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>user_id=None, object=0, **kw</string> </value> <value> <string></string> </value>
</item> </item>
<item> <item>
<key> <string>_proxy_roles</string> </key> <key> <string>_proxy_roles</string> </key>
...@@ -83,7 +75,7 @@ return site_list\n ...@@ -83,7 +75,7 @@ return site_list\n
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>Baobab_getUserAssignedRootSiteList</string> </value> <value> <string>BankAccount_serialize</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -60,7 +60,7 @@ from Products.ERP5Type.Message import Message\n ...@@ -60,7 +60,7 @@ from Products.ERP5Type.Message import Message\n
from Products.DCWorkflow.DCWorkflow import ValidationFailed\n from Products.DCWorkflow.DCWorkflow import ValidationFailed\n
\n \n
if site is None:\n if site is None:\n
root_site_url = context.Baobab_getUserAssignedRootSiteList()[0]\n root_site_url = context.Baobab_getUserAssignedRootSite()\n
site = context.portal_categories.restrictedTraverse(root_site_url)\n site = context.portal_categories.restrictedTraverse(root_site_url)\n
\n \n
resource_uid_list = [x.uid for x in context.currency_cash_module.searchFolder()]\n resource_uid_list = [x.uid for x in context.currency_cash_module.searchFolder()]\n
......
...@@ -50,14 +50,13 @@ ...@@ -50,14 +50,13 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>if isinstance(site, str):\n <value> <string>portal = context.getPortalObject()\n
site = context.portal_categories.site.restrictedTraverse(site)\n if isinstance(site, str):\n
orga_id = "site_%3s" %(site.getCodification())\n site = portal.portal_categories.site.restrictedTraverse(site)\n
organisation = context.organisation_module[orga_id]\n organisation = portal.organisation_module[\'site_%3s\' % (site.getCodification(), )]\n
\n
account_list = [x for x in organisation.objectValues(portal_type=\'Bank Account\') if x.getValidationState() == \'valid\']\n account_list = [x for x in organisation.objectValues(portal_type=\'Bank Account\') if x.getValidationState() == \'valid\']\n
if len(account_list)!=1:\n if len(account_list) != 1:\n
raise ValueError, \'Must not get %d account for the organisation %s\' % (len(account_list), organisation.getTitleOrId())\n raise ValueError(\'Must not get %d account for the organisation %s\' % (len(account_list), organisation.getTitleOrId()))\n
return account_list[0]\n return account_list[0]\n
</string> </value> </string> </value>
</item> </item>
...@@ -65,6 +64,14 @@ return account_list[0]\n ...@@ -65,6 +64,14 @@ return account_list[0]\n
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>site=None</string> </value> <value> <string>site=None</string> </value>
</item> </item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>Baobab_getAccountForSite</string> </value> <value> <string>Baobab_getAccountForSite</string> </value>
......
...@@ -57,7 +57,7 @@ if site is None:\n ...@@ -57,7 +57,7 @@ if site is None:\n
if getattr(context,\'getSiteValue\',None) is not None:\n if getattr(context,\'getSiteValue\',None) is not None:\n
site = context.getSiteValue()\n site = context.getSiteValue()\n
if site is None:\n if site is None:\n
root_site_url = context.Baobab_getUserAssignedRootSiteList()[0]\n root_site_url = context.Baobab_getUserAssignedRootSite()\n
site = context.portal_categories.restrictedTraverse(root_site_url)\n site = context.portal_categories.restrictedTraverse(root_site_url)\n
\n \n
resource_uid_list = [x.uid for x in context.currency_cash_module.searchFolder()]\n resource_uid_list = [x.uid for x in context.currency_cash_module.searchFolder()]\n
......
...@@ -61,11 +61,11 @@ if user_id is None:\n ...@@ -61,11 +61,11 @@ if user_id is None:\n
\n \n
def getFunctionList(user_id=user_id):\n def getFunctionList(user_id=user_id):\n
\n \n
valid_assignment_list = context.Baobab_getUserAssignmentList(user_id=user_id)\n valid_assignment = context.Baobab_getUserAssignment(user_id=user_id)\n
\n \n
function_list = []\n function_list = []\n
for a in valid_assignment_list:\n if valid_assignment != None:\n
new_function_list = a.getFunctionList()\n new_function_list = valid_assignment.getFunctionList()\n
if len(new_function_list)>0:\n if len(new_function_list)>0:\n
function_list.extend(new_function_list)\n function_list.extend(new_function_list)\n
return function_list\n return function_list\n
......
...@@ -59,11 +59,11 @@ if user_id is None:\n ...@@ -59,11 +59,11 @@ if user_id is None:\n
\n \n
def getGroupList(user_id=user_id):\n def getGroupList(user_id=user_id):\n
\n \n
valid_assignment_list = context.Baobab_getUserAssignmentList(user_id=user_id)\n valid_assignment = context.Baobab_getUserAssignment(user_id=user_id)\n
\n \n
group_list = []\n group_list = []\n
for a in valid_assignment_list:\n if valid_assignment != None:\n
new_group = a.getGroup()\n new_group = valid_assignment.getGroup()\n
if not new_group.startswith(\'group\'):\n if not new_group.startswith(\'group\'):\n
new_group=\'group/%s\' % new_group\n new_group=\'group/%s\' % new_group\n
if new_group not in (\'\', None):\n if new_group not in (\'\', None):\n
......
...@@ -50,21 +50,29 @@ ...@@ -50,21 +50,29 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string>module = context.getPortalObject().business_process_module\n <value> <string>new_site = context.Baobab_getUserAssignment(user_id=user_id).getSiteValue()\n
business_process = module.test_bp\n while new_site.getVaultType() != \'site\':\n
invoice_business_path = business_process.invoice\n new_site = new_site.getParentValue()\n
invoice_business_path.BusinessPath_build()\n if not object:\n
tax_business_path = business_process.tax\n new_site = new_site.getRelativeUrl()\n
tax_business_path.BusinessPath_build()\n return new_site\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>**kw</string> </value> <value> <string>user_id=None, object=False</string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>Alarm_activateTestInvoiceBuild</string> </value> <value> <string>Baobab_getUserAssignedRootSite</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -59,11 +59,11 @@ if user_id is None:\n ...@@ -59,11 +59,11 @@ if user_id is None:\n
\n \n
def getSiteList(user_id=user_id):\n def getSiteList(user_id=user_id):\n
\n \n
valid_assignment_list = context.Baobab_getUserAssignmentList(user_id=user_id)\n valid_assignment = context.Baobab_getUserAssignment(user_id=user_id)\n
\n \n
site_list = []\n site_list = []\n
for a in valid_assignment_list:\n if valid_assignment != None:\n
new_site = a.getSite()\n new_site = valid_assignment.getSite()\n
if not new_site.startswith(\'site\'):\n if not new_site.startswith(\'site\'):\n
new_site=\'site/%s\' % new_site\n new_site=\'site/%s\' % new_site\n
if new_site not in (\'\', None):\n if new_site not in (\'\', None):\n
......
...@@ -52,35 +52,25 @@ ...@@ -52,35 +52,25 @@
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string encoding="cdata"><![CDATA[
# get the current logged user site\n
if user_id is None:\n if user_id is None:\n
login = context.portal_membership.getAuthenticatedMember().getUserName()\n user_id = context.portal_membership.getAuthenticatedMember().getUserName()\n
else:\n person_list = context.acl_users.erp5_users.getUserByLogin(user_id)\n
login = user_id\n if not person_list:\n
persons = context.acl_users.erp5_users.getUserByLogin(login)\n return None\n
\n assignment_list = person_list[0].contentValues(filter={\'portal_type\': \'Assignment\'})\n
if len(persons) == 0:\n if not assignment_list:\n
#context.log(\'Baobab_getUserAssignementList\', \'Person %s not found\' %(login))\n return None\n
return []\n valid_assignment = None\n
else:\n now = DateTime()\n
#person = persons[0].getObject()\n for assignment in assignment_list:\n
person = persons[0]\n if assignment.getValidationState() == \'open\':\n
\n stop = assignment.getStopDate()\n
assignment_list = person.contentValues(filter={\'portal_type\': \'Assignment\'})\n start = assignment.getStartDate()\n
\n if (stop is None or stop > now) and (start is None or start < now):\n
if len(assignment_list) == 0:\n if valid_assignment is not None:\n
return []\n raise ValueError(\'There are too many valid assignments for user %r\' % (user_id, ))\n
\n valid_assignment = assignment\n
valid_assignment_list = []\n return valid_assignment\n
#context.log("Baobab_getUserAssignmentList", "assignment_list = %s" %(assignment_list,))\n
for a in assignment_list:\n
if a.getValidationState() == \'open\':\n
stop = a.getStopDate()\n
start = a.getStartDate()\n
if (stop > DateTime() or stop == None) and (start < DateTime() or start == None): \n
valid_assignment_list.append(a)\n
\n
return valid_assignment_list\n
]]></string> </value> ]]></string> </value>
...@@ -99,7 +89,7 @@ return valid_assignment_list\n ...@@ -99,7 +89,7 @@ return valid_assignment_list\n
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
<value> <string>Baobab_getUserAssignmentList</string> </value> <value> <string>Baobab_getUserAssignment</string> </value>
</item> </item>
</dictionary> </dictionary>
</pickle> </pickle>
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
user_id = context.portal_membership.getAuthenticatedMember().getUserName()\n user_id = context.portal_membership.getAuthenticatedMember().getUserName()\n
\n \n
def getUserSiteUid(user_id):\n def getUserSiteUid(user_id):\n
return context.Baobab_getUserAssignedRootSiteList(user_id=user_id, object=1)[0].getSiteUid()\n return context.Baobab_getUserAssignedRootSite(user_id=user_id, object=1).getSiteUid()\n
\n \n
\n \n
getUserSiteUid = CachingMethod(getUserSiteUid, id=\'Baobab_getUserUserSiteUid\', cache_factory=\'erp5_ui_medium\')\n getUserSiteUid = CachingMethod(getUserSiteUid, id=\'Baobab_getUserUserSiteUid\', cache_factory=\'erp5_ui_medium\')\n
......
1023 1025
\ No newline at end of file \ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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