From 2ef8db64d340b6118e37a0910482d23dcddf0239 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Wed, 10 Feb 2010 05:05:16 +0000
Subject: [PATCH] add SolverDecision.getDefaultConfigurationPropertyDict().

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@32385 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/SolverDecision.py | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/Document/SolverDecision.py b/product/ERP5/Document/SolverDecision.py
index fb39fa954a..a858732760 100644
--- a/product/ERP5/Document/SolverDecision.py
+++ b/product/ERP5/Document/SolverDecision.py
@@ -29,7 +29,6 @@
 
 import zope.interface
 from AccessControl import ClassSecurityInfo
-from Products.CMFCore.utils import getToolByName
 from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5.mixin.configurable import ConfigurableMixin
@@ -88,3 +87,27 @@ class SolverDecision(ConfigurableMixin, XMLObject):
   # Declarative interfaces
   zope.interface.implements(interfaces.IConfigurable,
                            )
+
+  def getDefaultConfigurationPropertyDict(self):
+    """
+    Returns a dictionary of default properties for specified
+    configurable object
+    (implementation)
+    """
+    # XXX To be implemented through type based method and using read
+    # transaction cache
+    try:
+      solver_portal_type = self.getSolverValue().getId()
+    except AttributeError:
+      return {}
+
+    solver = self.getParentValue().newContent(
+      portal_type=solver_portal_type,
+      temp_object=True,
+      delivery_list=self.getDeliveryList(),
+      causality_value=self)
+    method = solver._getTypeBasedMethod(
+      'getDefaultConfigurationPropertyDict',
+      fallback_script_id='Solver_getDefaultConfigurationPropertyDict')
+
+    return method(self)
-- 
2.30.9