From fb205dcd3f4ec9dba3ff56b0a38b4654c325c3c9 Mon Sep 17 00:00:00 2001 From: Artur Barseghyan Date: Tue, 1 Nov 2016 01:37:29 +0100 Subject: [PATCH] prepare 0.9.11; fixes --- CHANGELOG.rst | 6 +++++ setup.py | 2 +- src/fobi/__init__.py | 2 +- src/fobi/widgets.py | 62 ++++++++++++++++++++++++++++++++++---------- 4 files changed, 57 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 9e55e9b5..afc8d757 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -15,6 +15,12 @@ are used for versioning (schema follows below): 0.3.4 to 0.4). - All backwards incompatible changes are mentioned in this document. +0.9.11 +------ +2016-11-01 + +- Fixes. + 0.9.10 ------ 2016-11-01 diff --git a/setup.py b/setup.py index 984f0499..99575981 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ import sys from distutils.version import LooseVersion from setuptools import setup, find_packages -version = '0.9.10' +version = '0.9.11' # *************************************************************************** # ************************** Django version ********************************* diff --git a/src/fobi/__init__.py b/src/fobi/__init__.py index ab797b25..3f42cbaa 100644 --- a/src/fobi/__init__.py +++ b/src/fobi/__init__.py @@ -1,5 +1,5 @@ __title__ = 'django-fobi' -__version__ = '0.9.10' +__version__ = '0.9.11' __build__ = 0x00006c __author__ = 'Artur Barseghyan ' __copyright__ = '2014-2016 Artur Barseghyan' diff --git a/src/fobi/widgets.py b/src/fobi/widgets.py index 2ab800d3..eb3aaaeb 100644 --- a/src/fobi/widgets.py +++ b/src/fobi/widgets.py @@ -3,6 +3,8 @@ from django.utils.html import format_html from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ +from nine import versions + from .helpers import flatatt_inverse_quotes # Safe import of ``NumberInput`` @@ -106,17 +108,51 @@ class RichSelectInverseQuotes(RichSelect): Uses inverse quotes. """ + if versions.DJANGO_GTE_1_10: + def render(self, name, value, attrs=None): + if self.override_name is not None: + name = self.override_name - def render(self, name, value, attrs=None): - if value is None: - value = '' - final_attrs = self.build_attrs(attrs, name=name) - output = [format_html( - '', - flatatt_inverse_quotes(final_attrs) - )] - options = self.render_options([value]) - if options: - output.append(options) - output.append('') - return mark_safe('\n'.join(output)) + if value is None: + value = '' + final_attrs = self.build_attrs(attrs, name=name) + output = [ + format_html('', flatatt_inverse_quotes(final_attrs)) + ] + options = self.render_options([value]) + if options: + output.append(options) + output.append('') + rendered_select = mark_safe('\n'.join(output)) + + return mark_safe( + '\n'.join([ + format_html(self.prepend_html), + rendered_select, + format_html(self.append_html) + ]) + ) + else: + def render(self, name, value, attrs=None, choices=()): + if self.override_name is not None: + name = self.override_name + + if value is None: + value = '' + final_attrs = self.build_attrs(attrs, name=name) + output = [ + format_html('', flatatt_inverse_quotes(final_attrs)) + ] + options = self.render_options(choices, [value]) + if options: + output.append(options) + output.append('') + rendered_select = mark_safe('\n'.join(output)) + + return mark_safe( + '\n'.join([ + format_html(self.prepend_html), + rendered_select, + format_html(self.append_html) + ]) + )