[Erp5-report] r29934 - in /erp5/trunk/products/ERP5Form: ./ tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Oct 22 17:16:05 CEST 2009
Author: luke
Date: Thu Oct 22 17:16:03 2009
New Revision: 29934
URL: http://svn.erp5.org?rev=29934&view=rev
Log:
- implement selection deletion for given user with test
Modified:
erp5/trunk/products/ERP5Form/SelectionTool.py
erp5/trunk/products/ERP5Form/tests/testSelectionTool.py
Modified: erp5/trunk/products/ERP5Form/SelectionTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/SelectionTool.py?rev=29934&r1=29933&r2=29934&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/SelectionTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/SelectionTool.py [utf8] Thu Oct 22 17:16:03 2009
@@ -91,6 +91,17 @@
security.declareProtected( ERP5Permissions.ManagePortal
, 'manage_configure' )
manage_configure = DTMLFile( 'SelectionTool_configure', _dtmldir )
+
+ security.declareProtected( ERP5Permissions.ManagePortal
+ , 'manage_deleteSelectionForUser' )
+ def manage_deleteSelectionForUser(self, selection_name, user_id, REQUEST=None):
+ """
+ Delete a specified selection
+ """
+ self._deleteSelectionForUserFromContainer(selection_name, user_id)
+ if REQUEST is not None:
+ return REQUEST.RESPONSE.redirect('%s/%s' %
+ (self.absolute_url(), 'manage_viewSelections'))
security.declareProtected( ERP5Permissions.ManagePortal
, 'manage_deleteSelection' )
@@ -1376,13 +1387,16 @@
else:
self._getPersistentContainer(user_id)[selection_name] = aq_base(selection)
- def _deleteSelectionFromContainer(self, selection_name):
- user_id = self._getUserId()
+ def _deleteSelectionForUserFromContainer(self, selection_name, user_id):
if user_id is None: return None
if self.isMemcachedUsed():
del(self._getMemcachedContainer()['%s-%s' % (user_id, selection_name)])
else:
del(self._getPersistentContainer(user_id)[selection_name])
+
+ def _deleteSelectionFromContainer(self, selection_name):
+ user_id = self._getUserId()
+ self._deleteSelectionForUserFromContainer(selection_name, user_id)
def _deleteGlobalSelectionFromContainer(self, selection_name):
if not self.isMemcachedUsed():
Modified: erp5/trunk/products/ERP5Form/tests/testSelectionTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/tests/testSelectionTool.py?rev=29934&r1=29933&r2=29934&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/tests/testSelectionTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/tests/testSelectionTool.py [utf8] Thu Oct 22 17:16:03 2009
@@ -234,6 +234,16 @@
selection = self.portal_selections.getSelectionFor('test_selection')
self.assertEqual(selection, None)
+ def testDeleteSelectionForUser(self):
+ # XXX: There is side effect, that manager, running user, is the same use
+ # and there is no way (for now) to get selections per user...
+ selection = self.portal_selections.getSelectionFor('test_selection')
+ self.assert_(isinstance(selection, Selection))
+ self.portal_selections.manage_deleteSelectionForUser('test_selection',
+ 'manager')
+ selection = self.portal_selections.getSelectionFor('test_selection')
+ self.assertEqual(selection, None)
+
def testDeleteGlobalSelection(self):
selection = self.portal_selections.getSelectionFor('test_selection')
self.assert_(isinstance(selection, Selection))
More information about the Erp5-report
mailing list