diff --git a/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/__init__.py b/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/__init__.py index 090fcc96..a70ff528 100644 --- a/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/__init__.py +++ b/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/__init__.py @@ -1,9 +1,11 @@ -__title__ = 'fobi.contrib.plugins.form_elements.fields.select_mptt_model_object' +__title__ = 'fobi.contrib.plugins.form_elements.fields.' \ + 'select_mptt_model_object' __author__ = 'Artur Barseghyan ' __copyright__ = '2014-2016 Artur Barseghyan' __license__ = 'GPL 2.0/LGPL 2.1' __all__ = ('default_app_config', 'UID',) -default_app_config = 'fobi.contrib.plugins.form_elements.fields.select_mptt_model_object.apps.Config' +default_app_config = 'fobi.contrib.plugins.form_elements.fields.' \ + 'select_mptt_model_object.apps.Config' UID = 'select_mptt_model_object' diff --git a/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/apps.py b/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/apps.py index 0178e070..3d921149 100644 --- a/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/apps.py +++ b/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/apps.py @@ -1,4 +1,5 @@ -__title__ = 'fobi.contrib.plugins.form_elements.fields.select_mptt_model_object.apps' +__title__ = 'fobi.contrib.plugins.form_elements.fields.' \ + 'select_mptt_model_object.apps' __author__ = 'Artur Barseghyan ' __copyright__ = '2014-2016 Artur Barseghyan' __license__ = 'GPL 2.0/LGPL 2.1' @@ -8,8 +9,12 @@ try: from django.apps import AppConfig class Config(AppConfig): - name = 'fobi.contrib.plugins.form_elements.fields.select_mptt_model_object' - label = 'fobi_contrib_plugins_form_elements_fields_select_mptt_model_object' + """Config.""" + + name = 'fobi.contrib.plugins.form_elements.fields.' \ + 'select_mptt_model_object' + label = 'fobi_contrib_plugins_form_elements_fields_' \ + 'select_mptt_model_object' except ImportError: pass diff --git a/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/conf.py b/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/conf.py index a02528bd..25feaf64 100644 --- a/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/conf.py +++ b/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/conf.py @@ -1,15 +1,18 @@ -__title__ = 'fobi.contrib.plugins.form_elements.fields.select_mptt_model_object.conf' +from django.conf import settings + +from . import defaults + +__title__ = 'fobi.contrib.plugins.form_elements.fields.' \ + 'select_mptt_model_object.conf' __author__ = 'Artur Barseghyan ' __copyright__ = '2014-2016 Artur Barseghyan' __license__ = 'GPL 2.0/LGPL 2.1' __all__ = ('get_setting',) -from django.conf import settings - -from . import defaults def get_setting(setting, override=None): - """ + """Get setting. + Get a setting from `fobi.contrib.plugins.form_elements.fields.select_mptt_model_object` conf module, falling back to the default. @@ -23,7 +26,13 @@ def get_setting(setting, override=None): """ if override is not None: return override - if hasattr(settings, 'FOBI_FORM_ELEMENT_SELECT_MPTT_MODEL_OBJECT_{0}'.format(setting)): - return getattr(settings, 'FOBI_FORM_ELEMENT_SELECT_MPTT_MODEL_OBJECT_{0}'.format(setting)) + if hasattr( + settings, + 'FOBI_FORM_ELEMENT_SELECT_MPTT_MODEL_OBJECT_{0}'.format(setting) + ): + return getattr( + settings, + 'FOBI_FORM_ELEMENT_SELECT_MPTT_MODEL_OBJECT_{0}'.format(setting) + ) else: return getattr(defaults, setting) diff --git a/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/defaults.py b/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/defaults.py index 3e0f5d7f..1f44c740 100644 --- a/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/defaults.py +++ b/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/defaults.py @@ -1,11 +1,12 @@ -__title__ = 'fobi.contrib.plugins.form_elements.fields.select_mptt_model_object.defaults' +from fobi.constants import SUBMIT_VALUE_AS_MIX + +__title__ = 'fobi.contrib.plugins.form_elements.fields.' \ + 'select_mptt_model_object.defaults' __author__ = 'Artur Barseghyan ' __copyright__ = 'Copyright (c) 2014 Artur-2015 Barseghyan' __license__ = 'GPL 2.0/LGPL 2.1' __all__ = ('IGNORED_MODELS', 'SUBMIT_VALUE_AS',) -from fobi.constants import SUBMIT_VALUE_AS_MIX - IGNORED_MODELS = [] SUBMIT_VALUE_AS = SUBMIT_VALUE_AS_MIX diff --git a/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/fobi_form_elements.py b/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/fobi_form_elements.py index 752d0ff4..fb9fe95e 100644 --- a/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/fobi_form_elements.py +++ b/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/fobi_form_elements.py @@ -1,10 +1,3 @@ -__title__ = 'fobi.contrib.plugins.form_elements.fields.select_mptt_model_object.fobi_form_elements' -__author__ = 'Artur Barseghyan ' -__copyright__ = '2014-2016 Artur Barseghyan' -__license__ = 'GPL 2.0/LGPL 2.1' -__all__ = ('SelectMPTTModelObjectInputPlugin',) - -from django.db import models from django.forms.widgets import Select from django.utils.translation import ugettext_lazy as _ @@ -13,36 +6,42 @@ from mptt.fields import TreeNodeChoiceField from fobi.base import FormFieldPlugin, form_element_plugin_registry, get_theme from fobi.constants import ( SUBMIT_VALUE_AS_VAL, SUBMIT_VALUE_AS_REPR - ) +) from fobi.helpers import safe_text, get_app_label_and_model_name from nine.versions import DJANGO_GTE_1_7 -if DJANGO_GTE_1_7: - from django.apps import apps - get_model = apps.get_model -else: - from django.db.models import get_model - from . import UID from .forms import SelectMPTTModelObjectInputForm from .settings import SUBMIT_VALUE_AS +if DJANGO_GTE_1_7: + from django.apps import apps + + get_model = apps.get_model +else: + from django.db.models import get_model + +__title__ = 'fobi.contrib.plugins.form_elements.fields.' \ + 'select_mptt_model_object.fobi_form_elements' +__author__ = 'Artur Barseghyan ' +__copyright__ = '2014-2016 Artur Barseghyan' +__license__ = 'GPL 2.0/LGPL 2.1' +__all__ = ('SelectMPTTModelObjectInputPlugin',) + theme = get_theme(request=None, as_instance=True) + class SelectMPTTModelObjectInputPlugin(FormFieldPlugin): - """ - Select MPTT model object field plugin. - """ + """Select MPTT model object field plugin.""" + uid = UID name = _("Select MPTT model object") group = _("Fields") form = SelectMPTTModelObjectInputForm def get_form_field_instances(self, request=None): - """ - Get form field instances. - """ + """Get form field instances.""" app_label, model_name = get_app_label_and_model_name(self.data.model) model = get_model(app_label, model_name) queryset = model._default_manager.all() @@ -59,8 +58,7 @@ class SelectMPTTModelObjectInputPlugin(FormFieldPlugin): return [(self.data.name, TreeNodeChoiceField, kwargs)] def submit_plugin_form_data(self, form_entry, request, form): - """ - Submit plugin form data/process. + """Submit plugin form data/process. :param fobi.models.FormEntry form_entry: Instance of ``fobi.models.FormEntry``. diff --git a/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/forms.py b/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/forms.py index a95e7ebe..f52a9fb2 100644 --- a/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/forms.py +++ b/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/forms.py @@ -1,9 +1,3 @@ -__title__ = 'fobi.contrib.plugins.form_elements.fields.select_mptt_model_object.forms' -__author__ = 'Artur Barseghyan ' -__copyright__ = '2014-2016 Artur Barseghyan' -__license__ = 'GPL 2.0/LGPL 2.1' -__all__ = ('SelectMPTTModelObjectInputForm',) - from django import forms from django.utils.translation import ugettext_lazy as _ @@ -12,12 +6,19 @@ from fobi.helpers import get_registered_models from .settings import IGNORED_MODELS +__title__ = 'fobi.contrib.plugins.form_elements.fields.' \ + 'select_mptt_model_object.forms' +__author__ = 'Artur Barseghyan ' +__copyright__ = '2014-2016 Artur Barseghyan' +__license__ = 'GPL 2.0/LGPL 2.1' +__all__ = ('SelectMPTTModelObjectInputForm',) + theme = get_theme(request=None, as_instance=True) + class SelectMPTTModelObjectInputForm(forms.Form, BaseFormFieldPluginForm): - """ - Form for ``SelectMPTTModelObjectPlugin``. - """ + """Form for ``SelectMPTTModelObjectPlugin``.""" + plugin_data_fields = [ ("label", ""), ("name", ""), @@ -30,40 +31,53 @@ class SelectMPTTModelObjectInputForm(forms.Form, BaseFormFieldPluginForm): label = forms.CharField( label=_("Label"), required=True, - widget=forms.widgets.TextInput(attrs={'class': theme.form_element_html_class}) + widget=forms.widgets.TextInput( + attrs={'class': theme.form_element_html_class} ) + ) name = forms.CharField( label=_("Name"), required=True, - widget=forms.widgets.TextInput(attrs={'class': theme.form_element_html_class}) + widget=forms.widgets.TextInput( + attrs={'class': theme.form_element_html_class} ) + ) model = forms.ChoiceField( - label = _("Model"), - choices = [], + label=_("Model"), + choices=[], required=False, - widget = forms.widgets.Select(attrs={'class': theme.form_element_html_class}) + widget=forms.widgets.Select( + attrs={'class': theme.form_element_html_class} ) + ) help_text = forms.CharField( label=_("Help text"), required=False, - widget=forms.widgets.Textarea(attrs={'class': theme.form_element_html_class}) + widget=forms.widgets.Textarea( + attrs={'class': theme.form_element_html_class} ) + ) initial = forms.CharField( label=_("Initial"), required=False, - widget=forms.widgets.TextInput(attrs={'class': theme.form_element_html_class}) + widget=forms.widgets.TextInput( + attrs={'class': theme.form_element_html_class} ) + ) required = forms.BooleanField( label=_("Required"), required=False, - widget=forms.widgets.CheckboxInput(attrs={'class': theme.form_element_checkbox_html_class}) + widget=forms.widgets.CheckboxInput( + attrs={'class': theme.form_element_checkbox_html_class} ) + ) def __init__(self, *args, **kwargs): - """ + """Constructor. + In order to avoid static calls to `get_registered_models`. """ super(SelectMPTTModelObjectInputForm, self).__init__(*args, **kwargs) self.fields['model'].choices = get_registered_models( - ignore = IGNORED_MODELS - ) + ignore=IGNORED_MODELS + ) diff --git a/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/settings.py b/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/settings.py index bf44da27..9a026a75 100644 --- a/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/settings.py +++ b/src/fobi/contrib/plugins/form_elements/fields/select_mptt_model_object/settings.py @@ -1,13 +1,14 @@ -__title__ = 'fobi.contrib.plugins.form_elements.fields.select_mptt_model_object.settings' +from fobi.helpers import validate_submit_value_as + +from .conf import get_setting + +__title__ = 'fobi.contrib.plugins.form_elements.fields.' \ + 'select_mptt_model_object.settings' __author__ = 'Artur Barseghyan ' __copyright__ = '2014-2016 Artur Barseghyan' __license__ = 'GPL 2.0/LGPL 2.1' __all__ = ('IGNORED_MODELS', 'SUBMIT_VALUE_AS',) -from fobi.helpers import validate_submit_value_as - -from .conf import get_setting - IGNORED_MODELS = get_setting('IGNORED_MODELS') SUBMIT_VALUE_AS = get_setting('SUBMIT_VALUE_AS')