From 1132372da7d4d41172ca48a17402b1657cfb1dfa Mon Sep 17 00:00:00 2001 From: Mariana Mendes Date: Fri, 28 Sep 2018 11:24:32 -0300 Subject: [PATCH] fix #1801 --- sapl/sessao/views.py | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index ab0360edd..2d823a6e3 100644 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -2904,6 +2904,19 @@ class JustificativaAusenciaCrud(Crud): model = JustificativaAusencia public = [RP_LIST, RP_DETAIL, ] + def get(self, request, *args, **kwargs): + self.object = self.get_object() + context = self.get_context_data(object=self.object) + + presencas = SessaoPlenariaPresenca.objects.filter( + sessao_plenaria_id=self.object.id + ).order_by('parlamentar__nome_parlamentar') + + parlamentares_sessao = [p.parlamentar for p in presencas] + + context.update({'presenca_sessao': parlamentares_sessao}) + return self.render_to_response(context) + class BaseMixin(Crud.BaseMixin): list_field_names = ['sessao_plenaria', 'tipo_ausencia', 'hora', 'data'] @@ -2917,23 +2930,27 @@ class JustificativaAusenciaCrud(Crud): def get_initial(self): if self.sessao_plenaria.finalizada is None or \ - not self.sessao_plenaria.finalizada: - raise ValidationError(_('A Sessão deve estar finalizada para registrar as ausências')) + not self.sessao_plenaria.finalizada: + raise ValidationError(_('A Sessão deve estar finalizada para registrar as ausências')) else: return {} def form_valid(self, form): return super(Crud.CreateView, self).form_valid(form) + def get_success_url(self): + return reverse('sapl.sessao:justificativaausencia_list', + kwargs={'pk': self.kwargs['pk']}) + class UpdateView(Crud.UpdateView): form_class = JustificativaAusenciaForm def get_initial(self): if self.sessao_plenaria.finalizada is None or \ - not self.sessao_plenaria.finalizada: - raise ValidationError(_('A Sessão deve estar finalizada para editar as ausências')) + not self.sessao_plenaria.finalizada: + raise ValidationError(_('A Sessão deve estar finalizada para editar as ausências')) else: - return {'sessao_plenaria': self.sessao_plenaria} + return {'sessao_plenaria': self.sessao_plenaria} class DeleteView(Crud.DeleteView): pass