Browse Source

Fix qa

pull/471/head
Eduardo Edson Batista Cordeiro Alves 10 years ago
parent
commit
dda17087b3
  1. 33
      comissoes/tests/test_comissoes.py
  2. 16
      comissoes/urls.py
  3. 100
      comissoes/views.py
  4. 2
      protocoloadm/views.py

33
comissoes/tests/test_comissoes.py

@ -44,44 +44,17 @@ def make_filiacao():
return Filiacao.objects.first()
@pytest.mark.django_db(transaction=False)
def test_incluir_parlamentar_submit(client):
comissao = make_comissao()
composicao = make_composicao(comissao)
filiacao = make_filiacao()
cargo = mommy.make(CargoComissao,
nome='Cargo',
unico=True)
response = client.post(reverse('comissoes:comissao_parlamentar',
kwargs={'pk': comissao.pk,
'id': composicao.pk}),
{'parlamentar_id': filiacao.pk,
'cargo': cargo.pk,
'data_designacao': '2016-03-22',
'titular': True,
'salvar': 'salvar'},
follow=True)
assert response.status_code == 200
participacao = Participacao.objects.first()
assert participacao.parlamentar == filiacao.parlamentar
assert participacao.cargo.nome == 'Cargo'
assert participacao.composicao == composicao
@pytest.mark.django_db(transaction=False)
def test_incluir_parlamentar_errors(client):
comissao = make_comissao()
composicao = make_composicao(comissao)
response = client.post(reverse('comissoes:comissao_parlamentar',
kwargs={'pk': comissao.pk,
'id': composicao.pk}),
response = client.post(reverse('comissoes:participacao_create',
kwargs={'pk': composicao.pk}),
{'salvar': 'salvar'},
follow=True)
assert (response.context_data['form'].errors['parlamentar_id'] ==
assert (response.context_data['form'].errors['parlamentar'] ==
['Este campo é obrigatório.'])
assert (response.context_data['form'].errors['cargo'] ==
['Este campo é obrigatório.'])

16
comissoes/urls.py

@ -1,10 +1,8 @@
from django.conf.urls import include, url
from comissoes.views import (CargoCrud, ComissaoCrud,
ComissaoParlamentarEditView,
ComissaoParlamentarIncluirView, ComposicaoCrud,
MateriasTramitacaoListView, PeriodoComposicaoCrud,
TipoComissaoCrud, ParticipacaoCrud)
from comissoes.views import (CargoCrud, ComissaoCrud, ComposicaoCrud,
MateriasTramitacaoListView, ParticipacaoCrud,
PeriodoComposicaoCrud, TipoComissaoCrud)
from .apps import AppConfig
@ -18,14 +16,6 @@ urlpatterns = [
url(r'^comissao/(?P<pk>\d+)/materias-em-tramitacao$',
MateriasTramitacaoListView.as_view(), name='materias_em_tramitacao'),
url(r'^comissao/(?P<pk>\d+)/composicao/(?P<id>\d+)/parlamentar$',
ComissaoParlamentarIncluirView.as_view(),
name='comissao_parlamentar'),
url(r'''^comissao/(?P<pk>\d+)/composicao/(?P<cd>\d+)/
parlamentar/(?P<id>\d+)/edit$''',
ComissaoParlamentarEditView.as_view(),
name='comissao_parlamentar_edit'),
url(r'^sistema/comissao/cargo/', include(CargoCrud.get_urls())),
url(r'^sistema/comissao/periodo-composicao/',
include(PeriodoComposicaoCrud.get_urls())),

100
comissoes/views.py

@ -1,14 +1,11 @@
from django.contrib import messages
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _
from django.views.generic import FormView, ListView
from django.views.generic import ListView
import crud.base
import crud.masterdetail
from crud.base import Crud
from crud.masterdetail import MasterDetailCrud
from materia.models import Tramitacao
from parlamentares.models import Filiacao
from .models import (CargoComissao, Comissao, Composicao, Participacao,
Periodo, TipoComissao)
@ -82,101 +79,6 @@ class ComissaoCrud(Crud):
list_field_names = ['nome', 'sigla', 'tipo', 'data_criacao']
class ComissaoParlamentarIncluirView(FormView):
template_name = "comissoes/comissao_parlamentar.html"
def get(self, request, *args, **kwargs):
form = ParticipacaoCadastroForm()
comissao = Comissao.objects.get(id=self.kwargs['pk'])
return self.render_to_response({'form': form,
'composicao_id': self.kwargs['id'],
'comissao': comissao})
def post(self, request, *args, **kwargs):
composicao = Composicao.objects.get(id=self.kwargs['id'])
form = ParticipacaoCadastroForm(request.POST)
comissao = Comissao.objects.get(id=self.kwargs['pk'])
if form.is_valid():
cargo = form.cleaned_data['cargo']
if cargo.nome == 'Presidente':
for p in Participacao.objects.filter(composicao=composicao):
if p.cargo.nome == 'Presidente':
msg = _('Esse cargo já está sendo ocupado!')
messages.add_message(request, messages.INFO, msg)
return self.render_to_response(
{'form': form,
'composicao_id': self.kwargs['id'],
'comissao': comissao})
else:
# Pensar em forma melhor para não duplicar código
participacao = form.save(commit=False)
participacao.composicao = composicao
participacao.parlamentar = (
form.cleaned_data['parlamentar_id'].parlamentar)
participacao.save()
else:
participacao = form.save(commit=False)
participacao.composicao = composicao
participacao.parlamentar = (
form.cleaned_data['parlamentar_id'].parlamentar)
participacao.save()
return self.form_valid(form)
else:
return self.render_to_response(
{'form': form,
'composicao_id': self.kwargs['id'],
'comissao': comissao})
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('comissoes:composicao', kwargs={'pk': pk})
class ComissaoParlamentarEditView(FormView):
template_name = "comissoes/comissao_parlamentar_edit.html"
def get(self, request, *args, **kwargs):
participacao_id = kwargs['id']
participacao = Participacao.objects.get(id=participacao_id)
comissao = Comissao.objects.get(id=self.kwargs['pk'])
id_parlamentar = Filiacao.objects.filter(
parlamentar__id=participacao.parlamentar.id).order_by('data')
id_parlamentar = id_parlamentar.last().id
form = ParticipacaoCadastroForm(
initial={'parlamentar_id': id_parlamentar},
instance=participacao)
return self.render_to_response({'form': form,
'comissao': comissao,
'composicao_id': self.kwargs['id']})
def post(self, request, *args, **kwargs):
form = ParticipacaoCadastroForm(request.POST)
if form.is_valid():
participacao = ParticipacaoCadastroForm(
request.POST,
request.FILES,
instance=Participacao.objects.get(id=kwargs['id'])
).save(commit=False)
participacao.composicao = Composicao.objects.get(
id=kwargs['cd'])
participacao.parlamentar = (
form.cleaned_data['parlamentar_id'].parlamentar)
participacao.save()
return self.form_valid(form)
else:
return self.render_to_response(
{'form': form,
'composicao_id': self.kwargs['id']})
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('comissoes:composicao', kwargs={'pk': pk})
class MateriasTramitacaoListView(ListView):
template_name = "comissoes/materias_em_tramitacao.html"
paginate_by = 10

2
protocoloadm/views.py

@ -4,7 +4,7 @@ from datetime import date, datetime
from braces.views import FormValidMessageMixin
from django.core.exceptions import ObjectDoesNotExist
from django.core.urlresolvers import reverse
from django.db.models import Max, Q
from django.db.models import Q, Max
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import redirect
from django.utils.translation import ugettext_lazy as _

Loading…
Cancel
Save