From 55b2c0931f78541473764feb08c3895c9ba608b6 Mon Sep 17 00:00:00 2001 From: Eduardo Edson Batista Cordeiro Alves Date: Tue, 10 Nov 2015 14:49:58 -0200 Subject: [PATCH] Edit/Delete Tramitacao in Materia --- materia/urls.py | 4 +- materia/views.py | 54 ++++++++++++++++- templates/materia/tramitacao.html | 2 +- templates/materia/tramitacao_edit.html | 83 ++++++++++++++++++++++++++ 4 files changed, 140 insertions(+), 3 deletions(-) create mode 100644 templates/materia/tramitacao_edit.html diff --git a/materia/urls.py b/materia/urls.py index 88cfd81bb..b80af311d 100644 --- a/materia/urls.py +++ b/materia/urls.py @@ -5,7 +5,7 @@ from materia.views import (DespachoInicialEditView, DespachoInicialView, LegislacaoCitadaEditView, LegislacaoCitadaView, MateriaAnexadaEditView, MateriaAnexadaView, NumeracaoEditView, NumeracaoView, RelatoriaView, - TramitacaoView, autor_crud, + TramitacaoView, TramitacaoEditView, autor_crud, materia_legislativa_crud, orgao_crud, origem_crud, regime_tramitacao_crud, status_tramitacao_crud, tipo_autor_crud, tipo_documento_crud, @@ -61,4 +61,6 @@ urlpatterns = [ RelatoriaView.as_view(), name='relatoria'), url(r'^materia/(?P\d+)/tramitacao$', TramitacaoView.as_view(), name='tramitacao_materia'), + url(r'^materia/(?P\d+)/tramitacao/(?P\d+)/edit$', + TramitacaoEditView.as_view(), name='tramitacao_edit'), ] diff --git a/materia/views.py b/materia/views.py index fd416cd77..f5ce765fb 100644 --- a/materia/views.py +++ b/materia/views.py @@ -1297,4 +1297,56 @@ class TramitacaoView(FormMixin, GenericView): def get_success_url(self): pk = self.kwargs['pk'] - return reverse('tramtiacao_materia', kwargs={'pk': pk}) + return reverse('tramitacao_materia', kwargs={'pk': pk}) + + +class TramitacaoEditView(FormMixin, GenericView): + template_name = "materia/tramitacao_edit.html" + + def get(self, request, *args, **kwargs): + materia = MateriaLegislativa.objects.get(id=kwargs['pk']) + tramitacao = Tramitacao.objects.get(id=kwargs['id']) + form = TramitacaoForm + + return self.render_to_response( + {'materia': materia, + 'form': form, + 'tramitacao': tramitacao, + 'turno': Tramitacao.TURNO_CHOICES, + 'status': StatusTramitacao.objects.all(), + 'unidade_tramitacao': UnidadeTramitacao.objects.all()}) + + def post(self, request, *args, **kwargs): + materia = MateriaLegislativa.objects.get(id=kwargs['pk']) + tramitacao = Tramitacao.objects.get(id=kwargs['id']) + form = TramitacaoForm(request.POST) + + if form.is_valid(): + if 'excluir' in request.POST: + tramitacao.delete() + elif 'salvar' in request.POST: + tramitacao.status = form.cleaned_data['status'] + tramitacao.turno = form.cleaned_data['turno'] + tramitacao.urgente = form.cleaned_data['urgente'] + tramitacao.unidade_tramitacao_destino = form.cleaned_data[ + 'unidade_tramitacao_destino'] + tramitacao.data_encaminhamento = form.cleaned_data[ + 'data_encaminhamento'] + tramitacao.data_fim_prazo = form.cleaned_data['data_fim_prazo'] + tramitacao.ultima = form.cleaned_data['ultima'] + tramitacao.texto = form.cleaned_data['texto'] + + tramitacao.save() + return self.form_valid(form) + else: + return self.render_to_response( + {'materia': materia, + 'form': form, + 'tramitacao': tramitacao, + 'turno': Tramitacao.TURNO_CHOICES, + 'status': StatusTramitacao.objects.all(), + 'unidade_tramitacao': UnidadeTramitacao.objects.all()}) + + def get_success_url(self): + pk = self.kwargs['pk'] + return reverse('tramitacao_materia', kwargs={'pk': pk}) diff --git a/templates/materia/tramitacao.html b/templates/materia/tramitacao.html index abc2500da..1dc31483f 100644 --- a/templates/materia/tramitacao.html +++ b/templates/materia/tramitacao.html @@ -23,7 +23,7 @@ {% for t in tramitacoes %} - {{t.data_tramitacao|date:'d/m/Y'}} + {{t.data_tramitacao|date:'d/m/Y'}} {{t.unidade_tramitacao_local}} {{t.unidade_tramitacao_destino}} {{t.status.descricao}} diff --git a/templates/materia/tramitacao_edit.html b/templates/materia/tramitacao_edit.html new file mode 100644 index 000000000..36fd2a893 --- /dev/null +++ b/templates/materia/tramitacao_edit.html @@ -0,0 +1,83 @@ +{% extends "materia/materia_detail.html" %} +{% load i18n %} +{% load crispy_forms_tags %} + +{% block detail_content %} +
+ Matéria Legislativa +
    +
  • Tipo: {{materia.tipo.sigla}}
  • +
  • Número: {{materia.numero}}
  • +
  • Ano: {{materia.ano}}
  • +
+ Ementa: {{materia.ementa}} + +
+ Editar Tramitação +
+ {% csrf_token %} + + Data Tramitação + + + Unidade Local + + + Status* + + + Turno* + + + Urgente ?
+ + Unidade Destino + + + Data Encaminhamento + + + Data Fim Prazo + + + Ultima
+ + Texto da Ação + + + + +
+
+
+{% endblock %} + +{% block foot_js %} + +{% endblock %} \ No newline at end of file