[Erp5-report] r36971 luke - in /erp5/trunk: bt5/erp5_trade/PortalTypeWorkflowChainTemplateI...
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Jul 8 11:13:47 CEST 2010
Author: luke
Date: Thu Jul 8 11:13:38 2010
New Revision: 36971
URL: http://svn.erp5.org?rev=36971&view=rev
Log:
- use Interactor instead of Interaction workflow
Fact of reindexing subobjects when object is indexed is not connected with
particular portal type, but with group of objects.
With this interactor it is possible to move away from spaghetti code in
classes which are overriding reindexObject to do only one thing - reindex
subobjects.
Added:
erp5/trunk/products/ERP5/Interactor/RecursiveReindexInteractor.py
Modified:
erp5/trunk/bt5/erp5_trade/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
erp5/trunk/bt5/erp5_trade/bt/revision
erp5/trunk/bt5/erp5_trade/bt/template_portal_type_workflow_chain_list
Modified: erp5/trunk/bt5/erp5_trade/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_trade/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml?rev=36971&r1=36970&r2=36971&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_trade/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_trade/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml [utf8] Thu Jul 8 11:13:38 2010
@@ -113,7 +113,7 @@
</chain>
<chain>
<type>Purchase Trade Condition</type>
- <workflow>edit_workflow, reindex_object_interaction_workflow, validation_workflow</workflow>
+ <workflow>edit_workflow, validation_workflow</workflow>
</chain>
<chain>
<type>Returned Purchase Packing List</type>
@@ -165,7 +165,7 @@
</chain>
<chain>
<type>Sale Trade Condition</type>
- <workflow>edit_workflow, reindex_object_interaction_workflow, validation_workflow</workflow>
+ <workflow>edit_workflow, validation_workflow</workflow>
</chain>
<chain>
<type>Trade Model Line</type>
Modified: erp5/trunk/bt5/erp5_trade/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_trade/bt/revision?rev=36971&r1=36970&r2=36971&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_trade/bt/revision [utf8] (original)
+++ erp5/trunk/bt5/erp5_trade/bt/revision [utf8] Thu Jul 8 11:13:38 2010
@@ -1 +1 @@
-960
\ No newline at end of file
+961
\ No newline at end of file
Modified: erp5/trunk/bt5/erp5_trade/bt/template_portal_type_workflow_chain_list
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_trade/bt/template_portal_type_workflow_chain_list?rev=36971&r1=36970&r2=36971&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_trade/bt/template_portal_type_workflow_chain_list [utf8] (original)
+++ erp5/trunk/bt5/erp5_trade/bt/template_portal_type_workflow_chain_list [utf8] Thu Jul 8 11:13:38 2010
@@ -89,7 +89,6 @@ Purchase Packing List | delivery_simulat
Purchase Packing List | edit_workflow
Purchase Packing List | packing_list_workflow
Purchase Trade Condition | edit_workflow
-Purchase Trade Condition | reindex_object_interaction_workflow
Purchase Trade Condition | validation_workflow
Returned Purchase Packing List Cell | delivery_movement_causality_interaction_workflow
Returned Purchase Packing List Cell | delivery_movement_simulation_interaction_workflow
@@ -152,7 +151,6 @@ Sale Packing List | edit_workflow
Sale Packing List | packing_list_container_workflow
Sale Packing List | packing_list_workflow
Sale Trade Condition | edit_workflow
-Sale Trade Condition | reindex_object_interaction_workflow
Sale Trade Condition | validation_workflow
Trade Model Line | edit_workflow
Trade Model Line | trade_model_line_interaction_workflow
\ No newline at end of file
Added: erp5/trunk/products/ERP5/Interactor/RecursiveReindexInteractor.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Interactor/RecursiveReindexInteractor.py?rev=36971&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/Interactor/RecursiveReindexInteractor.py (added)
+++ erp5/trunk/products/ERP5/Interactor/RecursiveReindexInteractor.py [utf8] Thu Jul 8 11:13:38 2010
@@ -0,0 +1,46 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved.
+# Lukasz Nowak <luke at nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsibility of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# guarantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+##############################################################################
+
+from Products.ERP5Type.Interactor.Interactor import Interactor
+
+class RecursiveReindexInteractor(Interactor):
+ """
+ This interactor invokes reindex on Inventory document when its
+ subdocuments are modified.
+ """
+ def install(self):
+ from Products.ERP5Type.Document.TradeCondition import TradeCondition
+ self.on(TradeCondition.reindexObject).doAfter(self.recursiveReindexObject)
+
+ def recursiveReindexObject(self, method_call_object, *args, **kw):
+ """
+ Reindex content inside
+ """
+ method_call_object.instance.recursiveReindexObject(
+ **method_call_object.kw)
More information about the Erp5-report
mailing list