|
|
@ -1465,7 +1465,7 @@ class Dispositivo(BaseModel, TimestampedMixin): |
|
|
|
tipo_dispositivo_id=self.tipo_dispositivo.pk)) |
|
|
|
|
|
|
|
else: # contagem continua restrita a articulacao |
|
|
|
proxima_articulacao = self.get_proximo_nivel_zero() |
|
|
|
proxima_articulacao = self.select_next_root() |
|
|
|
|
|
|
|
if proxima_articulacao is None: |
|
|
|
irmaos = list(Dispositivo.objects.filter( |
|
|
@ -1557,25 +1557,15 @@ class Dispositivo(BaseModel, TimestampedMixin): |
|
|
|
irmao.clean() |
|
|
|
irmao.save() |
|
|
|
|
|
|
|
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 |
|
|
|
def select_roots(self): |
|
|
|
return Dispositivo.objects.order_by( |
|
|
|
'ordem').filter(nivel=0, ta_id=self.ta_id) |
|
|
|
|
|
|
|
def select_next_root(self): |
|
|
|
return self.select_roots().filter(ordem__gt=self.ordem).first() |
|
|
|
|
|
|
|
def select_prev_root(self): |
|
|
|
return self.select_roots().filter(ordem__lt=self.ordem).last() |
|
|
|
|
|
|
|
# metodo obsoleto, foi acrescentado o campo auto_inserido no modelo |
|
|
|
def is_relative_auto_insert__obsoleto(self, perfil_pk=None): |
|
|
|