Skip to content

Commit

Permalink
Fix issue #15 "RemovedInDjango18Warning"
Browse files Browse the repository at this point in the history
  • Loading branch information
asyncee committed Oct 13, 2014
1 parent 20f3223 commit c72bcd9
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 8 deletions.
4 changes: 4 additions & 0 deletions docs/source/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ Changelog
Version 1.2
-----------

1.2.11
~~~~~~
- fixed issue#15 - "RemovedInDjango18Warning"

1.2.10
~~~~~~
- fixed issue#14 - README.rst is not included in MANIFEST.in
Expand Down
28 changes: 21 additions & 7 deletions easy_select2/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,24 @@
from easy_select2.widgets import Select2Mixin, Select2, Select2Multiple


# TODO: refactor keyword arguments
# move attrs to **kwargs and pass **kwargs to Select2
def select2_meta_factory(model, meta_fields=None, widgets=None, attrs=None):
# TODO: merge meta_fields and kwargs, which is the same.
def select2_modelform_meta(model,
meta_fields=None,
widgets=None,
attrs=None,
**kwargs):
"""
Return `Meta` class with Select2-enabled widgets for fields
with choices (e.g. ForeignKey, CharField, etc) for use with
ModelForm.
Attrs argument is select2 widget attributes (width, for example)
and must be of type `dict`.
Arguments:
model - a model class to create `Meta` class for.
meta_fields - dictionary with `Meta` class fields, for
example, {'fields': ['id', 'name']}
attrs - select2 widget attributes (width, for example),
must be of type `dict`.
**kwargs - will be merged with meta_fields.
"""
widgets = widgets or {}
meta_fields = meta_fields or {}
Expand All @@ -34,14 +42,20 @@ def select2_meta_factory(model, meta_fields=None, widgets=None, attrs=None):
msg = _('Hold down "Control", or "Command" on a Mac, to select more than one.')
field.help_text = field.help_text.replace(force_text(msg), '')

meta_fields.update({'model': model, 'widgets': widgets})
meta_fields.update({
'model': model,
'widgets': widgets,
})
if not 'exclude' in kwargs and not 'fields' in kwargs:
meta_fields.update({'exclude': []})
meta_fields.update(**kwargs)
meta = type('Meta', (object,), meta_fields)

return meta


# select2_meta_factory is deprecated name
select2_modelform_meta = select2_meta_factory
select2_meta_factory = select2_modelform_meta


def select2_modelform(model, attrs=None, form_class=forms.ModelForm):
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

setup(
name="django-easy-select2",
version="1.2.10",
version="1.2.11",
packages=find_packages(),
author="asyncee",
description="Django select2 theme for select input widgets.",
Expand Down

0 comments on commit c72bcd9

Please sign in to comment.