Browse Source

Usa crud em matéria

pull/306/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
046699e551
  1. 136
      materia/forms.py
  2. 6
      materia/layouts.yaml
  3. 7
      materia/urls.py
  4. 18
      materia/views.py
  5. 12
      templates/materia/materialegislativa_list.html

136
materia/forms.py

@ -401,142 +401,6 @@ class MateriaAnexadaForm(ModelForm):
*args, **kwargs)
class FormularioSimplificadoForm(ModelForm):
class Meta:
model = MateriaLegislativa
fields = ['tipo',
'numero',
'ano',
'data_apresentacao',
'numero_protocolo',
'regime_tramitacao',
'em_tramitacao',
'ementa',
'texto_original']
exclude = ['anexadas']
widgets = {
'data_apresentacao': forms.DateInput(attrs={'class': 'dateinput'}),
}
def clean_texto_original(self):
texto_original = self.cleaned_data.get('texto_original', False)
if texto_original:
if texto_original.size > MAX_DOC_UPLOAD_SIZE:
raise ValidationError("Arquivo muito grande. ( > 5mb )")
return texto_original
else:
raise ValidationError("Não foi possível salvar o arquivo.")
def __init__(self, *args, **kwargs):
row1 = crispy_layout_mixin.to_row(
[('tipo', 4),
('numero', 4),
('ano', 4)])
row2 = crispy_layout_mixin.to_row(
[('data_apresentacao', 4),
('numero_protocolo', 4),
('regime_tramitacao', 4)])
row3 = crispy_layout_mixin.to_row(
[('texto_original', 9),
('em_tramitacao', 3)])
row4 = crispy_layout_mixin.to_row(
[('ementa', 12)])
self.helper = FormHelper()
self.helper.layout = Layout(
Fieldset(
_('Formulário Simplificado'),
Fieldset(
_('Identificação Básica'),
row1, row2, row3, row4
),
form_actions()
)
)
super(FormularioSimplificadoForm, self).__init__(*args, **kwargs)
class FormularioCadastroForm(ModelForm):
class Meta:
model = MateriaLegislativa
fields = ['tipo',
'numero',
'ano',
'data_apresentacao',
'numero_protocolo',
'tipo_apresentacao',
'texto_original',
'apelido',
'dias_prazo',
'polemica',
'objeto',
'regime_tramitacao',
'em_tramitacao',
'data_fim_prazo',
'data_publicacao',
'complementar',
'tipo_origem_externa',
'numero_origem_externa',
'ano_origem_externa',
'local_origem_externa',
'data_origem_externa',
'ementa',
'indexacao',
'observacao']
def __init__(self, *args, **kwargs):
self.helper = FormHelper()
self.helper.layout = Layout(
Fieldset(
_('Formulário de Cadastro'),
Fieldset(
_('Identificação Básica'),
'tipo',
'numero',
'ano',
'data_apresentacao',
'numero_protocolo',
'tipo_apresentacao',
'texto_original'
),
Fieldset(
_('Outras Informações'),
'apelido',
'dias_prazo',
'polemica',
'objeto',
'regime_tramitacao',
'em_tramitacao',
'data_fim_prazo',
'data_publicacao',
'complementar'
),
Fieldset(
_('Origem Externa'),
'tipo_origem_externa',
'numero_origem_externa',
'ano_origem_externa',
'local_origem_externa',
'data_origem_externa'
),
Fieldset(
_('Dados Textuais'),
'ementa',
'indexacao',
'observacao'
),
form_actions()
)
)
super(FormularioCadastroForm, self).__init__(*args, **kwargs)
class AutoriaForm(ModelForm):
autor = forms.ModelChoiceField(
label=_('Autor'),

6
materia/layouts.yaml

@ -36,6 +36,12 @@ MateriaLegislativa:
- indexacao
- observacao
MateriaLegislativaSimplificado:
Identificação Básica:
- tipo numero ano
- data_apresentacao numero_protocolo tipo_apresentacao
- texto_original
Anexada:
Matéria Legislativa:
- tip_id_basica_FIXME num_ident_basica_FIXME ano_ident_basica_FIXME

7
materia/urls.py

@ -6,7 +6,6 @@ from materia.views import (AcompanhamentoConfirmarView,
AutoriaEditView, AutoriaView,
DespachoInicialEditView, DespachoInicialView,
DocumentoAcessorioEditView, DocumentoAcessorioView,
FormularioCadastroView, FormularioSimplificadoView,
LegislacaoCitadaEditView, LegislacaoCitadaView,
MateriaAnexadaEditView, MateriaAnexadaView,
MateriaLegislativaCrud,
@ -54,12 +53,6 @@ urlpatterns = [
url(r'^sistema/materia/status-tramitacao/',
include(StatusTramitacaoCrud.get_urls())),
url(r'^sistema/materia/orgao/', include(OrgaoCrud.get_urls())),
url(r'^materia/formulario-simplificado',
FormularioSimplificadoView.as_view(),
name='formulario_simplificado'),
url(r'^materia/formulario-cadastro',
FormularioCadastroView.as_view(),
name='formulario_cadastro'),
url(r'^materia/(?P<pk>\d+)/materia-anexada$',
MateriaAnexadaView.as_view(), name='materia_anexada'),
url(r'^materia/(?P<pk>\d+)/materia-anexada/(?P<id>\d+)/edit',

18
materia/views.py

@ -13,6 +13,7 @@ from django.template import Context, loader
from django.utils.translation import ugettext_lazy as _
from django.views.generic import CreateView, FormView, ListView, TemplateView
import crud.base
from base.models import CasaLegislativa
from comissoes.models import Comissao, Composicao
from compilacao.views import IntegracaoTaView
@ -23,7 +24,6 @@ from sapl.utils import get_base_url
from .forms import (AcompanhamentoMateriaForm, AutoriaForm,
DespachoInicialForm, DocumentoAcessorioForm,
FormularioCadastroForm, FormularioSimplificadoForm,
LegislacaoCitadaForm, MateriaAnexadaForm,
MateriaLegislativaPesquisaForm, NumeracaoForm,
ProposicaoForm, RelatoriaForm, TramitacaoForm)
@ -56,16 +56,16 @@ UnidadeTramitacaoCrud = Crud.build(UnidadeTramitacao, 'unidade_tramitacao')
TramitacaoCrud = Crud.build(Tramitacao, '')
class FormularioSimplificadoView(CreateView):
template_name = "materia/formulario_simplificado.html"
form_class = FormularioSimplificadoForm
success_url = reverse_lazy('materia:materialegislativa_list')
# TODO qual url?
class MateriaLegislativaSimplificadaCrud(Crud):
model = MateriaLegislativa
help_path = ''
class CreateView(crud.base.CrudCreateView):
class FormularioCadastroView(CreateView):
template_name = "materia/formulario_cadastro.html"
form_class = FormularioCadastroForm
success_url = reverse_lazy('materia:formulario_cadastro')
@property
def layout_key(self):
return 'MateriaLegislativaSimplificado'
class MateriaAnexadaView(FormView):

12
templates/materia/materialegislativa_list.html

@ -1,12 +0,0 @@
{% extends "crud/list.html" %}
{% load i18n %}
{% block more_buttons %}
<a href="{% url 'materia:formulario_simplificado' %}" class="btn btn-default">
{% blocktrans with verbose_name=view.verbose_name %} Formulário Simplificado {% endblocktrans %}
</a>
<a href="{% url 'materia:pesquisar_materia' %}" class="btn btn-default">
{% blocktrans with verbose_name=view.verbose_name %} Pesquisar Matéria {% endblocktrans %}
</a>
{% endblock more_buttons %}
Loading…
Cancel
Save