Browse Source

1664 fix numeracao materia legislativa (#1726)

* Fix #1714

* Fixes #1718

* Fix #1718

* Progress

* Fix #1664

* Fix #1664

* Fix #1664
pull/1728/head
Talitha Pumar 7 years ago
committed by Edward
parent
commit
f3d1a9925a
  1. 2
      sapl/materia/forms.py
  2. 75
      sapl/materia/tests/test_materia.py
  3. 2
      sapl/materia/urls.py
  4. 6
      sapl/materia/views.py

2
sapl/materia/forms.py

@ -1575,7 +1575,7 @@ class ConfirmarProposicaoForm(ProposicaoForm):
except AttributeError:
pass
tipo = proposicao.tipo.tipo_conteudo_related
tipo = self.instance.tipo.tipo_conteudo_related
if tipo.sequencia_numeracao:
numeracao = tipo.sequencia_numeracao

75
sapl/materia/tests/test_materia.py

@ -1,10 +1,12 @@
import pytest
from django.db.models import Max
from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType
from django.core.files.uploadedfile import SimpleUploadedFile
from django.core.urlresolvers import reverse
from model_mommy import mommy
from sapl.base.models import Autor, TipoAutor
from sapl.parlamentares.models import Legislatura
from sapl.comissoes.models import Comissao, TipoComissao
from sapl.materia.models import (Anexada, Autoria, DespachoInicial,
DocumentoAcessorio, MateriaLegislativa,
@ -505,3 +507,76 @@ def test_form_errors_proposicao(admin_client):
['Este campo é obrigatório.'])
assert (response.context_data['form'].errors['descricao'] ==
['Este campo é obrigatório.'])
@pytest.mark.django_db(transaction=False)
def test_numeracao_materia_legislativa_por_legislatura(admin_client):
#Criar Legislaturas
legislatura1 = mommy.make(Legislatura,
data_inicio='2014-01-01',
data_fim='2018-12-31',
numero=20,
data_eleicao='2013-10-15'
)
legislatura2 = mommy.make(Legislatura,
data_inicio='2009-01-01',
data_fim='2013-12-31',
numero=21,
data_eleicao='2018-10-15'
)
# Cria uma materia na legislatura1
tipo_materia = mommy.make(TipoMateriaLegislativa, id=1,sequencia_numeracao='L')
materia = mommy.make(MateriaLegislativa,
tipo=tipo_materia,
ano=2017,
numero=1
)
url = reverse('sapl.materia:recuperar_materia')
# Testa numeração do Materia Legislativa na Legislatura1
query_params = '?tipo={}&ano={}'.format(materia.tipo.id, materia.ano)
response = admin_client.get(url + query_params, follow=True)
response_content = eval(response.content.decode('ascii'))
esperado_legislatura1 = eval('{"numero": 2, "ano": "2017"}')
assert response_content['numero'] == esperado_legislatura1['numero']
# Testa numeração do Materia Legislativa na Legislatura2
query_params = '?tipo={}&ano={}'.format(1, '2010')
response = admin_client.get(url + query_params, follow=True)
response_content = eval(response.content.decode('ascii'))
esperado_legislatura2 = eval('{"ano": "2010", "numero": 1}')
assert response_content['numero'] == esperado_legislatura2['numero']
@pytest.mark.django_db(transaction=False)
def test_numeracao_materia_legislativa_por_ano(admin_client):
# Cria uma materia
tipo_materia = mommy.make(TipoMateriaLegislativa, id=1,sequencia_numeracao='A')
materia = mommy.make(MateriaLegislativa,
tipo=tipo_materia,
ano=2017,
numero=1
)
url = reverse('sapl.materia:recuperar_materia')
# Testa numeração da Materia Legislativa no ano da materia criada
query_params = '?tipo={}&ano={}'.format(materia.tipo.id, materia.ano)
response = admin_client.get(url + query_params, follow=True)
response_content = eval(response.content.decode('ascii'))
esperado_ano = eval('{"numero": 2, "ano": "2017"}')
assert response_content['numero'] == esperado_ano['numero']
# Testa numeração da Materia Legislativa de outro ano
query_params = '?tipo={}&ano={}'.format(1, '2010')
response = admin_client.get(url + query_params, follow=True)
response_content = eval(response.content.decode('ascii'))
esperado_outro_ano = eval('{"ano": "2010", "numero": 1}')
assert response_content['numero'] == esperado_outro_ano['numero']

2
sapl/materia/urls.py

@ -62,7 +62,7 @@ urlpatterns_materia = [
url(r'^materia/(?P<pk>[0-9]+)/create_simplificado$',
CriarProtocoloMateriaView.as_view(),
name='materia_create_simplificado'),
url(r'^materia/recuperar-materia', recuperar_materia),
url(r'^materia/recuperar-materia',recuperar_materia, name='recuperar_materia'),
url(r'^materia/(?P<pk>[0-9]+)/ta$',
MateriaTaView.as_view(), name='materia_ta'),

6
sapl/materia/views.py

@ -295,9 +295,11 @@ def recuperar_materia(request):
if numeracao == 'A':
numero = MateriaLegislativa.objects.filter(
ano=timezone.now().year).aggregate(Max('numero'))
ano=ano).aggregate(Max('numero'))
elif numeracao == 'L':
legislatura = Legislatura.objects.first()
legislatura = Legislatura.objects.filter(
data_inicio__year__lte=ano,
data_fim__year__gte=ano).first()
data_inicio = legislatura.data_inicio
data_fim = legislatura.data_fim
numero = MateriaLegislativa.objects.filter(

Loading…
Cancel
Save