diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py index d21fd0d17..9ecd11f5a 100644 --- a/sapl/sessao/forms.py +++ b/sapl/sessao/forms.py @@ -22,7 +22,7 @@ from sapl.utils import (RANGE_DIAS_MES, RANGE_MESES, from .models import (Bancada, Bloco, ExpedienteMateria, JustificativaAusencia, Orador,OradorExpediente, OrdemDia, SessaoPlenaria, - SessaoPlenariaPresenca, TipoResultadoVotacao) + SessaoPlenariaPresenca, TipoJustificativa, TipoResultadoVotacao) def recupera_anos(): @@ -680,6 +680,11 @@ class ResumoOrdenacaoForm(forms.Form): class JustificativaAusenciaForm(forms.Form): + class Meta: + model = JustificativaAusencia + fields = ['sessao_plenaria', 'tipo_ausencia', 'hora', + 'data'] + def clean(self): cleaned_data = super(JustificativaAusenciaForm, self).clean() if not self.is_valid(): diff --git a/sapl/sessao/models.py b/sapl/sessao/models.py index ea9608ac3..697e96dc0 100644 --- a/sapl/sessao/models.py +++ b/sapl/sessao/models.py @@ -599,4 +599,9 @@ class JustificativaAusencia(models.Model): ausencia = models.PositiveIntegerField( verbose_name=_('Ausente em'), choices=TIPO_AUSENCIA_CHOICES, default=1) + class Meta: + verbose_name = _('Justificativa de Ausência') + verbose_name_plural = _('Justificativas de Ausências') + def __str__(self): + return 'Justificativa de Ausência' \ No newline at end of file diff --git a/sapl/sessao/urls.py b/sapl/sessao/urls.py index 6cf98cbef..ed68cfbe0 100644 --- a/sapl/sessao/urls.py +++ b/sapl/sessao/urls.py @@ -154,8 +154,7 @@ urlpatterns = [ name='votacao_simbolica_transparencia'), url(r'^sessao/mudar-ordem-materia-sessao/', mudar_ordem_materia_sessao, - name='mudar_ordem_materia_sessao'), - # Justificativa Ausencia - url(r'^sessao/(?P\d+)/justificativa/', + name='mudar_ordem_materia_sessao'), + url(r'^sessao/justificativa/', include(JustificativaAusenciaCrud.get_urls())), ] diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index f6dc812bf..ab0360edd 100644 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -2915,15 +2915,10 @@ class JustificativaAusenciaCrud(Crud): class CreateView(Crud.CreateView): form_class = JustificativaAusenciaForm - def get_success_url(self): - pk = self.sessao_plenaria.id - return reverse('sapl.sessao:justificativaausencia_list', kwargs={'pk': pk}) - def get_initial(self): if self.sessao_plenaria.finalizada is None or \ not self.sessao_plenaria.finalizada: - msg = _('A Sessão deve estar finalizada para registrar as ausências.') - messages.add_message(self.request, messages.ERROR, msg) + raise ValidationError(_('A Sessão deve estar finalizada para registrar as ausências')) else: return {} @@ -2936,8 +2931,7 @@ class JustificativaAusenciaCrud(Crud): def get_initial(self): if self.sessao_plenaria.finalizada is None or \ not self.sessao_plenaria.finalizada: - msg = _('A Sessão deve estar finalizada para editar as ausências.') - messages.add_message(self.request, messages.ERROR, msg) + raise ValidationError(_('A Sessão deve estar finalizada para editar as ausências')) else: return {'sessao_plenaria': self.sessao_plenaria} diff --git a/sapl/templates/sessao/layouts.yaml b/sapl/templates/sessao/layouts.yaml index 16fb1713f..f9934deae 100644 --- a/sapl/templates/sessao/layouts.yaml +++ b/sapl/templates/sessao/layouts.yaml @@ -87,4 +87,12 @@ Bloco: TipoJustificativa: {% trans 'Tipo de Justificativa' %}: - - descricao \ No newline at end of file + - descricao + +JustificativaAusenica: + {% trans 'Justificativa de Ausência' %}: + - sessao parlamentar + - data hora + - tipo_ausencia + - ausencia + - observacao \ No newline at end of file