From 00e9a24e3c1fb95d9f9b209ca32f57d6dcc88e8c Mon Sep 17 00:00:00 2001 From: Eduardo Edson Batista Cordeiro Alves Date: Thu, 10 Mar 2016 08:30:03 -0300 Subject: [PATCH] Muda documento acessorio para CreateView --- materia/forms.py | 12 +++-- materia/views.py | 32 +++++------- .../materia/documento_acessorio_edit.html | 49 +------------------ 3 files changed, 19 insertions(+), 74 deletions(-) diff --git a/materia/forms.py b/materia/forms.py index ec7d9a385..ef18e9869 100644 --- a/materia/forms.py +++ b/materia/forms.py @@ -114,12 +114,10 @@ class DocumentoAcessorioForm(ModelForm): 'data': forms.DateInput(attrs={'class': 'dateinput'}) } - def __init__(self, *args, **kwargs): + def __init__(self, excluir=False, *args, **kwargs): row1 = crispy_layout_mixin.to_row( - [('tipo', 4), - ('nome', 4), - ('data', 4)]) + [('tipo', 4), ('nome', 4), ('data', 4)]) row2 = crispy_layout_mixin.to_row( [('autor', 12)]) @@ -127,12 +125,16 @@ class DocumentoAcessorioForm(ModelForm): row3 = crispy_layout_mixin.to_row( [('ementa', 12)]) + more = [] + if excluir: + more = [Submit('Excluir', 'Excluir')] + self.helper = FormHelper() self.helper.layout = Layout( Fieldset( _('Incluir Documento Acessório'), row1, row2, row3, - form_actions() + form_actions(more=more) ) ) super(DocumentoAcessorioForm, self).__init__(*args, **kwargs) diff --git a/materia/views.py b/materia/views.py index ba1526f3f..4b72269b7 100644 --- a/materia/views.py +++ b/materia/views.py @@ -513,8 +513,9 @@ class NumeracaoEditView(FormView): return reverse('numeracao', kwargs={'pk': pk}) -class DocumentoAcessorioView(FormView): +class DocumentoAcessorioView(CreateView): template_name = "materia/documento_acessorio.html" + form_class = DocumentoAcessorioForm def get(self, request, *args, **kwargs): materia = MateriaLegislativa.objects.get(id=kwargs['pk']) @@ -527,21 +528,14 @@ class DocumentoAcessorioView(FormView): 'docs': docs}) def post(self, request, *args, **kwargs): - form = DocumentoAcessorioForm(request.POST) + form = self.get_form() materia = MateriaLegislativa.objects.get(id=kwargs['pk']) docs_list = DocumentoAcessorio.objects.filter( materia_id=kwargs['pk']) if form.is_valid(): - documento_acessorio = DocumentoAcessorio() - + documento_acessorio = form.save(commit=False) documento_acessorio.materia = materia - documento_acessorio.tipo = form.cleaned_data['tipo'] - documento_acessorio.data = form.cleaned_data['data'] - documento_acessorio.nome = form.cleaned_data['nome'] - documento_acessorio.autor = form.cleaned_data['autor'] - documento_acessorio.ementa = form.cleaned_data['ementa'] - documento_acessorio.save() return self.form_valid(form) else: @@ -589,26 +583,23 @@ class AcompanhamentoExcluirView(TemplateView): return HttpResponseRedirect(self.get_redirect_url()) -class DocumentoAcessorioEditView(FormView): +class DocumentoAcessorioEditView(CreateView): template_name = "materia/documento_acessorio_edit.html" + form_class = DocumentoAcessorioForm def get(self, request, *args, **kwargs): materia = MateriaLegislativa.objects.get(id=kwargs['pk']) documento = DocumentoAcessorio.objects.get(id=kwargs['id']) - form = DocumentoAcessorioForm() + form = DocumentoAcessorioForm(instance=documento, excluir=True) - return self.render_to_response( - {'object': materia, - 'form': form, - 'doc': documento, - 'tipos': TipoDocumento.objects.all()}) + return self.render_to_response({'object': materia, 'form': form}) def post(self, request, *args, **kwargs): - form = DocumentoAcessorioForm(request.POST) + form = self.get_form() materia = MateriaLegislativa.objects.get(id=kwargs['pk']) documento = DocumentoAcessorio.objects.get(id=kwargs['id']) if form.is_valid(): - if 'excluir' in request.POST: + if 'Excluir' in request.POST: documento.delete() elif 'salvar' in request.POST: documento.materia = materia @@ -617,9 +608,8 @@ class DocumentoAcessorioEditView(FormView): documento.nome = form.cleaned_data['nome'] documento.autor = form.cleaned_data['autor'] documento.ementa = form.cleaned_data['ementa'] - documento.save() - return self.form_valid(form) + return redirect(self.get_success_url()) else: return self.render_to_response({'form': form, 'object': materia, diff --git a/templates/materia/documento_acessorio_edit.html b/templates/materia/documento_acessorio_edit.html index c7390e62d..338595dc0 100644 --- a/templates/materia/documento_acessorio_edit.html +++ b/templates/materia/documento_acessorio_edit.html @@ -3,52 +3,5 @@ {% load crispy_forms_tags %} {% block actions %} {% endblock %} {% block detail_content %} -
- Matéria Legislativa - {% include "materia/resumo_detail_materia.html" %} - -
- Editar Documento Acessório -
- {% csrf_token %} -
-
- Tipo* - -
- -
- Data - -
- -
- Nome* - -
-
- -
-
- Autor* - -
- -
- Ementa* - -
-
-
- - -
-
-
+ {% crispy form %} {% endblock %}