From 8ccb23daf7d6b63f00418e615d987a00b273a3ef Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Fri, 23 Sep 2016 09:55:05 -0300 Subject: [PATCH] Refatora widget de range de datas --- sapl/base/forms.py | 33 +++++++-------------------------- sapl/materia/forms.py | 26 ++++---------------------- sapl/protocoloadm/forms.py | 6 +++--- sapl/utils.py | 23 +++++++++++++++++++++++ 4 files changed, 37 insertions(+), 51 deletions(-) diff --git a/sapl/base/forms.py b/sapl/base/forms.py index 8a28dabbe..4334f7e94 100644 --- a/sapl/base/forms.py +++ b/sapl/base/forms.py @@ -12,32 +12,12 @@ from sapl.crispy_layout_mixin import form_actions, to_row from sapl.materia.models import MateriaLegislativa from sapl.sessao.models import SessaoPlenaria from sapl.settings import MAX_IMAGE_UPLOAD_SIZE -from sapl.utils import (RANGE_ANOS, ImageThumbnailFileInput, autor_label, - autor_modal) +from sapl.utils import (RANGE_ANOS, ImageThumbnailFileInput, + RangeWidgetOverride, autor_label, autor_modal) from .models import AppConfig, CasaLegislativa -class RangeWidgetOverride(forms.MultiWidget): - - def __init__(self, attrs=None): - widgets = (forms.DateInput(format='%d/%m/%Y', - attrs={'class': 'dateinput', - 'placeholder': 'Inicial'}), - forms.DateInput(format='%d/%m/%Y', - attrs={'class': 'dateinput', - 'placeholder': 'Final'})) - super(RangeWidgetOverride, self).__init__(widgets, attrs) - - def decompress(self, value): - if value: - return [value.start, value.stop] - return [None, None] - - def format_output(self, rendered_widgets): - return ''.join(rendered_widgets) - - class RelatorioAtasFilterSet(django_filters.FilterSet): filter_overrides = {models.DateField: { @@ -53,7 +33,7 @@ class RelatorioAtasFilterSet(django_filters.FilterSet): def __init__(self, *args, **kwargs): super(RelatorioAtasFilterSet, self).__init__( - *args, **kwargs) + *args, **kwargs) self.filters['data_inicio'].label = 'Período (Inicial - Final)' self.form.fields['data_inicio'].required = True @@ -83,7 +63,7 @@ class RelatorioPresencaSessaoFilterSet(django_filters.FilterSet): def __init__(self, *args, **kwargs): super(RelatorioPresencaSessaoFilterSet, self).__init__( - *args, **kwargs) + *args, **kwargs) self.filters['data_inicio'].label = 'Período (Inicial - Final)' self.form.fields['data_inicio'].required = True @@ -114,7 +94,7 @@ class RelatorioHistoricoTramitacaoFilterSet(django_filters.FilterSet): def __init__(self, *args, **kwargs): super(RelatorioHistoricoTramitacaoFilterSet, self).__init__( - *args, **kwargs) + *args, **kwargs) self.filters['tipo'].label = 'Tipo de Matéria' @@ -146,7 +126,7 @@ class RelatorioMateriasTramitacaoilterSet(django_filters.FilterSet): def __init__(self, *args, **kwargs): super(RelatorioMateriasTramitacaoilterSet, self).__init__( - *args, **kwargs) + *args, **kwargs) self.filters['tipo'].label = 'Tipo de Matéria' @@ -287,6 +267,7 @@ class LoginForm(AuthenticationForm): class ConfiguracoesAppForm(ModelForm): + class Meta: model = AppConfig fields = ['documentos_administrativos', diff --git a/sapl/materia/forms.py b/sapl/materia/forms.py index bccddeb5e..c4ddf8658 100644 --- a/sapl/materia/forms.py +++ b/sapl/materia/forms.py @@ -17,7 +17,8 @@ from sapl.crispy_layout_mixin import form_actions, to_row from sapl.norma.models import (LegislacaoCitada, NormaJuridica, TipoNormaJuridica) from sapl.settings import MAX_DOC_UPLOAD_SIZE -from sapl.utils import RANGE_ANOS, autor_label, autor_modal +from sapl.utils import (RANGE_ANOS, RangeWidgetOverride, autor_label, + autor_modal) from .models import (AcompanhamentoMateria, Anexada, Autor, Autoria, DespachoInicial, DocumentoAcessorio, MateriaLegislativa, @@ -34,6 +35,7 @@ def em_tramitacao(): class ConfirmarProposicaoForm(ModelForm): + class Meta: model = Proposicao exclude = ['texto_original', 'descricao', 'tipo'] @@ -247,7 +249,7 @@ class TramitacaoForm(ModelForm): raise ValidationError(msg) if (ultima_tramitacao and - data_tram_form < ultima_tramitacao.data_tramitacao): + data_tram_form < ultima_tramitacao.data_tramitacao): msg = _('A data da nova tramitação deve ser ' + 'maior que a data da última tramitação!') raise ValidationError(msg) @@ -445,26 +447,6 @@ class AnexadaForm(ModelForm): fields = ['tipo', 'numero', 'ano', 'data_anexacao', 'data_desanexacao'] -class RangeWidgetOverride(forms.MultiWidget): - - def __init__(self, attrs=None): - widgets = (forms.DateInput(format='%d/%m/%Y', - attrs={'class': 'dateinput', - 'placeholder': 'Inicial'}), - forms.DateInput(format='%d/%m/%Y', - attrs={'class': 'dateinput', - 'placeholder': 'Final'})) - super(RangeWidgetOverride, self).__init__(widgets, attrs) - - def decompress(self, value): - if value: - return [value.start, value.stop] - return [None, None] - - def format_output(self, rendered_widgets): - return ''.join(rendered_widgets) - - class MateriaLegislativaFilterSet(django_filters.FilterSet): filter_overrides = {models.DateField: { diff --git a/sapl/protocoloadm/forms.py b/sapl/protocoloadm/forms.py index 4d247adfa..c9e98e4fa 100644 --- a/sapl/protocoloadm/forms.py +++ b/sapl/protocoloadm/forms.py @@ -11,9 +11,9 @@ from django.forms import ModelForm from django.utils.translation import ugettext_lazy as _ from sapl.crispy_layout_mixin import form_actions, to_row -from sapl.materia.forms import RangeWidgetOverride from sapl.materia.models import Autor, UnidadeTramitacao -from sapl.utils import RANGE_ANOS, autor_label, autor_modal +from sapl.utils import (RANGE_ANOS, RangeWidgetOverride, autor_label, + autor_modal) from .models import (DocumentoAcessorioAdministrativo, DocumentoAdministrativo, Protocolo, TipoDocumentoAdministrativo, @@ -512,7 +512,7 @@ class TramitacaoAdmForm(ModelForm): raise ValidationError(msg) if (ultima_tramitacao and - data_tram_form < ultima_tramitacao.data_tramitacao): + data_tram_form < ultima_tramitacao.data_tramitacao): msg = _('A data da nova tramitação deve ser ' + 'maior que a data da última tramitação!') raise ValidationError(msg) diff --git a/sapl/utils.py b/sapl/utils.py index b59b4f5b3..df4a895d1 100644 --- a/sapl/utils.py +++ b/sapl/utils.py @@ -3,6 +3,7 @@ from datetime import date from functools import wraps import magic +from django import forms from django.apps import apps from django.conf import settings from django.contrib import admin @@ -46,6 +47,28 @@ class ImageThumbnailFileInput(ClearableFileInput): template_name = 'floppyforms/image_thumbnail.html' +class RangeWidgetOverride(forms.MultiWidget): + + def __init__(self, attrs=None): + widgets = (forms.DateInput(format='%d/%m/%Y', + attrs={'class': 'dateinput', + 'placeholder': 'Inicial'}), + forms.DateInput(format='%d/%m/%Y', + attrs={'class': 'dateinput', + 'placeholder': 'Final'})) + super(RangeWidgetOverride, self).__init__(widgets, attrs) + + def decompress(self, value): + if value: + return [value.start, value.stop] + return [None, None] + + def format_output(self, rendered_widgets): + html = '
%s
%s
'\ + % tuple(rendered_widgets) + return '
%s
' % html + + def register_all_models_in_admin(module_name): appname = module_name.split('.') appname = appname[1] if appname[0] == 'sapl' else appname[0]