Browse Source

Merge pull request #306 from interlegis/302-Crud-materia

fix #302 crud materia
pull/195/head
Edward 9 years ago
parent
commit
ff03c06518
  1. 136
      materia/forms.py
  2. 7
      materia/urls.py
  3. 19
      materia/views.py
  4. 12
      templates/materia/materialegislativa_list.html

136
materia/forms.py

@ -401,142 +401,6 @@ class MateriaAnexadaForm(ModelForm):
*args, **kwargs) *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): class AutoriaForm(ModelForm):
autor = forms.ModelChoiceField( autor = forms.ModelChoiceField(
label=_('Autor'), label=_('Autor'),

7
materia/urls.py

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

19
materia/views.py

@ -13,6 +13,7 @@ from django.template import Context, loader
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.views.generic import CreateView, FormView, ListView, TemplateView from django.views.generic import CreateView, FormView, ListView, TemplateView
import crud.base
from base.models import CasaLegislativa from base.models import CasaLegislativa
from comissoes.models import Comissao, Composicao from comissoes.models import Comissao, Composicao
from compilacao.views import IntegracaoTaView from compilacao.views import IntegracaoTaView
@ -23,7 +24,6 @@ from sapl.utils import get_base_url
from .forms import (AcompanhamentoMateriaForm, AutoriaForm, from .forms import (AcompanhamentoMateriaForm, AutoriaForm,
DespachoInicialForm, DocumentoAcessorioForm, DespachoInicialForm, DocumentoAcessorioForm,
FormularioCadastroForm, FormularioSimplificadoForm,
LegislacaoCitadaForm, MateriaAnexadaForm, LegislacaoCitadaForm, MateriaAnexadaForm,
MateriaLegislativaPesquisaForm, NumeracaoForm, MateriaLegislativaPesquisaForm, NumeracaoForm,
ProposicaoForm, RelatoriaForm, TramitacaoForm) ProposicaoForm, RelatoriaForm, TramitacaoForm)
@ -40,7 +40,6 @@ TipoMateriaCrud = Crud.build(TipoMateriaLegislativa,
RegimeTramitacaoCrud = Crud.build(RegimeTramitacao, 'regime_tramitacao') RegimeTramitacaoCrud = Crud.build(RegimeTramitacao, 'regime_tramitacao')
TipoDocumentoCrud = Crud.build(TipoDocumento, 'tipo_documento') TipoDocumentoCrud = Crud.build(TipoDocumento, 'tipo_documento')
TipoFimRelatoriaCrud = Crud.build(TipoFimRelatoria, 'fim_relatoria') TipoFimRelatoriaCrud = Crud.build(TipoFimRelatoria, 'fim_relatoria')
MateriaLegislativaCrud = Crud.build(MateriaLegislativa, '')
AnexadaCrud = Crud.build(Anexada, '') AnexadaCrud = Crud.build(Anexada, '')
TipoAutorCrud = Crud.build(TipoAutor, 'tipo_autor') TipoAutorCrud = Crud.build(TipoAutor, 'tipo_autor')
AutorCrud = Crud.build(Autor, 'autor') AutorCrud = Crud.build(Autor, 'autor')
@ -56,16 +55,12 @@ UnidadeTramitacaoCrud = Crud.build(UnidadeTramitacao, 'unidade_tramitacao')
TramitacaoCrud = Crud.build(Tramitacao, '') TramitacaoCrud = Crud.build(Tramitacao, '')
class FormularioSimplificadoView(CreateView): class MateriaLegislativaCrud(Crud):
template_name = "materia/formulario_simplificado.html" model = MateriaLegislativa
form_class = FormularioSimplificadoForm help_path = 'materia_legislativa'
success_url = reverse_lazy('materia:materialegislativa_list')
class FormularioCadastroView(CreateView): class BaseMixin(crud.base.BaseMixin):
template_name = "materia/formulario_cadastro.html" list_field_names = ['tipo', 'numero', 'ano', 'data_apresentacao']
form_class = FormularioCadastroForm
success_url = reverse_lazy('materia:formulario_cadastro')
class MateriaAnexadaView(FormView): class MateriaAnexadaView(FormView):
@ -1408,7 +1403,7 @@ class ProposicaoTaView(IntegracaoTaView):
model_type_foreignkey = TipoProposicao model_type_foreignkey = TipoProposicao
class AcompanhamentoMateriaView(MateriaLegislativaCrud.CrudDetailView): class AcompanhamentoMateriaView(CreateView):
template_name = "materia/acompanhamento_materia.html" template_name = "materia/acompanhamento_materia.html"
def get_random_chars(self): def get_random_chars(self):

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