Commit 5e045896 authored by Łukasz Nowak's avatar Łukasz Nowak

- 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.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@36971 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent b6d856dc
...@@ -113,7 +113,7 @@ ...@@ -113,7 +113,7 @@
</chain> </chain>
<chain> <chain>
<type>Purchase Trade Condition</type> <type>Purchase Trade Condition</type>
<workflow>edit_workflow, reindex_object_interaction_workflow, validation_workflow</workflow> <workflow>edit_workflow, validation_workflow</workflow>
</chain> </chain>
<chain> <chain>
<type>Returned Purchase Packing List</type> <type>Returned Purchase Packing List</type>
...@@ -165,7 +165,7 @@ ...@@ -165,7 +165,7 @@
</chain> </chain>
<chain> <chain>
<type>Sale Trade Condition</type> <type>Sale Trade Condition</type>
<workflow>edit_workflow, reindex_object_interaction_workflow, validation_workflow</workflow> <workflow>edit_workflow, validation_workflow</workflow>
</chain> </chain>
<chain> <chain>
<type>Trade Model Line</type> <type>Trade Model Line</type>
......
960 961
\ No newline at end of file \ No newline at end of file
...@@ -89,7 +89,6 @@ Purchase Packing List | delivery_simulation_interaction_workflow ...@@ -89,7 +89,6 @@ Purchase Packing List | delivery_simulation_interaction_workflow
Purchase Packing List | edit_workflow Purchase Packing List | edit_workflow
Purchase Packing List | packing_list_workflow Purchase Packing List | packing_list_workflow
Purchase Trade Condition | edit_workflow Purchase Trade Condition | edit_workflow
Purchase Trade Condition | reindex_object_interaction_workflow
Purchase Trade Condition | validation_workflow Purchase Trade Condition | validation_workflow
Returned Purchase Packing List Cell | delivery_movement_causality_interaction_workflow Returned Purchase Packing List Cell | delivery_movement_causality_interaction_workflow
Returned Purchase Packing List Cell | delivery_movement_simulation_interaction_workflow Returned Purchase Packing List Cell | delivery_movement_simulation_interaction_workflow
...@@ -152,7 +151,6 @@ Sale Packing List | edit_workflow ...@@ -152,7 +151,6 @@ Sale Packing List | edit_workflow
Sale Packing List | packing_list_container_workflow Sale Packing List | packing_list_container_workflow
Sale Packing List | packing_list_workflow Sale Packing List | packing_list_workflow
Sale Trade Condition | edit_workflow Sale Trade Condition | edit_workflow
Sale Trade Condition | reindex_object_interaction_workflow
Sale Trade Condition | validation_workflow Sale Trade Condition | validation_workflow
Trade Model Line | edit_workflow Trade Model Line | edit_workflow
Trade Model Line | trade_model_line_interaction_workflow Trade Model Line | trade_model_line_interaction_workflow
\ No newline at end of file
# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved.
# Lukasz Nowak <luke@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)
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