diff --git a/sapl/sessao/models.py b/sapl/sessao/models.py index 7f8ea0882..a69fe8300 100644 --- a/sapl/sessao/models.py +++ b/sapl/sessao/models.py @@ -121,7 +121,7 @@ class SessaoPlenaria(models.Model): verbose_name=_('Tipo')) sessao_legislativa = models.ForeignKey( SessaoLegislativa, - on_delete=models.PROTECT, + on_delete=models.CASCADE, verbose_name=_('Sessão Legislativa')) legislatura = models.ForeignKey(Legislatura, on_delete=models.PROTECT, @@ -288,7 +288,7 @@ class TipoExpediente(models.Model): @reversion.register() class ExpedienteSessao(models.Model): # ExpedienteSessaoPlenaria sessao_plenaria = models.ForeignKey(SessaoPlenaria, - on_delete=models.PROTECT) + on_delete=models.CASCADE) tipo = models.ForeignKey(TipoExpediente, on_delete=models.PROTECT) conteudo = models.TextField( blank=True, verbose_name=_('Conteúdo do expediente')) @@ -319,7 +319,7 @@ class OcorrenciaSessao(models.Model): # OcorrenciaSessaoPlenaria @reversion.register() class IntegranteMesa(models.Model): # MesaSessaoPlenaria sessao_plenaria = models.ForeignKey(SessaoPlenaria, - on_delete=models.PROTECT) + on_delete=models.CASCADE) cargo = models.ForeignKey(CargoMesa, on_delete=models.PROTECT) parlamentar = models.ForeignKey(Parlamentar, on_delete=models.PROTECT) @@ -334,7 +334,7 @@ class IntegranteMesa(models.Model): # MesaSessaoPlenaria @reversion.register() class AbstractOrador(models.Model): # Oradores sessao_plenaria = models.ForeignKey(SessaoPlenaria, - on_delete=models.PROTECT) + on_delete=models.CASCADE) parlamentar = models.ForeignKey(Parlamentar, on_delete=models.PROTECT, verbose_name=_('Parlamentar')) @@ -387,7 +387,7 @@ class OrdemDia(AbstractOrdemDia): @reversion.register() class PresencaOrdemDia(models.Model): # OrdemDiaPresenca sessao_plenaria = models.ForeignKey(SessaoPlenaria, - on_delete=models.PROTECT) + on_delete=models.CASCADE) parlamentar = models.ForeignKey(Parlamentar, on_delete=models.PROTECT) class Meta: @@ -427,7 +427,7 @@ class RegistroVotacao(models.Model): TipoResultadoVotacao, on_delete=models.PROTECT, verbose_name=_('Resultado da Votação')) - materia = models.ForeignKey(MateriaLegislativa, on_delete=models.PROTECT) + materia = models.ForeignKey(MateriaLegislativa, on_delete=models.CASCADE) ordem = models.ForeignKey(OrdemDia, blank=True, null=True, @@ -513,7 +513,7 @@ class VotoParlamentar(models.Model): # RegistroVotacaoParlamentar @reversion.register() class SessaoPlenariaPresenca(models.Model): sessao_plenaria = models.ForeignKey(SessaoPlenaria, - on_delete=models.PROTECT) + on_delete=models.CASCADE) parlamentar = models.ForeignKey(Parlamentar, on_delete=models.PROTECT) data_sessao = models.DateField(blank=True, null=True) diff --git a/sapl/sessao/tests/test_sessao.py b/sapl/sessao/tests/test_sessao.py index c1af4fc7e..8ba743567 100644 --- a/sapl/sessao/tests/test_sessao.py +++ b/sapl/sessao/tests/test_sessao.py @@ -158,7 +158,7 @@ def test_registro_votacao_tem_ordem_xor_expediente(): ordem = mommy.make(OrdemDia) expediente = mommy.make(ExpedienteMateria) - +. # a validação funciona com exatamente um dos campos preenchido registro_votacao_com(ordem, None).full_clean() registro_votacao_com(None, expediente).full_clean() @@ -170,3 +170,15 @@ def test_registro_votacao_tem_ordem_xor_expediente(): # a validação NÃO funciona quando ambos são preenchidos with pytest.raises(ValidationError): registro_votacao_com(ordem, expediente).full_clean() + + +@pytest.mark.django_db(transaction=False) +def test_delete_sessao_plenaria(): + legislatura = mommy.make(Legislatura) + sessao = mommy.make(SessaoLegislativa) + tipo = mommy.make(TipoSessaoPlenaria) + sessao_plenaria = mommy.make(SessaoPlenaria, + legislatura=legislatura, + sessao_legislativa=sessao, + tipo=tipo, + numero=1)