diff --git a/product/ERP5Form/ListBox.py b/product/ERP5Form/ListBox.py index c614426390aa1428ba36c9dce649eabbe294d902..20674e70c21ab4988b0816fd035dd328d4023e79 100644 --- a/product/ERP5Form/ListBox.py +++ b/product/ERP5Form/ListBox.py @@ -37,7 +37,7 @@ from Products.Formulator.Errors import FormValidationError, ValidationError from Products.Formulator.MethodField import BoundMethod from Selection import Selection, DomainSelection from DateTime import DateTime -from Products.ERP5Type.Utils import getPath +from Products.ERP5Type.Utils import getPath, convertToUpperCase from Products.ERP5Type.Document import newTempBase from Products.CMFCore.utils import getToolByName from copy import copy @@ -152,26 +152,26 @@ def makeTreeBody(form = None, root_dict = None, domain_path = '', else: oblist = root.objectValues() for o in oblist: - tree_body += '<TR>' + '<TD WIDTH="16" NOWRAP>' * depth + tree_body += '<tr>' + '<td width="16" nowrap>' * depth relative_url = o.getRelativeUrl() if base_category is not None and not relative_url.startswith(base_category + '/'): url = '%s/%s' % (base_category, relative_url) else: url = relative_url if url in unfolded_list: - tree_body += """<TD NOWRAP VALIGN="TOP" ALIGN="LEFT" COLSPAN="%s"> + tree_body += """<td nowrap valign="top" align="left" colspan="%s"> <a href="portal_selections/foldDomain?domain_url=%s&form_id=%s&list_selection_name=%s&domain_depth:int=%s" title="%s" >- <b>%s</b></a> -</TD>""" % (total_depth - depth + 1, url, form_id, selection_name, depth, unicode(o.getTranslatedTitle(), 'utf8'), o.id) +</td>""" % (total_depth - depth + 1, url, form_id, selection_name, depth, unicode(o.getTranslatedTitle(), 'utf8'), o.id) new_root_dict = root_dict.copy() new_root_dict[None] = new_root_dict[base_category] = o tree_body += makeTreeBody(form = form, root_dict = new_root_dict, domain_path = domain_path, depth = depth + 1, total_depth = total_depth, unfolded_list = unfolded_list, selection_name = selection_name, base_category = base_category) else: - tree_body += """<TD NOWRAP VALIGN="TOP" ALIGN="LEFT" COLSPAN="%s"> + tree_body += """<td nowrap valign="top" align="left" colspan="%s"> <a href="portal_selections/unfoldDomain?domain_url=%s&form_id=%s&list_selection_name=%s&domain_depth:int=%s" title="%s">+ %s</a> -</TD>""" % (total_depth - depth + 1, url, form_id, selection_name, depth, unicode(o.getTranslatedTitle(), 'utf8'), o.id) - #tree_body += '</TD>' * depth + '</TR>' +</td>""" % (total_depth - depth + 1, url, form_id, selection_name, depth, unicode(o.getTranslatedTitle(), 'utf8'), o.id) + tree_body += '</td>' * depth + '</tr>' return tree_body @@ -2026,20 +2026,20 @@ onChange="submitAction(this.form,'%s/portal_selections/setDomainRoot')"> select_tree_body = '' select_tree_html = """<!-- Select Tree --> %s -<table cellpadding="0" border="0"> +<table id="%s_domain_tree_table" cellpadding="0" border="0"> %s </table> -""" % (select_tree_header, select_tree_body ) +""" % (select_tree_header, field.id, select_tree_body ) return """<!-- Table Wrapping for Select Tree --> -<table border="0" cellpadding="0" cellspacing="0" width="100%"> -<tr><td valign="top">""" + """ +<table border="0" cellpadding="0" cellspacing="0" width="100%%"> +<tr><td valign="top"> %s </td><td valign="top"> %s <!-- End of Table Wrapping for Select Tree --> </td></tr> -</table>""" % (select_tree_html,list_html) +</table>""" % (select_tree_html, list_html) #render_end = DateTime() #result = (render_end-render_start) * 86400 #LOG('Listbox render end call', 0, result) @@ -2235,7 +2235,13 @@ class ListBox(ZMIField): if id == 'default' and kw.get('render_format') in ('list', ): return self.widget.render(self, self.generate_field_key() , None , kw.get('REQUEST'), render_format=kw.get('render_format')) else: - return ZMIField.get_value(self, id, **kw) + # Try an ERP5-style accessor, if available. + method_id = 'get' + convertToUpperCase(id) + method = getattr(self.widget, method_id, None) + if method is not None: + return method(**kw) + else: + return ZMIField.get_value(self, id, **kw)