Browse Source

Add Pesquisa DocumentoAdministrativo

pull/11/merge
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
d77d4d8a17
  1. 6
      protocoloadm/urls.py
  2. 59
      protocoloadm/views.py
  3. 2
      templates/materia/formulario_cadastro.html
  4. 4
      templates/materia/formulario_simplificado.html
  5. 8
      templates/protocoloadm/documento_detail.html
  6. 76
      templates/protocoloadm/pesquisa_doc_adm.html

6
protocoloadm/urls.py

@ -1,6 +1,8 @@
from django.conf.urls import include, url
from protocoloadm.views import (AnularProtocoloAdmView, ProposicaoReceberView,
from protocoloadm.views import (AnularProtocoloAdmView,
PesquisarDocumentoAdministrativo,
ProposicaoReceberView,
ProposicoesIncorporadasView,
ProposicoesNaoIncorporadasView,
ProposicoesNaoRecebidasView,
@ -40,6 +42,8 @@ urlpatterns = [
ProtocoloDocumentoView.as_view(), name='protocolar_doc'),
url(r'^protocoloadm/protocolar-mat',
ProtocoloMateriaView.as_view(), name='protocolar_mat'),
url(r'^protocoloadm/pesq-doc-adm',
PesquisarDocumentoAdministrativo.as_view(), name='pesq_doc_adm'),
# TODO: move to Proposicoes app

59
protocoloadm/views.py

@ -507,7 +507,7 @@ class ProposicaoReceberView(TemplateView):
template_name = "protocoloadm/proposicao_receber.html"
class ProposicoesNaoRecebidasView(ListView):
class ProposicoesNaoRecebidasView(TemplateView):
template_name = "protocoloadm/proposicoes_naorecebidas.html"
model = Proposicao
paginate_by = 10
@ -516,7 +516,7 @@ class ProposicoesNaoRecebidasView(ListView):
return Proposicao.objects.filter(data_envio__isnull=False, status='E')
class ProposicoesNaoIncorporadasView(ListView):
class ProposicoesNaoIncorporadasView(TemplateView):
template_name = "protocoloadm/proposicoes_naoincorporadas.html"
model = Proposicao
paginate_by = 10
@ -536,3 +536,58 @@ class ProposicoesIncorporadasView(ListView):
return Proposicao.objects.filter(data_envio__isnull=False,
data_recebimento__isnull=False,
status='I')
# class PesquisaDocForm(forms.Form):
class PesquisarDocumentoAdministrativo(TemplateView):
template_name = "protocoloadm/pesquisa_doc_adm.html"
def get_tipos_doc(self):
return TipoDocumentoAdministrativo.objects.all()
def post(self, request, *args, **kwargs):
if request.POST['tipo_documento']:
kwargs['tipo_documento'] = request.POST['tipo_documento']
if request.POST['numero']:
kwargs['numero'] = request.POST['numero']
if request.POST['ano']:
kwargs['ano'] = request.POST['ano']
if request.POST['numero_protocolo']:
kwargs['numero_protocolo'] = request.POST['numero_protocolo']
if request.POST['periodo_inicial']:
kwargs['periodo_inicial'] = request.POST['periodo_inicial']
if request.POST['periodo_final']:
kwargs['periodo_final'] = request.POST['periodo_final']
if request.POST['interessado']:
kwargs['interessado'] = request.POST['interessado']
if request.POST['assunto']:
kwargs['assunto'] = request.POST['assunto']
if request.POST['tramitacao']:
if request.POST['tramitacao'] == 1:
kwargs['tramitacao'] = True
elif request.POST['tramitacao'] == 0:
kwargs['tramitacao'] = False
else:
kwargs['tramitacao'] = request.POST['tramitacao']
# if request.POST['localizacao']:
# kwargs['localizacao'] = request.POST['localizacao']
# if request.POST['situacao']:
# kwargs['situacao'] = request.POST['situacao']
doc = DocumentoAdministrativo.objects.filter(**kwargs)
return self.render_to_response(
{'documentos': doc}
)

2
templates/materia/formulario_cadastro.html

@ -1,4 +1,4 @@
{% extends "protocoloadm/protocoloadm_detail.html" %}
{% extends "crud/detail.html" %}
{% load i18n %}
{% load crispy_forms_tags %}

4
templates/materia/formulario_simplificado.html

@ -1,12 +1,10 @@
{% extends "protocoloadm/protocoloadm_detail.html" %}
{% extends "crud/detail.html" %}
{% load i18n %}
{% load crispy_forms_tags %}
{% block detail_content %}
<form method="POST">
{% csrf_token %}
<!-- TODO: crispy form faz com que o submit pare de funcionar -->
<!-- {% crispy form %} -->
{{ form.as_p }}
</br>
<input type="submit" name="salvar_simplificado" value="Salvar" class="button primary" />

8
templates/protocoloadm/documento_detail.html

@ -0,0 +1,8 @@
{% extends "crud/detail.html" %}
{% load i18n %}
{% block sections_nav %}
<dl class="sub-nav left">
<dd><a href="/materia/formulario-simplificado" class="button secondary">{% trans 'Incluir Documento' %}</a></dd>
</dl>
{% endblock sections_nav %}

76
templates/protocoloadm/pesquisa_doc_adm.html

@ -0,0 +1,76 @@
{% extends "protocoloadm/documento_detail.html" %}
{% load i18n %}
{% load crispy_forms_tags %}
{% block detail_content %}
<fieldset>
<legend>Pesquisa Básica</legend>
{% if documentos %}
Total: {{ documentos|length }}
<table>
{% for d in documentos %}
<tr>
<td>
<a href="#"><b>{{ d.tipo.sigla }} {{ d.numero }}/{{ d.ano }} - {{ d.tipo }}</b></a> <br />
{{ d.assunto }} <br />
<b>Interessado:</b> {{ d.interessado }}
</td>
</tr>
{% endfor %}
</table>
{% else %}
<form method="POST">
{% csrf_token %}
Tipo Documento:
<select name="tipo_documento">
<option value=""> --- </option>
{% for tipo in view.get_tipos_doc %}
<option value="{{tipo.id}}">{{tipo.descricao}}</option>
{% endfor %}
</select> <br>
Número: <input type="text" name="numero" id="numero" /> <br>
Ano: <input type="text" name="ano" id="ano" /> <br>
Núm. Protocolo: <input type="text" name="numero_protocolo" id="numero_protocolo" /> <br>
Período Data: <br>
Inicial: <input type="text" name="periodo_inicial" id="periodo_inicial" class="dateinput"/>
Final: <input type="text" name="periodo_final" id="periodo_final" class="dateinput"/> <br>
Interessado: <input type="text" name="interessado" id="interessado" /> <br>
Assunto: <input type="text" name="assunto" id="assunto" /> <br>
Tramitando:
<select name="tramitacao">
<option value="1">Sim</option>
<option value="0">Não</option>
<option value="" selected>Tanto Faz</option>
</select> <br>
<!-- TODO
Localização Atual:
<select name="localizacao">
<option value=""> --- </option>
</select> <br>
Situação:
<select name="situacao">
<option value=""> --- </option>
</select> <br><br>
-->
<input type="submit" value="Pesquisar" class="primary button"/>
</form>
{% endif %}
</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