Browse Source

Adiciona tela de proposições devolvidas

pull/527/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
committed by Edward Ribeiro
parent
commit
9a0d828040
  1. 20
      sapl/materia/migrations/0042_proposicao_data_devolução.py
  2. 20
      sapl/materia/migrations/0043_auto_20160810_1738.py
  3. 2
      sapl/materia/models.py
  4. 7
      sapl/materia/urls.py
  5. 30
      sapl/materia/views.py
  6. 37
      sapl/templates/materia/prop_devolvidas_list.html

20
sapl/materia/migrations/0042_proposicao_data_devolução.py

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.5 on 2016-08-10 20:37
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('materia', '0041_remove_proposicao_data_incorporação'),
]
operations = [
migrations.AddField(
model_name='proposicao',
name='data_devolução',
field=models.DateTimeField(blank=True, null=True, verbose_name='Data de Devolução'),
),
]

20
sapl/materia/migrations/0043_auto_20160810_1738.py

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.5 on 2016-08-10 20:38
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('materia', '0042_proposicao_data_devolução'),
]
operations = [
migrations.RenameField(
model_name='proposicao',
old_name='data_devolução',
new_name='data_devolucao',
),
]

2
sapl/materia/models.py

@ -449,6 +449,8 @@ class Proposicao(models.Model):
blank=True, null=True, verbose_name=_('Data de Envio'))
data_recebimento = models.DateTimeField(
blank=True, null=True, verbose_name=_('Data de Recebimento'))
data_devolucao = models.DateTimeField(
blank=True, null=True, verbose_name=_('Data de Devolução'))
descricao = models.TextField(max_length=100, verbose_name=_('Descrição'))
justificativa_devolucao = models.CharField(

7
sapl/materia/urls.py

@ -8,14 +8,15 @@ from sapl.materia.views import (AcompanhamentoConfirmarView,
MateriaLegislativaCrud,
MateriaLegislativaPesquisaView, MateriaTaView,
NumeracaoCrud, OrgaoCrud, OrigemCrud,
ProposicaoCrud, ProposicaoPendente,
ProposicaoCrud, ProposicaoDevolvida,
ProposicaoPendente, ProposicaoRecebida,
ProposicaoTaView, ReceberProposicao,
ReciboProposicaoView, RegimeTramitacaoCrud,
RelatoriaCrud, StatusTramitacaoCrud,
TipoAutorCrud, TipoDocumentoCrud,
TipoFimRelatoriaCrud, TipoMateriaCrud,
TipoProposicaoCrud, TramitacaoCrud,
UnidadeTramitacaoCrud, ProposicaoRecebida)
UnidadeTramitacaoCrud)
from .apps import AppConfig
@ -41,6 +42,8 @@ urlpatterns = [
name='proposicao-pendente'),
url(r'^proposicao/recebida/', ProposicaoRecebida.as_view(),
name='proposicao-recebida'),
url(r'^proposicao/devolvida/', ProposicaoDevolvida.as_view(),
name='proposicao-devolvida'),
# Integração com Compilação
url(r'^materia/(?P<pk>[0-9]+)/ta$',

30
sapl/materia/views.py

@ -102,6 +102,28 @@ class UnidadeTramitacaoCrud(Crud):
form_class = UnidadeTramitacaoForm
class ProposicaoDevolvida(ListView):
template_name = 'materia/prop_devolvidas_list.html'
model = Proposicao
ordering = ['data_envio']
paginate_by = 10
def get_queryset(self):
return Proposicao.objects.filter(
data_envio__isnull=False,
data_recebimento__isnull=False,
data_devolucao__isnull=False)
def get_context_data(self, **kwargs):
context = super(ProposicaoDevolvida, self).get_context_data(**kwargs)
paginator = context['paginator']
page_obj = context['page_obj']
context['page_range'] = make_pagination(
page_obj.number, paginator.num_pages)
context['NO_ENTRIES_MSG'] = 'Nenhuma proposição devolvida.'
return context
class ProposicaoPendente(ListView):
template_name = 'materia/prop_pendentes_list.html'
model = Proposicao
@ -110,7 +132,9 @@ class ProposicaoPendente(ListView):
def get_queryset(self):
return Proposicao.objects.filter(
data_envio__isnull=False, data_recebimento__isnull=True)
data_envio__isnull=False,
data_recebimento__isnull=True,
data_devolucao_isnull=True)
def get_context_data(self, **kwargs):
context = super(ProposicaoPendente, self).get_context_data(**kwargs)
@ -130,7 +154,9 @@ class ProposicaoRecebida(ListView):
def get_queryset(self):
return Proposicao.objects.filter(
data_envio__isnull=False, data_recebimento__isnull=False)
data_envio__isnull=False,
data_recebimento__isnull=False,
data_devolucao_isnull=True)
def get_context_data(self, **kwargs):
context = super(ProposicaoRecebida, self).get_context_data(**kwargs)

37
sapl/templates/materia/prop_devolvidas_list.html

@ -0,0 +1,37 @@
{% extends "base.html" %}
{% load i18n %}
{% block base_content %}
{% if not object_list %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Data do Recebimento</th>
<th>Tipo</th>
<th>Descrição</th>
<th>Autor</th>
<th>Vínculo</th>
</tr>
</thead>
<tbody>
{% for prop in object_list %}
<tr>
<td><a href="{% url 'sapl.materia:proposicao_detail' prop.pk %}">{{ prop.data_recebimento|date:"d/m/Y H:i:s" }}</a></td>
<td>{{ prop.tipo.descricao }}</td>
<td>{{ prop.descricao }}</td>
<td>{{ prop.autor }}</td>
<td>
{% if prop.materia_gerada %}
<a href="{% url 'sapl.materia:materialegislativa_detail' prop.materia_gerada.pk %}">{{ prop.materia_gerada.tipo.sigla }} {{ prop.materia_gerada.numero }}/{{ prop.materia_gerada.ano }}</a>
{% elif prop.documento_gerado %}
<a href="{% url 'sapl.materia:documentoacessorio_detail' prop.documento_gerado.pk %}">{{ prop.documento_gerado.materia.tipo.sigla }} {{ prop.documento_gerado.materia.numero }}/{{ prop.documento_gerado.materia.ano }}</a>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
{% include 'paginacao.html'%}
{% endblock %}
Loading…
Cancel
Save