from datetime import datetime from django import forms from django.core.urlresolvers import reverse from django.utils.translation import ugettext_lazy as _ from django.views.generic import ListView from django.views.generic.edit import UpdateView 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(label='Tipo de Protocolo', required=False) numero_protocolo = forms.CharField(label='Número de Protocolo', required=False) ano = forms.CharField(label='Ano', required=False) inicial = forms.DateField(label='Data Inicial', required=False) final = forms.DateField(label='Data Final', required=False) natureza_processo = forms.CharField(label='Natureza Processo', required=False) tipo_documento = forms.CharField(label='Tipo de Documento', required=False) interessado = forms.CharField(label='Interessado', required=False) tipo_materia = forms.CharField(label='Tipo de Matéria', required=False) autor = forms.CharField(label='Autor', required=False) assunto = forms.CharField(label='Assunto