mirror of https://github.com/interlegis/sapl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
163 lines
5.1 KiB
163 lines
5.1 KiB
from django import forms
|
|
from django.utils.translation import ugettext_lazy as _
|
|
from django.views.generic import ListView
|
|
from django.views.generic.edit import FormMixin
|
|
from materia.models import TipoMateriaLegislativa
|
|
from sapl.crud import build_crud
|
|
|
|
from .models import (DocumentoAcessorioAdministrativo, DocumentoAdministrativo,
|
|
Protocolo, StatusTramitacaoAdministrativo,
|
|
TipoDocumentoAdministrativo, TramitacaoAdministrativo)
|
|
|
|
tipo_documento_administrativo_crud = build_crud(
|
|
TipoDocumentoAdministrativo, '', [
|
|
|
|
[_('Tipo Documento Administrativo'),
|
|
[('sigla', 4), ('descricao', 8)]],
|
|
])
|
|
|
|
documento_administrativo_crud = build_crud(
|
|
DocumentoAdministrativo, '', [
|
|
|
|
[_('Indentificação Básica'),
|
|
[('tipo', 4), ('numero', 4), ('ano', 4)],
|
|
[('data', 6), ('numero_protocolo', 6)],
|
|
[('assunto', 12)],
|
|
[('interessado', 6), ('tramitacao', 6)],
|
|
[('texto_integral', 12)]],
|
|
|
|
[_('Outras Informações'),
|
|
[('dias_prazo', 6), ('data_fim_prazo', 6)],
|
|
[('observacao', 12)]],
|
|
])
|
|
|
|
documento_acessorio_administrativo_crud = build_crud(
|
|
DocumentoAcessorioAdministrativo, '', [
|
|
|
|
[_('Documento Acessório'),
|
|
[('tipo', 4), ('nome', 4), ('data', 4)],
|
|
[('autor', 12)],
|
|
[('arquivo', 12)],
|
|
[('assunto', 12)]],
|
|
])
|
|
|
|
status_tramitacao_administrativo_crud = build_crud(
|
|
StatusTramitacaoAdministrativo, '', [
|
|
|
|
[_('Status Tramitação Administrativo'),
|
|
[('indicador', 3),
|
|
('sigla', 2),
|
|
('descricao', 7)]],
|
|
])
|
|
|
|
tramitacao_administrativo_crud = build_crud(
|
|
TramitacaoAdministrativo, '', [
|
|
|
|
[_('Tramitação'),
|
|
[('data_tramitacao', 4), ('unidade_tramitacao_local', 8)],
|
|
[('status', 4), ('unidade_tramitacao_destino', 8)],
|
|
[('data_encaminhamento', 6), ('data_fim_prazo', 6)],
|
|
[('texto', 12)]],
|
|
])
|
|
|
|
protocolo_documento_crud = build_crud(
|
|
Protocolo, '', [
|
|
|
|
[_('Indentificação Documento'),
|
|
[('tipo_protocolo', 12)],
|
|
[('tipo_documento', 6), ('numero_paginas', 6)],
|
|
[('assunto_ementa', 12)],
|
|
[('interessado', 12)],
|
|
[('observacao', 12)]],
|
|
])
|
|
|
|
protocolo_materia_crud = build_crud(
|
|
Protocolo, '', [
|
|
|
|
[_('Indentificação da Matéria'),
|
|
[('tipo_materia', 6), ('numero_paginas', 6)],
|
|
[('assunto_ementa', 12)],
|
|
[('autor', 12)],
|
|
[('observacao', 12)]],
|
|
])
|
|
|
|
anular_protocolo_crud = build_crud(
|
|
Protocolo, '', [
|
|
|
|
[_('Indentificação do Protocolo'),
|
|
[('numero', 6), ('ano', 6)],
|
|
[('justificativa_anulacao', 12)]],
|
|
])
|
|
|
|
|
|
class ProtocoloForm(forms.Form):
|
|
tipo_protocolo = forms.CharField(required=False)
|
|
numero_protocolo = forms.CharField(required=False)
|
|
ano = forms.CharField(required=False)
|
|
inicial = forms.DateField(required=False)
|
|
final = forms.DateField(required=False)
|
|
natureza_processo = forms.CharField(required=False)
|
|
tipo_documento = forms.CharField(required=False)
|
|
interessado = forms.CharField(required=False)
|
|
tipo_materia = forms.CharField(required=False)
|
|
autor = forms.CharField(required=False)
|
|
assunto = forms.CharField(required=False)
|
|
|
|
|
|
class ProtocoloPesquisaView(ListView, FormMixin):
|
|
template_name = 'protocoloadm/protocolo_pesquisa.html'
|
|
form_class = ProtocoloForm
|
|
|
|
def get_queryset(self):
|
|
return Protocolo.objects.all()
|
|
|
|
def get_tipo_documento(self):
|
|
return TipoDocumentoAdministrativo.objects.all()
|
|
|
|
def get_tipo_materia(self):
|
|
return TipoMateriaLegislativa.objects.all()
|
|
|
|
def post(self, request, *args, **kwargs):
|
|
form = self.get_form()
|
|
if form.is_valid():
|
|
kwargs = {}
|
|
|
|
if request.POST['tipo_protocolo']:
|
|
kwargs['tipo_protocolo'] = request.POST['tipo_protocolo']
|
|
|
|
if request.POST['numero_protocolo']:
|
|
kwargs['numero'] = request.POST['numero_protocolo']
|
|
|
|
if request.POST['ano']:
|
|
kwargs['ano'] = request.POST['ano']
|
|
|
|
if request.POST['inicial']:
|
|
kwargs['inicial'] = request.POST['inicial']
|
|
|
|
if request.POST['final']:
|
|
kwargs['final'] = request.POST['final']
|
|
|
|
if request.POST['tipo_documento']:
|
|
kwargs['tipo_documento'] = request.POST['tipo_documento']
|
|
|
|
if request.POST['interessado']:
|
|
kwargs['interessado'] = request.POST['interessado']
|
|
|
|
if request.POST['tipo_materia']:
|
|
kwargs['tipo_materia'] = request.POST['tipo_materia']
|
|
|
|
if request.POST['autor']:
|
|
kwargs['autor'] = request.POST['autor']
|
|
|
|
if request.POST['assunto']:
|
|
kwargs['assunto'] = request.POST['assunto']
|
|
|
|
protocolos = Protocolo.objects.filter(
|
|
**kwargs)
|
|
|
|
# context = self.get_context_data()
|
|
# context.update({'pesquisa_set': protocolos})
|
|
|
|
return self.form_valid(form)
|
|
else:
|
|
return self.form_invalid(form)
|
|
|