Commit b63c55f5 authored by Grégory Wisniewski's avatar Grégory Wisniewski

Add custom Resource_zGetInventoryList from baobab_core.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@37365 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 3a652234
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<global name="SQL" module="Products.ZSQLMethods.SQL"/>
<tuple/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Use_Database_Methods_Permission</string> </key>
<value>
<list>
<string>Member</string>
</list>
</value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_arg</string> </key>
<value>
<object>
<klass>
<global name="Args" module="Shared.DC.ZRDB.Aqueduct"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_data</string> </key>
<value>
<dictionary>
<item>
<key> <string>from_table_list</string> </key>
<value>
<dictionary>
<item>
<key> <string>type</string> </key>
<value> <string>list</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>group_by_expression</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>ignore_variation</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>input_simulation_state</string> </key>
<value>
<dictionary>
<item>
<key> <string>type</string> </key>
<value> <string>list</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>inventory_list</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>node_index</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>omit_input</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>omit_output</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>omit_simulation</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>order_by_expression</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>output_simulation_state</string> </key>
<value>
<dictionary>
<item>
<key> <string>type</string> </key>
<value> <string>list</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>payment_index</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>precision</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>section_filtered</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>selection_domain</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>selection_report</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>standardize</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>statistic</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>stock_table_id</string> </key>
<value>
<dictionary>
<item>
<key> <string>default</string> </key>
<value> <string>stock</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>where_expression</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>_keys</string> </key>
<value>
<list>
<string>from_table_list</string>
<string>where_expression</string>
<string>order_by_expression</string>
<string>group_by_expression</string>
<string>selection_domain</string>
<string>selection_report</string>
<string>ignore_variation</string>
<string>standardize</string>
<string>omit_simulation</string>
<string>section_filtered</string>
<string>omit_input</string>
<string>omit_output</string>
<string>input_simulation_state</string>
<string>output_simulation_state</string>
<string>precision</string>
<string>inventory_list</string>
<string>statistic</string>
<string>stock_table_id</string>
<string>node_index</string>
<string>payment_index</string>
</list>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>allow_simple_one_argument_traversal</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>arguments_src</string> </key>
<value> <string>from_table_list:list\r\n
where_expression\r\n
order_by_expression\r\n
group_by_expression\r\n
selection_domain\r\n
selection_report\r\n
ignore_variation\r\n
standardize\r\n
omit_simulation\r\n
section_filtered\r\n
omit_input\r\n
omit_output\r\n
input_simulation_state:list\r\n
output_simulation_state:list\r\n
precision\r\n
inventory_list\r\n
statistic\r\n
stock_table_id=stock\r\n
node_index\r\n
payment_index</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>ERP5.InventoryBrain</string> </value>
</item>
<item>
<key> <string>class_name_</string> </key>
<value> <string>InventoryListBrain</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>Resource_zGetInventoryList</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>0</int> </value>
</item>
<item>
<key> <string>src</string> </key>
<value> <string encoding="cdata"><![CDATA[
SELECT\n
<dtml-if expr="precision is not None">\n
SUM(ROUND(<dtml-var stock_table_id>.quantity, <dtml-var precision>)) AS inventory,\n
SUM(ROUND(<dtml-var stock_table_id>.quantity, <dtml-var precision>)) AS total_quantity,\n
SUM(ROUND(<dtml-var stock_table_id>.total_price, <dtml-var precision>)) AS total_price\n
<dtml-else>\n
SUM(<dtml-var stock_table_id>.quantity) AS inventory,\n
SUM(<dtml-var stock_table_id>.quantity) AS total_quantity,\n
SUM(<dtml-var stock_table_id>.total_price) AS total_price\n
</dtml-if>\n
<dtml-if inventory_list>\n
,node.title AS node_title,\n
node.uid AS node_uid,\n
node.relative_url AS node_relative_url,\n
section.title AS section_title,\n
section.uid AS section_uid,\n
section.relative_url AS section_relative_url,\n
resource.title AS resource_title,\n
resource.relative_url AS resource_relative_url,\n
<dtml-var stock_table_id>.variation_text AS variation_text,\n
<dtml-var stock_table_id>.sub_variation_text AS sub_variation_text,\n
<dtml-var stock_table_id>.resource_uid AS resource_uid,\n
<dtml-var stock_table_id>.uid AS stock_uid,\n
<dtml-var stock_table_id>.date as date,\n
<dtml-var stock_table_id>.simulation_state as simulation_state,\n
<dtml-var stock_table_id>.mirror_section_uid as mirror_section_uid,\n
<dtml-var stock_table_id>.payment_uid as payment_uid,\n
<dtml-var stock_table_id>.mirror_node_uid as mirror_node_uid,\n
<dtml-if expr="stock_table_id == \'stock\'"> \n
<dtml-var stock_table_id>.explanation_uid as explanation_uid,\n
</dtml-if>\n
catalog.path as path\n
</dtml-if>\n
<dtml-if statistic>\n
,\n
COUNT(DISTINCT node.title) AS node_title,\n
COUNT(DISTINCT node.relative_url) AS node_relative_url,\n
COUNT(DISTINCT section.title) AS section_title,\n
COUNT(DISTINCT section.relative_url) AS section_relative_url,\n
COUNT(DISTINCT resource.title) AS resource_title,\n
COUNT(DISTINCT resource.relative_url) AS resource_relative_url,\n
COUNT(DISTINCT <dtml-var stock_table_id>.variation_text) AS variation_text,\n
MAX(<dtml-var stock_table_id>.resource_uid) AS resource_uid,\n
COUNT(DISTINCT <dtml-var stock_table_id>.uid) AS stock_uid,\n
MAX(<dtml-var stock_table_id>.date) AS date\n
</dtml-if>\n
\n
\n
FROM\n
<dtml-var stock_table_id> <dtml-if node_index> use index(node_resource_variation_state_date)</dtml-if><dtml-if payment_index>use index(resource_payment_state_date)</dtml-if>\n
<dtml-if section_filtered> INNER <dtml-else> LEFT </dtml-if> \n
JOIN catalog AS section ON (section.uid = <dtml-var stock_table_id>.section_uid)\n
<dtml-in prefix="table" expr="from_table_list"> \n
<dtml-if expr="table_key != stock_table_id">\n
, <dtml-var table_item> AS <dtml-var table_key>\n
</dtml-if>\n
</dtml-in>\n
<dtml-if selection_domain>, <dtml-var "portal_selections.buildSQLJoinExpressionFromDomainSelection(selection_domain)"> </dtml-if>\n
<dtml-if selection_report>, <dtml-var "portal_selections.buildSQLJoinExpressionFromDomainSelection(selection_report)"> </dtml-if>\n
, catalog as node, catalog as resource\n
\n
WHERE\n
1 = 1\n
<dtml-if where_expression>\n
AND <dtml-var where_expression>\n
</dtml-if>\n
\n
AND node.uid = <dtml-var stock_table_id>.node_uid\n
AND resource.uid = <dtml-var stock_table_id>.resource_uid\n
\n
<dtml-if omit_simulation>\n
AND catalog.portal_type != \'Simulation Movement\'\n
</dtml-if>\n
\n
<dtml-if selection_domain>\n
AND <dtml-var "portal_selections.buildSQLExpressionFromDomainSelection(selection_domain, join_table=stock_table_id, join_column=\'node_uid\')">\n
</dtml-if>\n
<dtml-if selection_report>\n
AND <dtml-var "portal_selections.buildSQLExpressionFromDomainSelection(selection_report, strict_membership=1)">\n
</dtml-if>\n
<dtml-if group_by_expression>\n
GROUP BY\n
<dtml-var group_by_expression>\n
</dtml-if>\n
<dtml-if order_by_expression>\n
ORDER BY\n
<dtml-var order_by_expression>\n
</dtml-if>\n
]]></string> </value>
</item>
<item>
<key> <string>template</string> </key>
<value>
<object>
<klass>
<global name="__newobj__" module="copy_reg"/>
</klass>
<tuple>
<global name="SQL" module="Shared.DC.ZRDB.DA"/>
</tuple>
<state>
<dictionary>
<item>
<key> <string>__name__</string> </key>
<value> <string encoding="cdata"><![CDATA[
<string>
]]></string> </value>
</item>
<item>
<key> <string>_vars</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>globals</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>raw</string> </key>
<value> <string encoding="cdata"><![CDATA[
SELECT\n
<dtml-if expr="precision is not None">\n
SUM(ROUND(<dtml-var stock_table_id>.quantity, <dtml-var precision>)) AS inventory,\n
SUM(ROUND(<dtml-var stock_table_id>.quantity, <dtml-var precision>)) AS total_quantity,\n
SUM(ROUND(<dtml-var stock_table_id>.total_price, <dtml-var precision>)) AS total_price\n
<dtml-else>\n
SUM(<dtml-var stock_table_id>.quantity) AS inventory,\n
SUM(<dtml-var stock_table_id>.quantity) AS total_quantity,\n
SUM(<dtml-var stock_table_id>.total_price) AS total_price\n
</dtml-if>\n
<dtml-if inventory_list>\n
,node.title AS node_title,\n
node.uid AS node_uid,\n
node.relative_url AS node_relative_url,\n
section.title AS section_title,\n
section.uid AS section_uid,\n
section.relative_url AS section_relative_url,\n
resource.title AS resource_title,\n
resource.relative_url AS resource_relative_url,\n
<dtml-var stock_table_id>.variation_text AS variation_text,\n
<dtml-var stock_table_id>.sub_variation_text AS sub_variation_text,\n
<dtml-var stock_table_id>.resource_uid AS resource_uid,\n
<dtml-var stock_table_id>.uid AS stock_uid,\n
<dtml-var stock_table_id>.date as date,\n
<dtml-var stock_table_id>.simulation_state as simulation_state,\n
<dtml-var stock_table_id>.mirror_section_uid as mirror_section_uid,\n
<dtml-var stock_table_id>.payment_uid as payment_uid,\n
<dtml-var stock_table_id>.mirror_node_uid as mirror_node_uid,\n
<dtml-if expr="stock_table_id == \'stock\'"> \n
<dtml-var stock_table_id>.explanation_uid as explanation_uid,\n
</dtml-if>\n
catalog.path as path\n
</dtml-if>\n
<dtml-if statistic>\n
,\n
COUNT(DISTINCT node.title) AS node_title,\n
COUNT(DISTINCT node.relative_url) AS node_relative_url,\n
COUNT(DISTINCT section.title) AS section_title,\n
COUNT(DISTINCT section.relative_url) AS section_relative_url,\n
COUNT(DISTINCT resource.title) AS resource_title,\n
COUNT(DISTINCT resource.relative_url) AS resource_relative_url,\n
COUNT(DISTINCT <dtml-var stock_table_id>.variation_text) AS variation_text,\n
MAX(<dtml-var stock_table_id>.resource_uid) AS resource_uid,\n
COUNT(DISTINCT <dtml-var stock_table_id>.uid) AS stock_uid,\n
MAX(<dtml-var stock_table_id>.date) AS date\n
</dtml-if>\n
\n
\n
FROM\n
<dtml-var stock_table_id> <dtml-if node_index> use index(node_resource_variation_state_date)</dtml-if><dtml-if payment_index>use index(resource_payment_state_date)</dtml-if>\n
<dtml-if section_filtered> INNER <dtml-else> LEFT </dtml-if> \n
JOIN catalog AS section ON (section.uid = <dtml-var stock_table_id>.section_uid)\n
<dtml-in prefix="table" expr="from_table_list"> \n
<dtml-if expr="table_key != stock_table_id">\n
, <dtml-var table_item> AS <dtml-var table_key>\n
</dtml-if>\n
</dtml-in>\n
<dtml-if selection_domain>, <dtml-var "portal_selections.buildSQLJoinExpressionFromDomainSelection(selection_domain)"> </dtml-if>\n
<dtml-if selection_report>, <dtml-var "portal_selections.buildSQLJoinExpressionFromDomainSelection(selection_report)"> </dtml-if>\n
, catalog as node, catalog as resource\n
\n
WHERE\n
1 = 1\n
<dtml-if where_expression>\n
AND <dtml-var where_expression>\n
</dtml-if>\n
\n
AND node.uid = <dtml-var stock_table_id>.node_uid\n
AND resource.uid = <dtml-var stock_table_id>.resource_uid\n
\n
<dtml-if omit_simulation>\n
AND catalog.portal_type != \'Simulation Movement\'\n
</dtml-if>\n
\n
<dtml-if selection_domain>\n
AND <dtml-var "portal_selections.buildSQLExpressionFromDomainSelection(selection_domain, join_table=stock_table_id, join_column=\'node_uid\')">\n
</dtml-if>\n
<dtml-if selection_report>\n
AND <dtml-var "portal_selections.buildSQLExpressionFromDomainSelection(selection_report, strict_membership=1)">\n
</dtml-if>\n
<dtml-if group_by_expression>\n
GROUP BY\n
<dtml-var group_by_expression>\n
</dtml-if>\n
<dtml-if order_by_expression>\n
ORDER BY\n
<dtml-var order_by_expression>\n
</dtml-if>\n
]]></string> </value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
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