diff --git a/product/ERP5/Tool/AcknowledgementTool.py b/product/ERP5/Tool/AcknowledgementTool.py index 9030ac5aee5d076569d03df14b1182945eab2c16..c5960b8685e03254d3b800c39b2d7d4c3791d0e9 100644 --- a/product/ERP5/Tool/AcknowledgementTool.py +++ b/product/ERP5/Tool/AcknowledgementTool.py @@ -70,6 +70,13 @@ class AcknowledgementTool(BaseTool): """ return len(self.getUnreadAcknowledgementList(*args, **kw)) + def _getAcknowledgementTypeList(self): + """ + Return list of acknowledgement types, should use portal types group + when we see need of having several portal types for acknowledgements + """ + return ('Acknowledgement',) + security.declarePublic('getUnreadAcknowledgementList') def getUnreadAcknowledgementList(self, portal_type=None, user_name=None, url_list=None): @@ -131,7 +138,7 @@ class AcknowledgementTool(BaseTool): # so not in a final state final_state_list = self.getPortalCurrentInventoryStateList() query = NegatedQuery(Query(simulation_state=final_state_list)) - for x in self.portal_catalog(portal_type = portal_type, + for x in self.portal_catalog(portal_type = self._getAcknowledgementTypeList(), query=query, # start_date = {'query':now,'range':'max'}, # stop_date = {'query':now,'range':'min'}, diff --git a/product/ERP5/tests/testAcknowledgementTool.py b/product/ERP5/tests/testAcknowledgementTool.py index 6817a29e0acfb860ef1f14b689cd62e1d8133cad..eb234200942a1167d022fbc443f8bedb113f71bd 100644 --- a/product/ERP5/tests/testAcknowledgementTool.py +++ b/product/ERP5/tests/testAcknowledgementTool.py @@ -60,13 +60,20 @@ class TestAcknowledgementTool(ERP5TypeTestCase): title="foo", start_date = now-2, stop_date = now+2) - portal.portal_workflow.doActionFor(event, 'start_action') - self.assertEqual(event.getSimulationState(), 'started') self.tic() acknowledgement_tool_kw = {} acknowledgement_tool_kw['user_name'] = 'seb' acknowledgement_tool_kw['portal_type'] = event_type + # draft document must be not be part of acknowledgements + document_url_list = portal.portal_acknowledgements\ + .getUnreadDocumentUrlList(**acknowledgement_tool_kw) + self.assertFalse(event.getRelativeUrl() in document_url_list) + + # validated document must be part of acknowledgements + portal.portal_workflow.doActionFor(event, 'start_action') + self.assertEqual(event.getSimulationState(), 'started') + self.tic() document_url_list = portal.portal_acknowledgements\ .getUnreadDocumentUrlList(**acknowledgement_tool_kw) self.assertTrue(event.getRelativeUrl() in document_url_list)