diff --git a/sapl/comissoes/views.py b/sapl/comissoes/views.py index 699127409..78e639168 100644 --- a/sapl/comissoes/views.py +++ b/sapl/comissoes/views.py @@ -24,17 +24,18 @@ from .models import (CargoComissao, Comissao, Composicao, DocumentoAcessorio, Participacao, Periodo, Reuniao, TipoComissao) -def pegar_url(pk): +def pegar_url_composicao(pk): participacao = Participacao.objects.get(id=pk) - if participacao: - comp_pk = participacao.composicao.pk - url = reverse('sapl.comissoes:composicao_detail', kwargs={'pk': comp_pk}) - return url + comp_pk = participacao.composicao.pk + url = reverse('sapl.comissoes:composicao_detail', kwargs={'pk': comp_pk}) + return url + + +def pegar_url_reuniao(pk): documentoacessorio = DocumentoAcessorio.objects.get(id=pk) - if documentoacessorio: - r_pk = documentoacessorio.reuniao.pk - url = reverse('sapl.comissoes:reuniao_detail', kwargs={'pk': r_pk}) - return url + r_pk = documentoacessorio.reuniao.pk + url = reverse('sapl.comissoes:reuniao_detail', kwargs={'pk': r_pk}) + return url CargoCrud = CrudAux.build(CargoComissao, 'cargo_comissao') @@ -52,6 +53,8 @@ class PeriodoComposicaoCrud(CrudAux): class UpdateView(CrudAux.UpdateView): form_class = PeriodoForm + # class ListView(CrudAux.ListView): + class ParticipacaoCrud(MasterDetailCrud): model = Participacao diff --git a/sapl/compilacao/models.py b/sapl/compilacao/models.py index 4d7701529..6ffb738b1 100644 --- a/sapl/compilacao/models.py +++ b/sapl/compilacao/models.py @@ -1557,30 +1557,25 @@ class Dispositivo(BaseModel, TimestampedMixin): irmao.clean() irmao.save() - def get_niveis(self): - ## Próximo nível zero: - proxima_articulacao = Dispositivo.objects.order_by('ordem').filter( - ordem__gt=self.ordem, - nivel=0, - ta_id=self.ta_id).first() - if proxima_articulacao: - return proxima_articulacao - - ## Nível zero anterior: - anterior_articulacao = Dispositivo.objects.order_by('ordem').filter( - ordem__lt=self.ordem, - nivel=0, - ta_id=self.ta_id).last() - if anterior_articulacao: - return anterior_articulacao - - ## Nível zero: - niveis_zero = Dispositivo.objects.order_by('ordem').filter( - nivel=0, - ta_id=self.ta_id) - if niveis_zero: - return niveis_zero - + def get_proximo_nivel_zero(self): + proxima_articulacao = Dispositivo.objects.order_by('ordem').filter( + ordem__gt=self.ordem, + nivel=0, + ta_id=self.ta_id).first() + return proxima_articulacao + + def get_nivel_zero_anterior(self): + anterior_articulacao = Dispositivo.objects.order_by('ordem').filter( + ordem__lt=self.ordem, + nivel=0, + ta_id=self.ta_id).last() + return anterior_articulacao + + def get_niveis_zero(self): + niveis_zero = Dispositivo.objects.order_by('ordem').filter( + nivel=0, + ta_id=self.ta_id) + return niveis_zero # metodo obsoleto, foi acrescentado o campo auto_inserido no modelo def is_relative_auto_insert__obsoleto(self, perfil_pk=None):