[Erp5-report] r38936 kazuhiko - in /erp5/trunk/products/ERP5: Document/ tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Oct 6 21:52:16 CEST 2010
Author: kazuhiko
Date: Wed Oct 6 21:52:15 2010
New Revision: 38936
URL: http://svn.erp5.org?rev=38936&view=rev
Log:
if a base category is removed, it should be listed in 'reinstall business template' listbox, before it raised an Exception.
Modified:
erp5/trunk/products/ERP5/Document/BusinessTemplate.py
erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
Modified: erp5/trunk/products/ERP5/Document/BusinessTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/BusinessTemplate.py?rev=38936&r1=38935&r2=38936&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BusinessTemplate.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/BusinessTemplate.py [utf8] Wed Oct 6 21:52:15 2010
@@ -1517,8 +1517,14 @@ class CategoryTemplateItem(ObjectTemplat
BaseTemplateItem.build(self, context, **kw)
p = context.getPortalObject()
for relative_url in self._archive.keys():
- obj = p.unrestrictedTraverse(relative_url)
- obj = obj._getCopy(context)
+ try:
+ obj = p.unrestrictedTraverse(relative_url)
+ obj = obj._getCopy(context)
+ except (KeyError, AttributeError):
+ if self.is_bt_for_diff:
+ continue
+ else:
+ raise ValueError, "%s not found" % relative_url
_recursiveRemoveUid(obj)
obj = self.removeProperties(obj, 1)
include_sub_categories = obj.__of__(context).getProperty('business_template_include_sub_categories', 0)
Modified: erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testBusinessTemplate.py?rev=38936&r1=38935&r2=38936&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testBusinessTemplate.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testBusinessTemplate.py [utf8] Wed Oct 6 21:52:15 2010
@@ -3474,6 +3474,37 @@ class TestBusinessTemplate(ERP5TypeTestC
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self, quiet=quiet)
+ def test_06_BusinessTemplateReInstallWithBaseCategory(self, quiet=quiet, run=run_all_test):
+ if not run: return
+ if not quiet:
+ message = 'Test Business Template reinstall after removing Base Category'
+ ZopeTestCase._print('\n%s ' % message)
+ LOG('Testing... ', 0, message)
+ sequence_list = SequenceList()
+ sequence_string = '\
+ CreateBaseCategory \
+ CreateNewBusinessTemplate \
+ UseExportBusinessTemplate \
+ AddBaseCategoryToBusinessTemplate \
+ CheckModifiedBuildingState \
+ CheckNotInstalledInstallationState \
+ BuildBusinessTemplate \
+ CheckBuiltBuildingState \
+ CheckNotInstalledInstallationState \
+ CheckObjectPropertiesInBusinessTemplate \
+ SaveBusinessTemplate \
+ CheckBuiltBuildingState \
+ CheckNotInstalledInstallationState \
+ ImportBusinessTemplate \
+ UseImportBusinessTemplate \
+ InstallBusinessTemplate \
+ Tic \
+ RemoveBaseCategory \
+ CheckPreinstallReturnSomething \
+ '
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self, quiet=quiet)
+
# test of actions
def test_07_BusinessTemplateWithOneAction(self, quiet=quiet, run=run_all_test):
if not run: return
More information about the Erp5-report
mailing list