Browse Source

Merge pull request #305 from interlegis/compilacao

Refatora Vide para trabalhar com DispositivoSearch
pull/308/head
Leandro Roberto da Silva 9 years ago
parent
commit
66cda05de0
  1. 65
      compilacao/forms.py
  2. 3
      compilacao/views.py
  3. 1
      materia/test_materia_urls.py

65
compilacao/forms.py

@ -264,71 +264,6 @@ class NotaForm(ModelForm):
super(NotaForm, self).__init__(*args, **kwargs)
class DispositivoSearchFragmentForm(ModelForm):
tipo_ta = forms.ModelChoiceField(
label=_('Tipo do Texto Articulado'),
queryset=TipoTextoArticulado.objects.all(),
required=False)
tipo_model = forms.ChoiceField(
choices=[],
label=_('Tipos de...'), required=False)
num_ta = forms.IntegerField(
label=_('Número'), required=False)
ano_ta = forms.IntegerField(
label=_('Ano'), required=False)
rotulo_dispositivo = forms.CharField(
label=_('Rótulo'),
required=False)
texto_dispositivo = forms.CharField(
label=_('Pesquisa Textual'),
required=False)
def __init__(self, *args, **kwargs):
if 'fields_search' in kwargs:
fields_search = kwargs['fields_search'].fields
fields_search.append(Fieldset(
_('Busca por um Dispositivo'),
Row(
to_column(('num_ta', 6)),
to_column(('ano_ta', 6))),
Row(
to_column(('tipo_ta', 6)),
to_column(('tipo_model', 6))),
Row(to_column(('rotulo_dispositivo', 3)),
to_column((FieldWithButtons(
Field(
'texto_dispositivo',
placeholder=_('Digite palavras, letras, '
'números ou algo'
' que estejam no texto.')),
StrictButton(_('Buscar'), css_class='btn-busca')), 9)))
))
fields_search.append(
Row(to_column(
(Div(css_class='result-busca-dispositivo'), 12))))
kwargs.pop('fields_search')
if 'choice_model_type_foreignkey_in_extenal_views' in kwargs:
ch = kwargs.pop('choice_model_type_foreignkey_in_extenal_views')
if 'data' in kwargs:
choice = ch(kwargs['data']['tipo_ta'])
self.base_fields['tipo_model'].choices = choice
elif 'instance' in kwargs and\
isinstance(kwargs['instance'], Dispositivo):
choice = ch(kwargs['instance'].ta.tipo_ta_id)
self.base_fields['tipo_model'].choices = choice
super(DispositivoSearchFragmentForm, self).__init__(*args, **kwargs)
class VideForm(ModelForm):
dispositivo_base = forms.ModelChoiceField(
queryset=Dispositivo.objects.all(),

3
compilacao/views.py

@ -1,6 +1,6 @@
import sys
from collections import OrderedDict
from datetime import datetime, timedelta
import sys
from braces.views import FormMessagesMixin
from django import forms
@ -36,7 +36,6 @@ from compilacao.models import (Dispositivo, Nota,
from compilacao.utils import DISPOSITIVO_SELECT_RELATED
from crud.base import Crud, CrudListView, make_pagination
TipoNotaCrud = Crud.build(TipoNota, 'tipo_nota')
TipoVideCrud = Crud.build(TipoVide, 'tipo_vide')
TipoPublicacaoCrud = Crud.build(TipoPublicacao, 'tipo_publicacao')

1
materia/test_materia_urls.py

@ -1,6 +1,5 @@
import pytest
from django.core.urlresolvers import reverse
import pytest
@pytest.mark.parametrize("test_input,kwargs,expected", [

Loading…
Cancel
Save