Browse Source

Edit/Delete Tramitacao in Materia

pull/11/merge
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
55b2c0931f
  1. 4
      materia/urls.py
  2. 54
      materia/views.py
  3. 2
      templates/materia/tramitacao.html
  4. 83
      templates/materia/tramitacao_edit.html

4
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<pk>\d+)/tramitacao$',
TramitacaoView.as_view(), name='tramitacao_materia'),
url(r'^materia/(?P<pk>\d+)/tramitacao/(?P<id>\d+)/edit$',
TramitacaoEditView.as_view(), name='tramitacao_edit'),
]

54
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})

2
templates/materia/tramitacao.html

@ -23,7 +23,7 @@
</tr>
{% for t in tramitacoes %}
<tr>
<td><a href="">{{t.data_tramitacao|date:'d/m/Y'}}</a></td>
<td><a href="{% url 'tramitacao_edit' materia.id t.id %}">{{t.data_tramitacao|date:'d/m/Y'}}</a></td>
<td>{{t.unidade_tramitacao_local}}</td>
<td>{{t.unidade_tramitacao_destino}}</td>
<td>{{t.status.descricao}}</td>

83
templates/materia/tramitacao_edit.html

@ -0,0 +1,83 @@
{% extends "materia/materia_detail.html" %}
{% load i18n %}
{% load crispy_forms_tags %}
{% block detail_content %}
<fieldset>
<legend>Matéria Legislativa</legend>
<ul class="small-block-grid-3 medium-block-grid-3 large-block-grid-3">
<li>Tipo: <b>{{materia.tipo.sigla}}</b></li>
<li>Número: <b>{{materia.numero}}</b></li>
<li>Ano: <b>{{materia.ano}}</b></li>
</ul>
Ementa: <b>{{materia.ementa}}</b>
<fieldset>
<legend>Editar Tramitação</legend>
<form method="POST">
{% csrf_token %}
Data Tramitação
<input type="text" name="data_tramitacao" class="dateinput" value="{{tramitacao.data_tramitacao|date:'d/m/Y'}}" disabled />
Unidade Local
<input type="text" name="unidade_tramitacao_local" value="{{tramitacao.unidade_tramitacao_local}}" disabled />
Status*
<select name="status">
{% for s in status %}
<option value="{{s.id}}" {% if s.id == tramitacao.status.id %} selected {% endif %}>
{{s.descricao}}
</option>
{% endfor %}
</select>
Turno*
<select name="turno">
{% for a, b in turno %}
<option value="{{a}}">{{b}}</option>
{% endfor %}
</select>
<input type="checkbox" name="urgente" value="{{tramtiacao.urgente}}" /> Urgente ?<br />
Unidade Destino
<select name="unidade_tramitacao_destino">
{% for u in unidade_tramitacao %}
<option value="{{u.id}}" {% if u.id == tramitacao.unidade_tramitacao_destino.id %} selected {% endif %}>
{{u.orgao}} - {{u.comissao}}
</option>
{% endfor %}
</select>
Data Encaminhamento
<input type="text" name="data_encaminhamento" class="dateinput" value="{{tramitacao.data_encaminhamento|date:'d/m/Y'}}" />
Data Fim Prazo
<input type="text" name="data_fim_prazo" class="dateinput" value="{{tramitacao.data_fim_prazo|date:'d/m/Y'}}" />
<input type="checkbox" name="ultima" value="{{tramtiacao.ultima}}" /> Ultima<br />
Texto da Ação
<textarea rows="4" cols="50" name="texto">{{tramitacao.texto}}</textarea>
<input type="submit" value="Salvar" id="salvar" name="salvar" class="primary button" />
<input type="submit" value="Excluir" id="excluir" name="excluir" class="primary button" />
</form>
</fieldset>
</fieldset>
{% endblock %}
{% block foot_js %}
<script type="text/javascript">
$(function () {
$('.dateinput').fdatepicker({
// TODO localize
format: 'dd/mm/yyyy',
language: 'pt',
endDate: '31/12/2100',
todayBtn: true
});
});
</script>
{% endblock %}
Loading…
Cancel
Save