From: David G. <svn...@pl...> - 2008-05-28 21:05:46
|
Author: davisagli Date: Wed May 28 21:05:52 2008 New Revision: 9758 Modified: MoreFieldsAndWidgets/AutocompleteWidget/branches/improved_multivalued_fields_management/AutocompleteWidget.py MoreFieldsAndWidgets/AutocompleteWidget/branches/improved_multivalued_fields_management/history.txt MoreFieldsAndWidgets/AutocompleteWidget/branches/improved_multivalued_fields_management/skins/actb_widget/autocomplete.pt Log: added compatibility with ReferenceFields Modified: MoreFieldsAndWidgets/AutocompleteWidget/branches/improved_multivalued_fields_management/AutocompleteWidget.py ============================================================================== --- MoreFieldsAndWidgets/AutocompleteWidget/branches/improved_multivalued_fields_management/AutocompleteWidget.py (original) +++ MoreFieldsAndWidgets/AutocompleteWidget/branches/improved_multivalued_fields_management/AutocompleteWidget.py Wed May 28 21:05:52 2008 @@ -34,7 +34,7 @@ # no value! if not value: - return field.type=='lines' and [] or '', {} + return (field.type=='lines' or field.multiValued) and [] or '', {} if field.multiValued: # make delimiters uniform @@ -48,7 +48,7 @@ if keyword and keyword not in result: result.append(keyword) - if field.type!='lines': + if field.type!='lines' and field.type!='reference': result= ';'.join(result) # make it a string again else: keyword = self.keyword_from_value(value, instance, field) Modified: MoreFieldsAndWidgets/AutocompleteWidget/branches/improved_multivalued_fields_management/history.txt ============================================================================== --- MoreFieldsAndWidgets/AutocompleteWidget/branches/improved_multivalued_fields_management/history.txt (original) +++ MoreFieldsAndWidgets/AutocompleteWidget/branches/improved_multivalued_fields_management/history.txt Wed May 28 21:05:52 2008 @@ -1,3 +1,8 @@ +unreleased + + * generalized a few checks to make compatible with ReferenceFields (davisagli) + + 14-03-2008 - v1.2.1 : Jonathan Riboux * integrated Ak Sorpa's fix to prevent &, < and > to appear in the input box after selecting a value in the drop-down list Modified: MoreFieldsAndWidgets/AutocompleteWidget/branches/improved_multivalued_fields_management/skins/actb_widget/autocomplete.pt ============================================================================== --- MoreFieldsAndWidgets/AutocompleteWidget/branches/improved_multivalued_fields_management/skins/actb_widget/autocomplete.pt (original) +++ MoreFieldsAndWidgets/AutocompleteWidget/branches/improved_multivalued_fields_management/skins/actb_widget/autocomplete.pt Wed May 28 21:05:52 2008 @@ -14,7 +14,7 @@ <metal:view_macro define-macro="view" tal:define="vocab python:field.Vocabulary(here); value python:accessor(); - display python:same_type(value, ()) and ', '.join([here.displayValue(vocab, x) or x for x in value]) or here.displayValue(vocab, value) or '';"> + display python:(same_type(value, ()) or same_type(value, [])) and ', '.join([here.displayValue(vocab, x) or x for x in value]) or here.displayValue(vocab, value) or '';"> <span tal:condition="display" tal:replace="display" /> </metal:view_macro> @@ -32,7 +32,7 @@ widget_multi field/multiValued; widget_multi_str python:widget_multi and 'true' or 'false'; value python:value!=None and value or ''; - widget_value python:same_type(value, ()) and ';;'.join([here.displayValue(vocab, x) or x for x in value]) or here.displayValue(vocab, value) or ''; + widget_value python:(same_type(value, ()) or same_type(value, [])) and ';;'.join([here.displayValue(vocab, x) or x for x in value]) or here.displayValue(vocab, value) or ''; widget_id python:fieldName + (widget_multi and '_toadd_widget' or '_widget'); widget_name python:(not widget_multi) and fieldName or nothing;"> @@ -69,7 +69,7 @@ <tal:multi tal:condition="widget_multi"> <input type='hidden' value='' id='' autocomplete="off" tal:attributes="name fieldName; - value python:same_type(widget_value, ()) and ','.join(widget_value) or widget_value; + value python:(same_type(widget_value, ()) or same_type(widget_value, [])) and ','.join(widget_value) or widget_value; id python:fieldName + '_widget';" /> <div class="empty_info" title="The list is empty, type a value and click the Add button" |