From 697f9be4dde8ce6cf185dd0c775b52b945b87e5f Mon Sep 17 00:00:00 2001 From: Kazuhiko Shiozaki <kazuhiko@nexedi.com> Date: Mon, 3 Dec 2007 17:12:41 +0000 Subject: [PATCH] support deleting selections. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@17970 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5Form/SelectionTool.py | 19 +++++++++++++++++++ .../SelectionTool_manageViewSelections.dtml | 4 +++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/product/ERP5Form/SelectionTool.py b/product/ERP5Form/SelectionTool.py index 852434306a..566b3856ce 100644 --- a/product/ERP5Form/SelectionTool.py +++ b/product/ERP5Form/SelectionTool.py @@ -88,6 +88,17 @@ class SelectionTool( BaseTool, UniqueObject, SimpleItem ): , 'manage_configure' ) manage_configure = DTMLFile( 'SelectionTool_configure', _dtmldir ) + security.declareProtected( ERP5Permissions.ManagePortal + , 'manage_deleteSelection' ) + def manage_deleteSelection(self, selection_name, REQUEST=None): + """ + Relete a specified selection + """ + self._deleteSelectionFromContainer(selection_name) + if REQUEST is not None: + return REQUEST.RESPONSE.redirect('%s/%s' % + (self.absolute_url(), 'manage_viewSelections')) + # storages of SelectionTool storage_list = ('Persistent Mapping', 'Memcached Tool') @@ -1276,6 +1287,14 @@ class SelectionTool( BaseTool, UniqueObject, SimpleItem ): else: self._getPersistentContainer(user_id)[selection_name] = aq_base(selection) + def _deleteSelectionFromContainer(self, selection_name): + user_id = self._getUserId() + 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 _getSelectionNameListFromContainer(self): if self.isMemcachedUsed(): return [] diff --git a/product/ERP5Form/dtml/SelectionTool_manageViewSelections.dtml b/product/ERP5Form/dtml/SelectionTool_manageViewSelections.dtml index bc3dd86e69..beff3fdd72 100644 --- a/product/ERP5Form/dtml/SelectionTool_manageViewSelections.dtml +++ b/product/ERP5Form/dtml/SelectionTool_manageViewSelections.dtml @@ -17,14 +17,16 @@ This page show the active selections for the current user. <table cellspacing="0" cellpadding="2" border="1"> <tr> + <th> Action </th> <th> Selection Name </th> <th> Selection Parameters </th> </tr> <dtml-in getSelectionNameList> <tr> + <td><a href="manage_deleteSelection?selection_name=<dtml-var sequence-item>">Delete</a></td> <td> <dtml-var sequence-item></td> - <td> <dtml-var + <td> <dtml-var expr="getSelectionParams(_['sequence-item'])" html_quote></td> </tr> </dtml-in> -- 2.30.9