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) 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): class VideForm(ModelForm):
dispositivo_base = forms.ModelChoiceField( dispositivo_base = forms.ModelChoiceField(
queryset=Dispositivo.objects.all(), queryset=Dispositivo.objects.all(),

3
compilacao/views.py

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

1
materia/test_materia_urls.py

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

Loading…
Cancel
Save