[Erp5-report] r36885 kazuhiko - /erp5/trunk/products/ERP5/Document/
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Jul 6 11:22:36 CEST 2010
Author: kazuhiko
Date: Tue Jul 6 11:22:34 2010
New Revision: 36885
URL: http://svn.erp5.org?rev=36885&view=rev
Log:
add SolverTypeInformation.solve() that can be called with activity for temp solver process documents.
Modified:
erp5/trunk/products/ERP5/Document/SolverProcess.py
erp5/trunk/products/ERP5/Document/SolverTypeInformation.py
Modified: erp5/trunk/products/ERP5/Document/SolverProcess.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/SolverProcess.py?rev=36885&r1=36884&r2=36885&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/SolverProcess.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/SolverProcess.py [utf8] Tue Jul 6 11:22:34 2010
@@ -179,8 +179,16 @@ class SolverProcess(XMLObject, ActivePro
"""
isTransitionPossible = self.getPortalObject().portal_workflow.isTransitionPossible
for solver in self.contentValues(portal_type=self.getPortalObject().getPortalTargetSolverTypeList()):
- if isTransitionPossible(solver, 'start_solving'):
- solver.startSolving()
+ if solver.isTempObject():
+ solver_type = solver._getPortalTypeValue()
+ solver_type.activate(activate_kw=activate_kw).solve(
+ activate_kw=activate_kw,
+ delivery_list=solver.getDeliveryList(),
+ configuration_dict=solver.getConfigurationPropertyDict()
+ )
+ else:
+ if isTransitionPossible(solver, 'start_solving'):
+ solver.startSolving()
solver.activate(active_process=self, activate_kw=activate_kw).solve(
activate_kw=activate_kw)
Modified: erp5/trunk/products/ERP5/Document/SolverTypeInformation.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/SolverTypeInformation.py?rev=36885&r1=36884&r2=36885&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/SolverTypeInformation.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/SolverTypeInformation.py [utf8] Tue Jul 6 11:22:34 2010
@@ -215,3 +215,21 @@ class SolverTypeInformation(Predicate, E
method = getattr(solver, method_id)
return method()
+
+ def solve(self, delivery_list=None, configuration_dict=None,
+ activate_kw=None, **kw):
+ if delivery_list is None:
+ return
+ if configuration_dict is None:
+ configuration_dict = {}
+ solver_process_tool = self.getPortalObject().portal_solver_processes
+ solver_process = solver_process_tool.newContent(
+ portal_type='Solver Process',
+ temp_object=True)
+ solver = solver_process.newContent(portal_type=self.getId(),
+ delivery_list=delivery_list)
+ solver.updateConfiguration(**configuration_dict)
+ if self.getPortalObject().portal_workflow.isTransitionPossible(
+ solver, 'start_solving'):
+ solver.startSolving()
+ solver.solve(activate_kw=activate_kw)
More information about the Erp5-report
mailing list