From 6c3453604293e9cc86c4ddbda6b591b361131d3c Mon Sep 17 00:00:00 2001 From: Rafael Monnerat <rafael@nexedi.com> Date: Fri, 30 Mar 2012 07:11:49 -0300 Subject: [PATCH] Configure Simulation Related Alarms Initial code is almost the same as the one provided by erp5_simulation_test in order to preserver initial compatibility --- ...Alarm_buildConfiguratorStandardInvoice.xml | 102 ++++++++++++++++++ ...m_buildConfiguratorStandardPackingList.xml | 99 +++++++++++++++++ .../BusinessConfiguration_setupSimulation.xml | 17 +++ bt5/erp5_configurator_standard/bt/revision | 2 +- 4 files changed, 219 insertions(+), 1 deletion(-) create mode 100644 bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardInvoice.xml create mode 100644 bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardPackingList.xml diff --git a/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardInvoice.xml b/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardInvoice.xml new file mode 100644 index 0000000000..80fbad954f --- /dev/null +++ b/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardInvoice.xml @@ -0,0 +1,102 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_body</string> </key> + <value> <string>"""\n + This script were copied from erp5_simulation_test, and it must be\n + improved/adapted for configurator purpose.\n +"""\n +\n +# This script is a sample of alarm script that invokes builders.\n +# You may need to modify builder ID\'s according to your application.\n +\n +portal = context.getPortalObject()\n +delivery_tool = portal.portal_deliveries\n +\n +builder_id_list = (\n + \'purchase_invoice_builder\',\n + \'purchase_invoice_transaction_trade_model_builder\',\n + \'purchase_invoice_transaction_builder\',\n + \'sale_invoice_builder\',\n + \'sale_invoice_transaction_trade_model_builder\',\n + \'sale_invoice_transaction_builder\',\n +)\n +\n +for builder_id in builder_id_list:\n + builder = getattr(delivery_tool, builder_id, None)\n + if builder is None:\n + continue\n + delivery_portal_type = builder.getDeliveryPortalType()\n + serialization_tag = \'build:%s\' % delivery_portal_type\n + index_tag = \'index:%s\' % delivery_portal_type\n + after_tag = index_tag\n + after_method_id = (\'recursiveImmediateReindexObject\',\n + \'immediateReindexObject\',\n + \'Delivery_updateAppliedRule\')\n + activate_kw = dict(tag=index_tag)\n + builder.activate(\n + serialization_tag=serialization_tag,\n + after_tag=after_tag,\n + after_method_id=after_method_id).build(activate_kw=activate_kw)\n +</string> </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>Alarm_buildConfiguratorStandardInvoice</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardPackingList.xml b/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardPackingList.xml new file mode 100644 index 0000000000..460b9b9285 --- /dev/null +++ b/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/Alarm_buildConfiguratorStandardPackingList.xml @@ -0,0 +1,99 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_body</string> </key> + <value> <string>"""\n + This script were copied from erp5_simulation_test, and it must be\n + improved/adapted for configurator purpose.\n +"""\n +\n +# This script is a sample of alarm script that invokes builders.\n +# You may need to modify builder ID\'s according to your application.\n +\n +portal = context.getPortalObject()\n +delivery_tool = portal.portal_deliveries\n +\n +builder_id_list = (\n + \'internal_packing_list_builder\',\n + \'sale_packing_list_builder\',\n + \'purchase_packing_list_builder\',\n +)\n +\n +for builder_id in builder_id_list:\n + builder = getattr(delivery_tool, builder_id, None)\n + if builder is None:\n + continue\n + delivery_portal_type = builder.getDeliveryPortalType()\n + serialization_tag = \'build:%s\' % delivery_portal_type\n + index_tag = \'index:%s\' % delivery_portal_type\n + after_tag = index_tag\n + after_method_id = (\'recursiveImmediateReindexObject\',\n + \'immediateReindexObject\',\n + \'Delivery_updateAppliedRule\')\n + activate_kw = dict(tag=index_tag)\n + builder.activate(\n + serialization_tag=serialization_tag,\n + after_tag=after_tag,\n + after_method_id=after_method_id).build(activate_kw=activate_kw)\n +</string> </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>Alarm_buildConfiguratorStandardPackingList</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/BusinessConfiguration_setupSimulation.xml b/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/BusinessConfiguration_setupSimulation.xml index 5a574f90fd..2af6f29a2e 100644 --- a/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/BusinessConfiguration_setupSimulation.xml +++ b/bt5/erp5_configurator_standard/SkinTemplateItem/portal_skins/erp5_configurator_standard/BusinessConfiguration_setupSimulation.xml @@ -75,6 +75,23 @@ for rule_dict in rule_simulation_list:\n id = rule_dict[\'rule_template_id\'],\n reference = rule_dict[\'reference\'],\n trade_phase = rule_dict[\'trade_phase\'])\n +\n +# Create alarms to launch builders. \n +configuration_save.addConfigurationItem("Alarm Configurator Item",\n + title="Invoice Builder Alarm",\n + id="invoice_builder_alarm",\n + periodicity_minute_frequency=5,\n + # A clever solution should be provided for the script\n + # bellow\n + active_sense_method_id="Alarm_buildConfiguratorStandardInvoice")\n + \n +configuration_save.addConfigurationItem("Alarm Configurator Item",\n + title="Packing List Builder Alarm",\n + id="packing_list_builder_alarm",\n + periodicity_minute_frequency=5,\n + # A clever solution should be provided for the script\n + # bellow\n + active_sense_method_id="Alarm_buildConfiguratorStandardPackingList")\n </string> </value> </item> <item> diff --git a/bt5/erp5_configurator_standard/bt/revision b/bt5/erp5_configurator_standard/bt/revision index b697ae4122..748e6f1af5 100644 --- a/bt5/erp5_configurator_standard/bt/revision +++ b/bt5/erp5_configurator_standard/bt/revision @@ -1 +1 @@ -635 \ No newline at end of file +637 \ No newline at end of file -- 2.30.9