Browse Source

Cria filterset para pesquisar autores

pull/903/head
Eduardo Edson Batista Cordeiro Alves 8 years ago
parent
commit
23001d9c71
  1. 19
      sapl/materia/forms.py
  2. 40
      sapl/materia/views.py
  3. 0
      sapl/templates/materia/adicionar_varias_autorias.html

19
sapl/materia/forms.py

@ -60,6 +60,25 @@ def em_tramitacao():
(False, 'Não')]
class AdicionarVariasAutoriasFilterSet(django_filters.FilterSet):
class Meta:
model = Autor
fields = ['nome']
def __init__(self, *args, **kwargs):
super(AdicionarVariasAutoriasFilterSet, self).__init__(*args, **kwargs)
row1 = to_row([('nome', 12)])
self.form.helper = FormHelper()
self.form.helper.form_method = 'GET'
self.form.helper.layout = Layout(
Fieldset(_('Pesquisar Autores'),
row1, form_actions(save_label='Pesquisar'))
)
class ReceberProposicaoForm(Form):
cod_hash = forms.CharField(label='Código do Documento', required=True)

40
sapl/materia/views.py

@ -43,7 +43,7 @@ from sapl.utils import (TURNO_TRAMITACAO_CHOICES, YES_NO_CHOICES, autor_label,
montar_row_autor)
from .forms import (AcessorioEmLoteFilterSet, AcompanhamentoMateriaForm,
DespachoInicialForm,
AdicionarVariasAutoriasFilterSet, DespachoInicialForm,
DocumentoAcessorioForm, MateriaLegislativaFilterSet,
MateriaSimplificadaForm, PrimeiraTramitacaoEmLoteFilterSet,
ReceberProposicaoForm, TramitacaoEmLoteFilterSet,
@ -72,6 +72,44 @@ TipoFimRelatoriaCrud = CrudAux.build(
TipoFimRelatoria, 'fim_relatoria')
def retira_autores_ja_adicionados(id):
return []
class AdicionarVariasAutorias(PermissionRequiredForAppCrudMixin, FilterView):
filterset_class = AdicionarVariasAutoriasFilterSet
template_name = 'sessao/adicionar_varias_autorias.html'
def get_filterset_kwargs(self, filterset_class):
super(AdicionarVariasAutorias, self).get_filterset_kwargs(
filterset_class)
kwargs = {'data': self.request.GET or None}
qs = self.get_queryset()
autores_adicionadas = retira_autores_ja_adicionados(self.kwargs['pk'])
qs = qs.exclude(id__in=autores_adicionadas).distinct()
kwargs.update({'queryset': qs})
return kwargs
def get_context_data(self, **kwargs):
context = super(MateriaLegislativaPesquisaView,
self).get_context_data(**kwargs)
context['title'] = _('Pesquisar Autores')
qr = self.request.GET.copy()
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''
context['pk_materia'] = self.kwargs['pk']
return context
def post(self, request, *args, **kwargs):
return HttpResponseRedirect(
reverse('sapl.materia:autoria_list', kwargs={'pk': pk}))
class CriarProtocoloMateriaView(CreateView):
template_name = "crud/form.html"
form_class = MateriaSimplificadaForm

0
sapl/templates/materia/adicionar_varias_autorias.html

Loading…
Cancel
Save