diff --git a/comissoes/urls.py b/comissoes/urls.py index 75f1d4835..68df16eea 100644 --- a/comissoes/urls.py +++ b/comissoes/urls.py @@ -15,7 +15,7 @@ comissao_url_patterns = comissao_crud.urlpatterns + [ url(r'^(?P\d+)/composicao/(?P\d+)/parlamentar$', ComissaoParlamentarIncluirView.as_view(), name='comissao_parlamentar'), - url(r'^(?P\d+)/composicao/parlamentar/(?P\d+)/edit$', + url(r'^(?P\d+)/composicao/(?P\d+)/parlamentar/(?P\d+)/edit$', ComissaoParlamentarEditView.as_view(), name='comissao_parlamentar_edit'), url(r'^(?P\d+)/materias$', diff --git a/comissoes/views.py b/comissoes/views.py index a5c9789c5..66c1be4e4 100644 --- a/comissoes/views.py +++ b/comissoes/views.py @@ -370,12 +370,37 @@ class ComissaoParlamentarEditView(FormMixin, GenericView): participacao = Participacao.objects.get(id=participacao_id) comissao = Comissao.objects.get(id=self.kwargs['pk']) form = ParticipacaoCadastroForm( - initial={'parlamentar_id': participacao.parlamentar.id}, + initial={'parlamentar_id': (Filiacao.objects.get( + parlamentar__id=participacao.parlamentar.id).id)}, instance=participacao) return self.render_to_response({'form': form, 'comissao': comissao, 'composicao_id': self.kwargs['id']}) + def post(self, request, *args, **kwargs): + form = ParticipacaoCadastroForm(request.POST) + if form.is_valid(): + participacao = ParticipacaoCadastroForm( + request.POST, + request.FILES, + instance=Participacao.objects.get(id=kwargs['id']) + ).save(commit=False) + + participacao.composicao = Composicao.objects.get( + id=kwargs['cd']) + participacao.parlamentar = ( + form.cleaned_data['parlamentar_id'].parlamentar) + participacao.save() + return self.form_valid(form) + else: + return self.render_to_response( + {'form': form, + 'composicao_id': self.kwargs['id']}) + + def get_success_url(self): + pk = self.kwargs['pk'] + return reverse('comissao:composicao', kwargs={'pk': pk}) + class MateriasTramitacaoListView(ListView): template_name = "comissoes/materias_em_tramitacao.html" diff --git a/templates/comissoes/comissao_parlamentar_edit.html b/templates/comissoes/comissao_parlamentar_edit.html index 0a52f468d..56840d2ff 100644 --- a/templates/comissoes/comissao_parlamentar_edit.html +++ b/templates/comissoes/comissao_parlamentar_edit.html @@ -1,10 +1,7 @@ {% extends "comissoes/comissao_detail.html" %} {% load i18n %} {% load crispy_forms_tags %} - -

Composição

+{% block actions %}{% endblock %} {% block detail_content %} - -{% crispy form %} - + {% crispy form %} {% endblock detail_content %} \ No newline at end of file diff --git a/templates/comissoes/composicao.html b/templates/comissoes/composicao.html index 708a2363b..b340b2c3b 100644 --- a/templates/comissoes/composicao.html +++ b/templates/comissoes/composicao.html @@ -31,7 +31,7 @@ {% for participacao in participacoes %} {% if participacao.composicao_id == composicao_id %} - {{participacao.parlamentar.nome_parlamentar}} + {{participacao.parlamentar.nome_parlamentar}} {{participacao.cargo}} {{participacao.titular|yesno:"Sim,Não"}} {{participacao.data_designacao|date:"d/m/Y"}}