Commit graph

55 commits

Author SHA1 Message Date
Johannes Hoppe
2f17e21b0b Simplify package setup 2019-04-08 19:57:22 +02:00
Johannes Hoppe
66d2051c20 Fix django master 2019-03-23 13:57:13 +01:00
Johannes Hoppe
9b54cc30c7 Add Django 2.2 support
Add Django 2.2 LTS support
Drop Django 1.11 LTS support
Add request argument to `ModelSelect2Mixin.filter_queryset`
2019-03-23 13:57:13 +01:00
Johannes Hoppe
1954bf57fa Add SELECT2_LIB_VERSION setting
The new setting allows to change to default library version to
a specific value without overriding all URLs individually.
2018-07-24 13:05:11 +02:00
Bill Yeh
aef27f48df Add option to exclude the Select2 library from form media (#484) 2018-06-30 14:58:47 +02:00
Johannes Hoppe
f31beec0c4
Add support for custom to_field names for foreign keys (#486)
Django's ForeignKey supports custom to_fields. The to field is the
primary key by default, but can be modified. The to field is also
used by forms to reduce database lookups.

This patch add support for custom to_field names on both model or
form layer.
2018-06-30 14:56:32 +02:00
dzhuang
496cc7c502 Fallback i18n js files for zh-hans/zh-hant. (#468)
* Fallback i18n js files for zh-hans/zh-hant.

* Use Django admin's built-in SELECT2_TRANSLATIONS to determine the lang of i18n js files.
2018-06-14 11:49:47 +02:00
Johannes Hoppe
f6d5afe51d Add support for Django 2.0 2017-11-25 18:56:46 +01:00
Johannes Hoppe
f967eb643b Drop Python 2 support 2017-11-25 18:56:46 +01:00
Johannes Hoppe
90028d9e36 Fix case issue -- get_langauge() only returns lower case
get_langauge() only returns lower case some i18n file name include
upper case language code tho. This will detect all lanugages.
2017-07-24 10:25:56 +02:00
Johannes Hoppe
b46f69f166 Add i18n support 2017-07-16 17:30:42 +02:00
Johannes Hoppe
b88e26bfa2 Switch to Chrome headless for selenium tests 2017-07-16 12:35:11 +02:00
Johannes Hoppe
6260226ae5 Remove PhantomJS test runs 2017-05-25 12:09:07 +02:00
Johannes Hoppe
26f2a36dc6 Update tests suite for wait for browser to be loaded 2017-05-17 11:54:16 +02:00
Johannes Hoppe
4147cac2f8 Add 100ms implicit wait time to selenium driver 2017-05-17 11:53:25 +02:00
Alexey Ruzin
1931a98240 Chained select2 2017-04-18 10:57:33 +02:00
Johannes Hoppe
5840622794 Add support for Django 1.11
Drop support for Django 1.9
2017-04-14 14:09:23 +02:00
Johannes Hoppe
23e91c8bb0 Fix flaky test 2017-02-22 13:21:30 +01:00
Johannes Hoppe
6018b60fea Wait for form to be submitted 2017-02-21 15:07:19 +01:00
Johannes Hoppe
09110a5460 Fix syntax 2017-02-21 15:07:19 +01:00
Johannes Hoppe
6180846345 Update test suite
- Add tox
- Add python 3.6
- Drop python 3.4
- Add chrome and gecko driver
- Switch tests from memcache to redis
2016-12-28 21:02:32 +01:00
Raony Guimarães
fb3bc19595 Fix Test suite for Django 1.10+
* Fix template dir

This is necessary to make your example work!

* Fix Jquery2 url
2016-11-04 15:52:29 +01:00
Johannes Hoppe
e3c6919bbd Fix tests 2016-08-15 09:07:57 +02:00
Jonas Haag
74bf15ce48 Drop six requirement, use django.utils.six instead (#282)
* Drop six requirement, use django.utils.six instead

* Drop six requirement, use django.utils.six instead

* Make isort happy
2016-06-19 12:27:49 +02:00
Johannes Hoppe
f943fe07f5 Fixes #256 -- Don't render empty option for multiselect (#275) 2016-05-23 16:17:31 +02:00
Damir Arbula
9ed8f58fa6 Fixes #260 -- Normalize choices keys and selected choices to strings 2016-03-01 10:08:41 +01:00
Johannnes Hoppe
a8a4baf04d Fixes #261 -- Adds better hints if widget is not serialisable to django cache
Closes #263
2016-02-24 18:51:39 +01:00
Johannes Hoppe
7923eeb0ee Removes choices from render and render_options signature
Choices has been removed by @jpic in
926e90132d
2016-02-08 10:13:10 +01:00
Johannes Hoppe
8d48887f5c Fixes tests for python 2.7 2016-01-28 14:45:28 +01:00
Johannes Hoppe
fa6a841746 Adds test for get_url type issue 2016-01-27 10:20:27 +01:00
Johannes Hoppe
7d8908daab Fixes version number and QA issue 2016-01-26 17:55:56 +01:00
Johannes Hoppe
4a1b83ad1e Fixes security bug and adds secruity documentation
An attacker was able to use a `field_id` from a "secret" field
and use if on any even the default public select2 view and
receive the data without authentication.
2016-01-26 13:18:36 +01:00
mostafa-anm
33a00c1e39 Fixed #218 -- Add custom label support
Added `label_from_instance` method for model widgets to define custom option labels.

Closed #233
2016-01-19 08:50:09 +01:00
Andrew Dodd
e655ed7a59 Add setting to change source of select2 assets
These changes introduce additional (optional) configuration parameters.
The parameters allow the user of the library to select different JS/CSS
libraries from the ones shipped. In particular, this allows serving from
the local server and/or in private-network-only environments.

Refs #220
Closed #239
2015-12-15 19:57:48 +01:00
Elijah Karari
3c06873148 Replace "patterns" with list in url config
`django.conf.urls.patterns` has been remmoved in Django 1.9.

Closed #236
2015-12-10 16:05:29 +01:00
Johannes Hoppe
84e1abaf4e Remove model_mommy test dependency 2015-12-02 20:05:38 +01:00
Johannes Hoppe
4defb8112b Fixed #222 -- Display intital data for heavy widgets 2015-12-01 10:19:02 +01:00
Anne Fleischer
0457617738 Fixed javaScript bug for multiple different select2 fields on one page
Closed #224
2015-11-18 00:03:02 +01:00
Thomas Schreiber
2beb5d23c7 Fix HeavySelect2TagWidget to respect custom attrs and default overrides
Closed #214
2015-10-27 17:44:22 +01:00
Johannes Hoppe
b0d2325c43 Resolved #209 -- Added pagination 2015-10-05 19:01:43 +02:00
Johannes Hoppe
9d1bcfee6a Fixed flake8 error 2015-10-05 19:01:21 +02:00
Johannes Hoppe
2c1eb8bc4a Fixed -- IndexError: pop from empty list 2015-10-05 12:59:35 +02:00
Johannes Hoppe
75c8c38e2d Impooved cacheing to reduce pickling issues
Not not the entire widget gets cached nor the entire queryset.
The query and gets pickeld separately.
2015-10-01 14:07:51 +02:00
Johannes Hoppe
48ea7549a6 Freeze dev requirements to avoid travis error 2015-10-01 13:01:52 +02:00
Johannes Hoppe
485ea191cb Fixed filter_queryset bug
The reduce statement coundn't handle multiple lookup strings.
2015-09-30 10:28:37 +02:00
Johannes Hoppe
5dfd8553cc Added tests 2015-09-29 13:55:05 +02:00
Johannes Hoppe
6dad55eb11 Upgrade to select2 4.0 2015-09-29 13:55:05 +02:00
Johannes Hoppe
95297a362e Radical removal of all unneeded code 2015-09-29 13:54:23 +02:00
Johannes Hoppe
33b7dffca1 Removed own caching solution in favour of django caching
The old multiprocessing support was hard to maintain.
Since signing and caching are part of `django.core`
there is really no need to stick to our own solution.

As a result multimachine support and security are now always in place.
Fields are stored in Django's cache. The default cache used by select2
is called 'default' but can be cachanged overwriting the setting
`SELECT2_CACHE_BACKEND`.

Recommended cache backends are memcached, redis or a DB-cache.

Refactored AutoResponseView

The main reason for this refactoring is
the fact that the pagingnation was slow.

I dropped major parts of the initial code
and wrote a more django-like-approach.

Noteabley:
- get_results now retuns a QuerySet
- This commit drops django 1.6 support in favour of the JsonResponse (Backporting is possible).
2015-09-29 13:53:29 +02:00
Pawel Iwaszko
77cecbd1cf Added failing test for HeavySelect2MultipleWidget
Closed #175
2015-06-01 10:21:01 +01:00