diff --git a/product/ERP5Form/ListBox.py b/product/ERP5Form/ListBox.py index ff41e46f4b644882b35ca9c2ba98c91c2253843b..b82cd7424e1c6f10e2e21aa06c1b3a5e2897878a 100755 --- a/product/ERP5Form/ListBox.py +++ b/product/ERP5Form/ListBox.py @@ -274,7 +274,7 @@ class ListBoxWidget(Widget.Widget): property_names = Widget.Widget.property_names +\ ['lines', 'columns', 'all_columns', 'search_columns', 'sort_columns', 'sort', 'editable_columns', 'all_editable_columns', - 'stat_columns', 'disable_link', 'url_columns', 'global_attributes', + 'stat_columns', 'url_columns', 'global_attributes', 'list_method', 'count_method', 'stat_method', 'selection_name', 'meta_types', 'portal_types', 'default_params', 'search', 'select', @@ -413,12 +413,6 @@ class ListBoxWidget(Widget.Widget): default=[], required=0) - disable_link = fields.CheckBoxField('disable_link', - title='Disable Link', - description=('Disable URL'), - default='', - required=0) - url_columns = fields.ListTextAreaField('url_columns', title="URL Columns", description=( @@ -521,7 +515,6 @@ class ListBoxWidget(Widget.Widget): editable_columns = field.get_value('editable_columns') all_editable_columns = field.get_value('all_editable_columns') stat_columns = field.get_value('stat_columns') - disable_link = field.get_value('disable_link') url_columns = field.get_value('url_columns') search_columns = field.get_value('search_columns') sort_columns = field.get_value('sort_columns') @@ -1767,43 +1760,42 @@ onChange="submitAction(this.form,'%s/portal_selections/setReportRoot')"> ######################################################################### object_url = None # Try to get a link - if not disable_link: - # Check if url_columns defines a method - # to retrieve the URL. - url_method = None - for column in url_columns: - if sql == column[0]: - url_method = getattr(o, column[1], '') - break - if url_method is not None: - # Call the requested method + # Check if url_columns defines a method + # to retrieve the URL. + url_method = None + for column in url_columns: + if sql == column[0]: + url_method = getattr(o, column[1], '') + break + if url_method: + # Call the requested method + try: + object_url = url_method(brain=o, selection=selection) + except ConflictError: + raise + except: + # XXX FIXME: except without Error name + LOG('ListBox', 0, + 'Could not evaluate url_method %s' % \ + column[1], error=sys.exc_info()) + pass + elif url_method is None: + # Check if this object provides a specific URL method + url_method = getattr(o, 'getListItemUrl', None) + if url_method is None: try: - object_url = url_method(brain=o, selection=selection) + object_url = o.absolute_url() + \ + '/view?selection_index=%s&selection_name=%s&reset=1' % (i, selection_name) + except AttributeError: + pass + else: + try: + object_url = url_method(alias, i, selection_name) except ConflictError: raise except: # XXX FIXME: except without Error name - LOG('ListBox', 0, - 'Could not evaluate url_method %s' % \ - column[1], error=sys.exc_info()) pass - else: - # Check if this object provides a specific URL method - url_method = getattr(o, 'getListItemUrl', None) - if url_method is None: - try: - object_url = o.absolute_url() + \ - '/view?selection_index=%s&selection_name=%s&reset=1' % (i, selection_name) - except AttributeError: - pass - else: - try: - object_url = url_method(alias, i, selection_name) - except ConflictError: - raise - except: - # XXX FIXME: except without Error name - pass # Generate appropriate HTML if object_url is None: list_body = list_body + \ @@ -1924,8 +1916,8 @@ onChange="submitAction(this.form,'%s/portal_selections/setReportRoot')"> if render_format == 'list': - #listboxline_list.append(current_listboxline) - LOG('ListBox', 0, 'listboxline_list: %s' % str(listboxline_list) ) + #listboxline_list.append(current_listboxline) + #LOG('ListBox', 0, 'listboxline_list: %s' % str(listboxline_list) ) return listboxline_list