From b8f5362c34cd3ace8fce6979c6e5efb00e4b8eea Mon Sep 17 00:00:00 2001 From: Cesar Carvalho Date: Fri, 25 Jan 2019 17:19:25 -0200 Subject: [PATCH] adicionado botao de alterar nome --- sapl/parlamentares/forms.py | 24 +++++++++++++++++-- sapl/parlamentares/urls.py | 5 +++- sapl/parlamentares/views.py | 18 +++++++++----- sapl/sessao/forms.py | 3 +++ .../altera_nome_partido_form.html | 8 +++++++ .../parlamentares/partido_detail.html | 12 ++++++++++ 6 files changed, 61 insertions(+), 9 deletions(-) create mode 100644 sapl/templates/parlamentares/altera_nome_partido_form.html create mode 100644 sapl/templates/parlamentares/partido_detail.html diff --git a/sapl/parlamentares/forms.py b/sapl/parlamentares/forms.py index 84f142b04..08d2acf41 100755 --- a/sapl/parlamentares/forms.py +++ b/sapl/parlamentares/forms.py @@ -18,7 +18,7 @@ from floppyforms.widgets import ClearableFileInput from image_cropping.widgets import CropWidget, ImageCropWidget from sapl.base.models import Autor, TipoAutor -from sapl.crispy_layout_mixin import form_actions, to_row +from sapl.crispy_layout_mixin import form_actions, to_row, SaplFormLayout from sapl.rules import SAPL_GROUP_VOTANTE from .models import (ComposicaoColigacao, Filiacao, Frente, Legislatura, @@ -501,4 +501,24 @@ class VotanteForm(ModelForm): class EditarNomePartidoForm(forms.Form): sigla = forms.CharField(label="Sigla") nome = forms.CharField(label="Novo Nome") - data_alteracao = forms.DateField(label="Data de alteração") \ No newline at end of file + data_alteracao = forms.DateField(label="Data de alteração") + + def __init__(self, *args, **kwargs): + super(EditarNomePartidoForm, self).__init__(*args, **kwargs) + + row1 = to_row([('sigla', 12)]) + row2 = to_row([('nome', 6)]) + row3 = to_row([('data_alteracao', 12)]) + + self.helper = FormHelper() + self.helper.layout = SaplFormLayout( + Fieldset(_('Alteração do nome do partido'), + row1, row2, row3)) + + def clean(self): + super(EditarNomePartidoForm, self).clean() + + if not self.is_valid(): + return self.cleaned_data + + return self.cleaned_data \ No newline at end of file diff --git a/sapl/parlamentares/urls.py b/sapl/parlamentares/urls.py index e383421c4..c28299d98 100644 --- a/sapl/parlamentares/urls.py +++ b/sapl/parlamentares/urls.py @@ -17,7 +17,8 @@ from sapl.parlamentares.views import (CargoMesaCrud, ColigacaoCrud, frente_atualiza_lista_parlamentares, insere_parlamentar_composicao, parlamentares_frente_selected, - remove_parlamentar_composicao) + remove_parlamentar_composicao, + EditaNomePartidoView) from .apps import AppConfig @@ -60,6 +61,8 @@ urlpatterns = [ url(r'^sistema/parlamentar/tipo-militar/', include(TipoMilitarCrud.get_urls())), url(r'^sistema/parlamentar/partido/', include(PartidoCrud.get_urls())), + url(r'^sistema/parlamentar/partido/(?P\d+)/altera-nome', + EditaNomePartidoView.as_view(), name='altera_nome_partido'), url(r'^sistema/mesa-diretora/sessao-legislativa/', include(SessaoLegislativaCrud.get_urls())), diff --git a/sapl/parlamentares/views.py b/sapl/parlamentares/views.py index 886477505..508a15dcc 100644 --- a/sapl/parlamentares/views.py +++ b/sapl/parlamentares/views.py @@ -3,6 +3,7 @@ import json import logging from django.contrib import messages +from django.contrib.auth.mixins import PermissionRequiredMixin from django.contrib.contenttypes.models import ContentType from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist from django.core.urlresolvers import reverse, reverse_lazy @@ -29,7 +30,8 @@ from sapl.parlamentares.apps import AppConfig from sapl.utils import parlamentares_ativos from .forms import (FiliacaoForm, FrenteForm, LegislaturaForm, MandatoForm, - ParlamentarCreateForm, ParlamentarForm, VotanteForm) + ParlamentarCreateForm, ParlamentarForm, VotanteForm, + EditarNomePartidoForm) from .models import (CargoMesa, Coligacao, ComposicaoColigacao, ComposicaoMesa, Dependente, Filiacao, Frente, Legislatura, Mandato, NivelInstrucao, Parlamentar, Partido, SessaoLegislativa, @@ -46,7 +48,6 @@ TipoMilitarCrud = CrudAux.build(SituacaoMilitar, 'tipo_situa_militar') DependenteCrud = MasterDetailCrud.build( Dependente, 'parlamentar', 'dependente') - class SessaoLegislativaCrud(CrudAux): model = SessaoLegislativa @@ -754,10 +755,15 @@ class MesaDiretoraView(FormView): }) -class EditaNomePartidoView(FormView): - # form_class = EditarNomePartidoForm - # template_name = 'materia/impressos/etiqueta.html' - pass +class EditaNomePartidoView(PermissionRequiredMixin, FormView): + form_class = EditarNomePartidoForm + template_name = 'parlamentares/altera_nome_partido_form.html' + success_url = reverse_lazy('sapl.parlamentares:altera_nome_partido') + permission_required = ('parlamentares.altera_nome_partido',) + + def form_valid(self, form): + return super().form_valid(form) + def altera_field_mesa(request): """ diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py index 68f6d3222..997eebb1f 100644 --- a/sapl/sessao/forms.py +++ b/sapl/sessao/forms.py @@ -991,3 +991,6 @@ class VotacaoEmBlocoFilterSet(MateriaLegislativaFilterSet): row4, row5, row6, row7, row8, row9, form_actions(label='Pesquisar')) ) + +class PartidoForm(forms.ModelForm): + pass diff --git a/sapl/templates/parlamentares/altera_nome_partido_form.html b/sapl/templates/parlamentares/altera_nome_partido_form.html new file mode 100644 index 000000000..ab31ae300 --- /dev/null +++ b/sapl/templates/parlamentares/altera_nome_partido_form.html @@ -0,0 +1,8 @@ +{% extends 'crud/detail.html' %} +{% load i18n %} +{% load crispy_forms_tags %} + +{% block detail_content %} + {% crispy form %} + +{% endblock detail_content %} diff --git a/sapl/templates/parlamentares/partido_detail.html b/sapl/templates/parlamentares/partido_detail.html new file mode 100644 index 000000000..12d0c0bd5 --- /dev/null +++ b/sapl/templates/parlamentares/partido_detail.html @@ -0,0 +1,12 @@ +{% extends 'crud/detail.html' %} +{% load i18n %} + +{% block actions %} + + {{ block.super }} + + + +{% endblock actions %}