diff --git a/MANIFEST.in b/MANIFEST.in index 73fb66447f..394fcf7eaa 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,2 @@ recursive-include tests *.py -recursive-include example *.py *.sh *.txt -prune example/AJAXSELECTS -prune example/ajax_select +include README.md diff --git a/Release-notes.md b/Release-notes.md index 121c65ab03..6337988e1d 100644 --- a/Release-notes.md +++ b/Release-notes.md @@ -1,4 +1,69 @@ +Version 1.4.0 +============= + +- Autodiscover of lookups.py for Django 1.7+ +- Simpler configuration +- Fix support for Django 1.8, Python 3 +- Support for Django 1.9b1 +- Add full testing matrix +- New clearer multi-page documentation +- Extensive docstrings +- Support form reset button + +fix: changed_data always includes AutoComplete fields + +Breaking Changes +---------------- + +### Custom templates + +Move your custom templates from: + + yourapp/templates/channel_autocomplete.html + yourapp/templates/channel_autocompleteselect.html + yourapp/templates/channel_autocompleteselectmultiple.html + +to: + + yourapp/templates/ajax_select/channel_autocomplete.html + yourapp/templates/ajax_select/channel_autocompleteselect.html + yourapp/templates/ajax_select/channel_autocompleteselectmultiple.html + +And change your extends from: + + {% extends "autocompleteselect.html" %} + +to: + + {% extends "ajax_select/autocompleteselect.html" %} + +### No more conversion of values by Widget + +Previous releases would try to convert the primary key submitted from the Widget into either an integer or string, +depending on what it looked like. This was to support databases with non-integer primary keys. + +Its best that the Widget does not involve itself with the database types, it should only process its input. + +Django's ORM converts strings to integers. If for some reason your database is getting the wrong type for a PK, +then you should handle this conversion in your Form's clean_fieldname method. + +### Removed deprecated options + +`make_ajax_field`: dropped backward compat support for `show_m2m_help` option. +Use `show_help_text`. + +remove deprecated `min_length` template var - use `plugin_options['min_length']` +remove deprecated `lookup_url` template var - use `plugin_options['source']` + + +### settings + +LookupChannels are still loaded from `settings.AJAX_LOOKUP_CHANNELS` as previously. + +If you are on Django >= 1.7 you may switch to using the @register decorator and you can probably remove `AJAX_LOOKUP_CHANNELS` entirely. + + Version 1.3.6 ============= diff --git a/setup.py b/setup.py index 9d62d066b4..a313429022 100644 --- a/setup.py +++ b/setup.py @@ -9,9 +9,9 @@ setup( name='django-ajax-selects', - version='1.3.6', - description='jQuery-UI powered auto-complete fields for editing ForeignKey, ManyToManyField and CharField', - author='crucialfelix', + version='1.4.0', + description='Edit ForeignKey, ManyToManyField and CharField in Django Admin using jQuery UI AutoComplete.', + author='Chris Sattinger', author_email='crucialfelix@gmail.com', url='https://github.com/crucialfelix/django-ajax-selects/', packages=['ajax_select'], @@ -43,26 +43,18 @@ "Framework :: Django", ], long_description="""\ -Enables editing of `ForeignKey`, `ManyToManyField` and `CharField` using jQuery UI AutoComplete. +Edit ForeignKey, ManyToManyField and CharField in Django Admin using jQuery UI AutoComplete. -1. The user types a search term into the text field -2. An ajax request is sent to the server. -3. The dropdown menu is populated with results. -4. User selects by clicking or using arrow keys -5. Selected result displays in the "deck" area directly below the input field. -6. User can click trashcan icon to remove a selected item - -+ Django 1.6+ -+ Optional boostrap mode allows easy installation by automatic inclusion of jQueryUI from the googleapis CDN -+ Compatible with staticfiles, appmedia, django-compressor etc -+ Popup to add a new item is supported -+ Admin inlines now supported -+ Ajax Selects works in the admin and also in public facing forms. -+ Rich formatting can be easily defined for the dropdown display and the selected "deck" display. -+ Templates and CSS are fully customizable -+ JQuery triggers enable you to add javascript to respond when items are added or removed, - so other interface elements on the page can react -+ Default (but customizable) security prevents griefers from pilfering your data via JSON requests +- Customize search query +- Query other resources besides Django ORM +- Format results with HTML +- Customize styling +- Customize security policy +- Add additional custom UI alongside widget +- Integrate with other UI elements elsewhere on the page using the javascript API +- Works in Admin as well as in normal views +- Django >=1.5, <=1.9 +- Python >=2.7, <=3.4 """ )