diff --git a/materia/forms.py b/materia/forms.py index 2406b58b5..c03846d06 100644 --- a/materia/forms.py +++ b/materia/forms.py @@ -15,9 +15,9 @@ from norma.models import LegislacaoCitada, TipoNormaJuridica from sapl.settings import MAX_DOC_UPLOAD_SIZE from sapl.utils import RANGE_ANOS -from .models import (AcompanhamentoMateria, Anexada, Autor, DespachoInicial, - DocumentoAcessorio, MateriaLegislativa, Numeracao, - Proposicao, Relatoria, TipoMateriaLegislativa, Tramitacao) +from .models import (AcompanhamentoMateria, Anexada, Autor, DocumentoAcessorio, + MateriaLegislativa, Numeracao, Proposicao, Relatoria, + TipoMateriaLegislativa, Tramitacao) ANO_CHOICES = [('', '---------')] + RANGE_ANOS @@ -336,28 +336,6 @@ class NumeracaoForm(ModelForm): super(NumeracaoForm, self).__init__(*args, **kwargs) -class DespachoInicialForm(ModelForm): - - class Meta: - model = DespachoInicial - fields = ['comissao'] - - def __init__(self, excluir=False, *args, **kwargs): - - more = [] - if excluir: - more = [Submit('Excluir', 'Excluir')] - self.helper = FormHelper() - self.helper.layout = Layout( - Fieldset( - _('Adicionar Despacho Inicial'), - 'comissao', - form_actions(more=more) - ) - ) - super(DespachoInicialForm, self).__init__(*args, **kwargs) - - class AnexadaForm(ModelForm): tipo = forms.ModelChoiceField( diff --git a/materia/layouts.yaml b/materia/layouts.yaml index dee076e02..958edc210 100644 --- a/materia/layouts.yaml +++ b/materia/layouts.yaml @@ -112,3 +112,7 @@ Tramitacao: - status turno urgente - unidade_tramitacao_destino data_encaminhamento data_fim_prazo - texto + +DespachoInicial: + Despacho Inicial: + - comissao diff --git a/materia/tests/test_materia.py b/materia/tests/test_materia.py index f95f1bcfa..5cf871795 100644 --- a/materia/tests/test_materia.py +++ b/materia/tests/test_materia.py @@ -154,7 +154,7 @@ def test_despacho_inicial_submit(client): data_criacao='2016-03-18') # Testa POST - response = client.post(reverse('materia:despacho_inicial', + response = client.post(reverse('materia:despachoinicial_create', kwargs={'pk': materia_principal.pk}), {'comissao': comissao.pk, 'salvar': 'salvar'}, @@ -321,7 +321,7 @@ def test_form_errors_autoria(client): def test_form_errors_despacho_inicial(client): materia_principal = make_materia_principal() - response = client.post(reverse('materia:despacho_inicial', + response = client.post(reverse('materia:despachoinicial_create', kwargs={'pk': materia_principal.pk}), {'salvar': 'salvar'}, follow=True) diff --git a/materia/urls.py b/materia/urls.py index 4eaae5bea..012039406 100644 --- a/materia/urls.py +++ b/materia/urls.py @@ -3,10 +3,10 @@ from django.conf.urls import include, url from materia.views import (AcompanhamentoConfirmarView, AcompanhamentoExcluirView, AcompanhamentoMateriaView, AnexadaCrud, AutorCrud, - AutoriaCrud, DespachoInicialEditView, - DespachoInicialView, DocumentoAcessorioEditView, - DocumentoAcessorioView, LegislacaoCitadaEditView, - LegislacaoCitadaView, MateriaLegislativaCrud, + AutoriaCrud, DespachoInicialCrud, + DocumentoAcessorioEditView, DocumentoAcessorioView, + LegislacaoCitadaEditView, LegislacaoCitadaView, + MateriaLegislativaCrud, MateriaLegislativaPesquisaView, MateriaTaView, NumeracaoEditView, NumeracaoView, OrgaoCrud, OrigemCrud, ProposicaoEditView, ProposicaoListView, @@ -25,7 +25,8 @@ app_name = AppConfig.name urlpatterns = [ url(r'^materia/', include(MateriaLegislativaCrud.get_urls() + AnexadaCrud.get_urls() + - AutoriaCrud.get_urls())), + AutoriaCrud.get_urls() + + DespachoInicialCrud.get_urls())), url(r'^materia/(?P[0-9]+)/ta$', @@ -52,10 +53,6 @@ urlpatterns = [ url(r'^sistema/materia/status-tramitacao/', include(StatusTramitacaoCrud.get_urls())), url(r'^sistema/materia/orgao/', include(OrgaoCrud.get_urls())), - url(r'^materia/(?P\d+)/despacho-inicial$', - DespachoInicialView.as_view(), name='despacho_inicial'), - url(r'^materia/(?P\d+)/despacho-inicial/(?P\d+)/edit', - DespachoInicialEditView.as_view(), name='despacho_inicial_edit'), url(r'^materia/(?P\d+)/legislacao-citada$', LegislacaoCitadaView.as_view(), name='legislacao_citada'), url(r'^materia/(?P\d+)/legislacao-citada/(?P\d+)/edit', diff --git a/materia/views.py b/materia/views.py index c3075f346..e59e7da6d 100644 --- a/materia/views.py +++ b/materia/views.py @@ -25,10 +25,9 @@ from norma.models import LegislacaoCitada, NormaJuridica, TipoNormaJuridica from sapl.utils import get_base_url from .forms import (AcompanhamentoMateriaForm, AnexadaForm, - DespachoInicialForm, DocumentoAcessorioForm, - LegislacaoCitadaForm, MateriaLegislativaFilterSet, - NumeracaoForm, ProposicaoForm, RelatoriaForm, - TramitacaoForm, filtra_tramitacao_destino, + DocumentoAcessorioForm, LegislacaoCitadaForm, + MateriaLegislativaFilterSet, NumeracaoForm, ProposicaoForm, + RelatoriaForm, TramitacaoForm, filtra_tramitacao_destino, filtra_tramitacao_destino_and_status, filtra_tramitacao_status) from .models import (AcompanhamentoMateria, Anexada, Autor, Autoria, @@ -58,6 +57,7 @@ UnidadeTramitacaoCrud = Crud.build(UnidadeTramitacao, 'unidade_tramitacao') TramitacaoCrud = Crud.build(Tramitacao, '') AutoriaCrud = MasterDetailCrud.build(Autoria, 'materia', '') +DespachoInicialCrud = MasterDetailCrud.build(DespachoInicial, 'materia', '') class AnexadaCrud(MasterDetailCrud): @@ -96,77 +96,6 @@ class MateriaLegislativaCrud(Crud): list_field_names = ['tipo', 'numero', 'ano', 'data_apresentacao'] -class DespachoInicialView(CreateView): - template_name = "materia/despacho_inicial.html" - form_class = DespachoInicialForm - - def get(self, request, *args, **kwargs): - materia = MateriaLegislativa.objects.get(id=kwargs['pk']) - despacho = DespachoInicial.objects.filter(materia_id=materia.id) - form = DespachoInicialForm() - - return self.render_to_response( - {'object': materia, - 'form': form, - 'despachos': despacho}) - - def post(self, request, *args, **kwargs): - form = self.get_form() - materia = MateriaLegislativa.objects.get(id=kwargs['pk']) - despacho = DespachoInicial.objects.filter(materia_id=materia.id) - - if form.is_valid(): - despacho = DespachoInicial() - despacho.comissao = form.cleaned_data['comissao'] - despacho.materia = materia - despacho.save() - return redirect(self.get_success_url()) - else: - return self.render_to_response({'form': form, - 'object': materia, - 'despachos': despacho}) - - def get_success_url(self): - pk = self.kwargs['pk'] - return reverse('materia:despacho_inicial', kwargs={'pk': pk}) - - -class DespachoInicialEditView(CreateView): - template_name = "materia/despacho_inicial_edit.html" - form_class = DespachoInicialForm - - def get(self, request, *args, **kwargs): - materia = MateriaLegislativa.objects.get(id=kwargs['pk']) - despacho = DespachoInicial.objects.get(id=kwargs['id']) - form = DespachoInicialForm(instance=despacho, excluir=True) - - return self.render_to_response({'object': materia, 'form': form}) - - def post(self, request, *args, **kwargs): - form = self.get_form() - materia = MateriaLegislativa.objects.get(id=kwargs['pk']) - despacho = DespachoInicial.objects.get(id=kwargs['id']) - - if form.is_valid(): - if 'Excluir' in request.POST: - despacho.delete() - elif 'salvar' in request.POST: - despacho.comissao = form.cleaned_data['comissao'] - despacho.materia = materia - despacho.save() - return redirect(self.get_success_url()) - else: - return self.render_to_response( - {'object': materia, - 'form': form, - 'despacho': despacho, - 'comissoes': Comissao.objects.all()}) - - def get_success_url(self): - pk = self.kwargs['pk'] - return reverse('materia:despacho_inicial', kwargs={'pk': pk}) - - class LegislacaoCitadaView(FormView): template_name = "materia/legislacao_citada.html" form_class = LegislacaoCitadaForm diff --git a/templates/materia/despacho_inicial.html b/templates/materia/despacho_inicial.html deleted file mode 100644 index 8efe59f6d..000000000 --- a/templates/materia/despacho_inicial.html +++ /dev/null @@ -1,29 +0,0 @@ -{% extends "crud/detail.html" %} -{% load i18n %} -{% load crispy_forms_tags %} -{% block actions %} {% endblock %} -{% block detail_content %} -
- Matéria Legislativa - {% include "materia/resumo_detail_materia.html" %} - -
- Despachos - - - - - - - - {% for d in despachos %} - - - - - {% endfor %} -
ComissãoSigla
{{d.comissao.nome}}{{d.comissao.sigla}}
-
- {% crispy form %} -
-{% endblock %} diff --git a/templates/materia/despacho_inicial_edit.html b/templates/materia/despacho_inicial_edit.html deleted file mode 100644 index 05ddec8c2..000000000 --- a/templates/materia/despacho_inicial_edit.html +++ /dev/null @@ -1,7 +0,0 @@ -{% extends "crud/detail.html" %} -{% load i18n %} -{% load crispy_forms_tags %} -{% block actions %} {% endblock %} -{% block detail_content %} - {% crispy form %} -{% endblock %} diff --git a/templates/materia/subnav.yaml b/templates/materia/subnav.yaml index 75958fb46..45c21ec0a 100644 --- a/templates/materia/subnav.yaml +++ b/templates/materia/subnav.yaml @@ -5,7 +5,7 @@ - title: Autoria url: autoria_list - title: Despacho Inicial - url: despacho_inicial + url: despachoinicial_list - title: Documento Acessório url: documento_acessorio - title: Legislação Citada