[Erp5-report] r35735 jm - /erp5/trunk/products/ERP5/Document/BusinessTemplate.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri May 28 15:58:07 CEST 2010
Author: jm
Date: Fri May 28 15:58:01 2010
New Revision: 35735
URL: http://svn.erp5.org?rev=35735&view=rev
Log:
Optimize reordering of skin selection
Modified:
erp5/trunk/products/ERP5/Document/BusinessTemplate.py
Modified: erp5/trunk/products/ERP5/Document/BusinessTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/BusinessTemplate.py?rev=35735&r1=35734&r2=35735&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BusinessTemplate.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/BusinessTemplate.py [utf8] Fri May 28 15:58:01 2010
@@ -218,6 +218,13 @@
if isinstance(skin_selection_list, basestring):
skin_selection_list = skin_selection_list.split()
+ def skin_sort_key(skin_folder_id):
+ obj = skin_tool._getOb(skin_folder_id, None)
+ if obj is None:
+ return 0, skin_folder_id
+ return -obj.getProperty('business_template_skin_layer_priority',
+ obj.meta_type == 'Filesystem Directory View' and -1 or 0), skin_folder_id
+
for skin_name in skin_selection_list:
if (skin_name not in skin_tool.getSkinSelections()) and \
@@ -231,12 +238,8 @@
if (skin_folder_id not in selection_list):
selection_list.insert(0, skin_folder_id)
if reorder_skin_selection:
- # Sort by skin ID
- selection_list.sort()
- # Sort by skin priority
- selection_list.sort(
- key=lambda x: x in skin_tool.objectIds() and skin_tool[x].getProperty(
- 'business_template_skin_layer_priority', skin_tool[x].meta_type == 'Filesystem Directory View' and -1 or 0) or 0, reverse=True)
+ # Sort by skin priority and ID
+ selection_list.sort(key=skin_sort_key)
if (skin_name in skin_layer_list):
skin_tool.manage_skinLayers(skinpath=selection_list,
skinname=skin_name, add_skin=1)
More information about the Erp5-report
mailing list