[Erp5-report] r12645 - in /erp5/trunk/products/ERP5: Document/ tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Feb 13 11:49:44 CET 2007
Author: aurel
Date: Tue Feb 13 11:49:41 2007
New Revision: 12645
URL: http://svn.erp5.org?rev=12645&view=rev
Log:
do not unindex copy of object when building bt, add test for this
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=12645&r1=12644&r2=12645&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BusinessTemplate.py (original)
+++ erp5/trunk/products/ERP5/Document/BusinessTemplate.py Tue Feb 13 11:49:41 2007
@@ -435,6 +435,9 @@
elif getattr(obj, 'meta_type', None) == 'ERP5 PDF Form' :
if not obj.getProperty('business_template_include_content', 1) :
obj.deletePdfContent()
+ if getattr(aq_base(obj), 'isIndexable', None) == 1:
+ # prevent from unindexing copy of object
+ setattr(obj, 'isIndexable', 0)
return obj
class ObjectTemplateItem(BaseTemplateItem):
@@ -898,6 +901,12 @@
if len(id_list) > 0:
if include_subobjects:
self.build_sub_objects(context, id_list, relative_url)
+ else:
+ for id_ in id_list:
+ subobj = obj[id_]
+ if getattr(aq_base(subobj), 'isIndexable', None) == 1:
+ # prevent from unindexing copy of object
+ setattr(subobj, 'isIndexable', 0)
for id_ in list(id_list):
obj._delObject(id_)
if hasattr(aq_base(obj), 'groups'):
@@ -978,6 +987,10 @@
obj._delObject(id_)
else:
for id_ in list(id_list):
+ subobj = obj[id_]
+ if getattr(aq_base(subobj), 'isIndexable', None) == 1:
+ # prevent from unindexing copy of object
+ setattr(subobj, 'isIndexable', 0)
obj._delObject(id_)
self._objects[relative_url] = obj
obj.wl_clearLocks()
Modified: erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testBusinessTemplate.py?rev=12645&r1=12644&r2=12645&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testBusinessTemplate.py (original)
+++ erp5/trunk/products/ERP5/tests/testBusinessTemplate.py Tue Feb 13 11:49:41 2007
@@ -1910,6 +1910,31 @@
if hasattr(aq_base(data), 'uid'):
self.failUnless(data.uid is None)
+ def stepCheckUnindexActivityPresence(self, sequence=None, sequence_list=None, **kw):
+ """
+ Check if we have activity for unindex
+ """
+ sql_connection = self.getSQLConnection()
+ sql = "select uid from message_queue where method_id='unindexObject'" # where id='unindexObject'"
+ r = sql_connection.manage_test(sql)
+ self.failUnless(len(r) == 0)
+
+ def stepCheckPathNotUnindexAfterBuild(self, sequence=None, sequence_list=None, **kw):
+ """
+ Check that after a build, not unindex has been done
+ """
+ bc_id = sequence.get('bc_id')
+ bt = sequence.get('current_bt')
+ path = 'portal_categories/'+bc_id
+ category_id_list = sequence.get('category_id_list')
+ portal = self.getPortal()
+ ob = portal.unrestrictedTraverse(path)
+ self.failUnless(ob is not None)
+ for id_ in category_id_list:
+ cat = ob[id_]
+ catalog_ob_list = [x.getObject() for x in portal.portal_catalog(uid=cat.getUid())]
+ self.failUnless(len(catalog_ob_list) > 0)
+
def stepSetUpdateWorkflowFlagInBusinessTemplate(self, sequence=None, sequence_list=None):
"""
Set flag for update in Business Template
@@ -2469,6 +2494,36 @@
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self, quiet=quiet)
+ def test_091_BusinessTemplateDoNotUnindexObject(self, quiet=quiet, run=un_all_test):
+ if not run: return
+ if not quiet:
+ message = 'Test Business Template Do Not Unindex Object At Build'
+ ZopeTestCase._print('\n%s ' % message)
+ LOG('Testing... ', 0, message)
+ sequence_list = SequenceList()
+ # a simple path
+ sequence_string = '\
+ CreateBaseCategory \
+ CreateCategories \
+ CreateNewBusinessTemplate \
+ Tic \
+ UseExportBusinessTemplate \
+ CheckModifiedBuildingState \
+ CheckNotInstalledInstallationState \
+ AddBaseCategoryAsPathToBusinessTemplate \
+ BuildBusinessTemplate \
+ CheckUnindexActivityPresence \
+ Tic \
+ CheckPathNotUnindexAfterBuild \
+ CheckBuiltBuildingState \
+ CheckNotInstalledInstallationState \
+ CheckObjectPropertiesInBusinessTemplate \
+ RemoveBaseCategory \
+ '
+
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self, quiet=quiet)
+
def test_10_BusinessTemplateWithPathAndJoker1(self, quiet=quiet, run=run_all_test):
if not run: return
if not quiet:
@@ -2515,7 +2570,7 @@
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self, quiet=quiet)
- def test_101_BusinessTemplateUninstallWithPathAndJoker1Removed(self, quiet=quiet, run=1): #run_all_test):
+ def test_101_BusinessTemplateUninstallWithPathAndJoker1Removed(self, quiet=quiet, run=run_all_test):
if not run: return
if not quiet:
message = 'Test Business Template Uninstall With Path And Joker * Removed'
More information about the Erp5-report
mailing list