[Erp5-report] r35359 romain - /erp5/trunk/products/ERP5Form/ListBox.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri May 14 16:58:13 CEST 2010
Author: romain
Date: Fri May 14 16:58:02 2010
New Revision: 35359
URL: http://svn.erp5.org?rev=35359&view=rev
Log:
Add setDisplayedColumnIdList to allow the page template to display only some
specific columns.
Work by FX Algrain.
TODO: a functional test is needed
Modified:
erp5/trunk/products/ERP5Form/ListBox.py
Modified: erp5/trunk/products/ERP5Form/ListBox.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/ListBox.py?rev=35359&r1=35358&r2=35359&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/ListBox.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/ListBox.py [utf8] Fri May 14 16:58:02 2010
@@ -477,6 +477,7 @@
self.field = field
self.request = REQUEST
self.render_prefix = render_prefix
+ self.displayed_column_id_list = None
def getPhysicalPath(self):
"""
@@ -1030,13 +1031,46 @@
return set(self.getCheckedUidList())
getCheckedUidSet = lazyMethod(getCheckedUidSet)
+
+ def setDisplayedColumnIdList(self, displayed_column_id_list):
+ """Set the column to be displayed.
+ Impact the result of getSelectedColumnList.
+ Parameter :
+ displayed_column_id_list : List of id. Exemple : ('id', 'title')
+ """
+ self.displayed_column_id_list = displayed_column_id_list
+
+ def getDisplayedColumnIdList(self):
+ """Return the list of displayed column id
+ """
+ return self.displayed_column_id_list
def getSelectedColumnList(self):
"""Return the list of selected columns.
"""
- return self.getSelectionTool().getSelectionColumns(self.getSelectionName(),
+ column_list = []
+
+ #Parameter allow to select column temporary
+ if self.getDisplayedColumnIdList() != None:
+ available_column = self.getAllColumnList()
+
+ #Create a dict to make a easy search
+ available_column_dict = dict()
+ for id,title in available_column:
+ available_column_dict[id] = (id,title)
+
+ #We check columns are present
+ for id in self.getDisplayedColumnIdList():
+ if available_column_dict.has_key(id):
+ column_list.append(available_column_dict[id])
+ else:
+ raise AttributeError, "Column %s is not avaible" % id
+
+ else:
+ column_list = self.getSelectionTool().getSelectionColumns(self.getSelectionName(),
columns = self.getColumnList(),
REQUEST = self.request)
+ return column_list
getSelectedColumnList = lazyMethod(getSelectedColumnList)
More information about the Erp5-report
mailing list