diff --git a/.gitignore b/.gitignore index 8132994dd..0740715ca 100644 --- a/.gitignore +++ b/.gitignore @@ -89,11 +89,3 @@ bower bower_components media -<<<<<<< HEAD -# Merge garbage -.orig - -======= -#merge garbage -.orig ->>>>>>> Arruma quebra em pesquisa por Relatoria diff --git a/materia/forms.py b/materia/forms.py index 300b84a3a..8cd09b4ea 100644 --- a/materia/forms.py +++ b/materia/forms.py @@ -7,7 +7,7 @@ from crispy_forms.layout import Button, Column, Fieldset, HTML, Layout, Submit from crispy_layout_mixin import form_actions from django import forms -from django.core.exceptions import ValidationError +from django.core.exceptions import ValidationError, ObjectDoesNotExist from django.db.models import Max from django.forms import ModelForm from django.utils.translation import ugettext_lazy as _ @@ -30,11 +30,6 @@ def em_tramitacao(): (False, 'Não')] -def ordenacao(): - return [('data, tipo, ano, numero', 'Data, Tipo, Ano, Numero'), - ('tipo, ano, numero, data', 'Tipo, Ano, Numero, Data')] - - class ProposicaoForm(ModelForm): tipo_materia = forms.ModelChoiceField( @@ -558,11 +553,26 @@ class AutoriaForm(ModelForm): choices=[(True, _('Sim')), (False, _('Não'))], ) + materia_id = forms.CharField(widget=forms.HiddenInput(), required=False) + class Meta: model = Autoria fields = ['autor', 'primeiro_autor', - 'partido'] + 'partido', + 'materia_id'] + + def clean(self): + if self.data['materia_id'] and self.data['autor']: + try: + materia = MateriaLegislativa.objects.get( + id=self.data['materia_id']) + Autoria.objects.get(autor=self.data['autor'], + materia=materia) + raise forms.ValidationError( + _('Essa autoria já foi adicionada!')) + except ObjectDoesNotExist: + pass def __init__(self, excluir=False, *args, **kwargs): diff --git a/materia/views.py b/materia/views.py index fabbd0864..4b4996747 100644 --- a/materia/views.py +++ b/materia/views.py @@ -18,6 +18,10 @@ from django.utils.translation import ugettext_lazy as _ from django.views.generic import CreateView, FormView, ListView, TemplateView from django_filters.views import FilterView +from base.models import CasaLegislativa +from comissoes.models import Comissao, Composicao +from compilacao.views import IntegracaoTaView +from crud.base import Crud, make_pagination from norma.models import LegislacaoCitada, NormaJuridica, TipoNormaJuridica from parlamentares.models import Partido from random import choice @@ -1243,10 +1247,14 @@ class MateriaLegislativaPesquisaView(FilterView): else: self.object_list = self.filterset.qs - if (data and data.get('numero') is not None): + # Se a pesquisa estiver quebrando com a paginação + # Olhe esta função abaixo + # Provavelmente você criou um novo campo no Form/Field + # Então a ordem da URL está diferente + if (data and data.get('tipo') is not None): url = "&"+str(self.request.environ['QUERY_STRING']) if url[:5] == "&page": - ponto_comeco = url.find('numero=') - 1 + ponto_comeco = url.find('tipo=') - 1 url = url[ponto_comeco:] else: url = '' diff --git a/templates/materia/proposicao/proposicao_list.html b/templates/materia/proposicao/proposicao_list.html index 5f4b5353e..566dc8566 100644 --- a/templates/materia/proposicao/proposicao_list.html +++ b/templates/materia/proposicao/proposicao_list.html @@ -9,11 +9,10 @@ {% endblock %} {% block detail_content %} -