|
@ -1,6 +1,6 @@ |
|
|
import sys |
|
|
|
|
|
from collections import OrderedDict |
|
|
from collections import OrderedDict |
|
|
from datetime import datetime, timedelta |
|
|
from datetime import datetime, timedelta |
|
|
|
|
|
import sys |
|
|
|
|
|
|
|
|
from braces.views import FormMessagesMixin |
|
|
from braces.views import FormMessagesMixin |
|
|
from django import forms |
|
|
from django import forms |
|
@ -37,6 +37,7 @@ from compilacao.models import (Dispositivo, Nota, |
|
|
from compilacao.utils import DISPOSITIVO_SELECT_RELATED |
|
|
from compilacao.utils import DISPOSITIVO_SELECT_RELATED |
|
|
from crud.base import Crud, CrudListView, make_pagination |
|
|
from crud.base import Crud, CrudListView, make_pagination |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TipoNotaCrud = Crud.build(TipoNota, 'tipo_nota') |
|
|
TipoNotaCrud = Crud.build(TipoNota, 'tipo_nota') |
|
|
TipoVideCrud = Crud.build(TipoVide, 'tipo_vide') |
|
|
TipoVideCrud = Crud.build(TipoVide, 'tipo_vide') |
|
|
TipoPublicacaoCrud = Crud.build(TipoPublicacao, 'tipo_publicacao') |
|
|
TipoPublicacaoCrud = Crud.build(TipoPublicacao, 'tipo_publicacao') |
|
@ -1249,9 +1250,9 @@ class DispositivoSimpleEditView(TextEditView): |
|
|
if len(result) > 2: |
|
|
if len(result) > 2: |
|
|
result.pop() |
|
|
result.pop() |
|
|
|
|
|
|
|
|
if tipb.dispositivo_de_articulacao and\ |
|
|
# if tipb.dispositivo_de_articulacao and\ |
|
|
tipb.dispositivo_de_alteracao: |
|
|
# tipb.dispositivo_de_alteracao: |
|
|
result.pop() |
|
|
# result.pop() |
|
|
|
|
|
|
|
|
except Exception as e: |
|
|
except Exception as e: |
|
|
print(e) |
|
|
print(e) |
|
@ -1337,7 +1338,7 @@ class ActionsEditMixin: |
|
|
try: |
|
|
try: |
|
|
with transaction.atomic(): |
|
|
with transaction.atomic(): |
|
|
data['message'] = str(self.remover_dispositivo(base, bloco)) |
|
|
data['message'] = str(self.remover_dispositivo(base, bloco)) |
|
|
ta_base.organizar_ordem_de_dispositivos() |
|
|
ta_base.ordenar_dispositivos() |
|
|
except Exception as e: |
|
|
except Exception as e: |
|
|
print(e) |
|
|
print(e) |
|
|
data['pk'] = context['dispositivo_id'] |
|
|
data['pk'] = context['dispositivo_id'] |
|
@ -1859,6 +1860,13 @@ class ActionsEditMixin: |
|
|
filho.rotulo = filho.rotulo_padrao() |
|
|
filho.rotulo = filho.rotulo_padrao() |
|
|
filho.save() |
|
|
filho.save() |
|
|
|
|
|
|
|
|
|
|
|
''' Reordenar bloco atualizador caso a inserção seja |
|
|
|
|
|
dentro de um bloco de alteração''' |
|
|
|
|
|
|
|
|
|
|
|
if dp.tipo_dispositivo.dispositivo_de_alteracao and\ |
|
|
|
|
|
not dp.tipo_dispositivo.dispositivo_de_articulacao: |
|
|
|
|
|
dp.dispositivo_pai.ordenar_bloco_alteracao() |
|
|
|
|
|
|
|
|
except Exception as e: |
|
|
except Exception as e: |
|
|
print(e) |
|
|
print(e) |
|
|
|
|
|
|
|
@ -1907,6 +1915,49 @@ class ActionsEditMixin: |
|
|
|
|
|
|
|
|
return data |
|
|
return data |
|
|
|
|
|
|
|
|
|
|
|
def move_dpt_alterado(self, context): |
|
|
|
|
|
|
|
|
|
|
|
bloco = Dispositivo.objects.get(pk=context['bloco_pk']) |
|
|
|
|
|
dpt = Dispositivo.objects.get(pk=context['dispositivo_id']) |
|
|
|
|
|
|
|
|
|
|
|
if dpt.tipo_dispositivo.dispositivo_de_alteracao: |
|
|
|
|
|
dpt.dispositivo_pai = bloco |
|
|
|
|
|
else: |
|
|
|
|
|
dpt.dispositivo_atualizador = bloco |
|
|
|
|
|
|
|
|
|
|
|
filhos = Dispositivo.objects.order_by( |
|
|
|
|
|
'ordem_bloco_atualizador').filter( |
|
|
|
|
|
Q(dispositivo_pai_id=bloco.pk) | |
|
|
|
|
|
Q(dispositivo_atualizador_id=bloco.pk)) |
|
|
|
|
|
|
|
|
|
|
|
if not filhos.exists(): |
|
|
|
|
|
dpt.ordem_bloco_atualizador = Dispositivo.INTERVALO_ORDEM |
|
|
|
|
|
else: |
|
|
|
|
|
index = int(context['index']) |
|
|
|
|
|
fpks = filhos.values_list( |
|
|
|
|
|
'pk', flat=True).order_by('ordem_bloco_atualizador') |
|
|
|
|
|
|
|
|
|
|
|
index_dpt = 0 |
|
|
|
|
|
try: |
|
|
|
|
|
index_dpt = list(fpks).index(dpt.pk) |
|
|
|
|
|
except: |
|
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
|
|
filho_index = filhos[ |
|
|
|
|
|
index if index_dpt >= index |
|
|
|
|
|
else index + 1] if ( |
|
|
|
|
|
index if index_dpt >= index |
|
|
|
|
|
else index + 1) < filhos.count() else filhos.last() |
|
|
|
|
|
if filhos.last() == filho_index: |
|
|
|
|
|
dpt.ordem_bloco_atualizador = \ |
|
|
|
|
|
filho_index.ordem_bloco_atualizador + 1 |
|
|
|
|
|
else: |
|
|
|
|
|
dpt.ordem_bloco_atualizador = \ |
|
|
|
|
|
filho_index.ordem_bloco_atualizador - 1 |
|
|
|
|
|
|
|
|
|
|
|
dpt.save() |
|
|
|
|
|
bloco.ordenar_bloco_alteracao() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ActionsEditView(ActionsEditMixin, TemplateView): |
|
|
class ActionsEditView(ActionsEditMixin, TemplateView): |
|
|
|
|
|
|
|
@ -1926,6 +1977,10 @@ class ActionsEditView(ActionsEditMixin, TemplateView): |
|
|
del self.request.session['herancas'] |
|
|
del self.request.session['herancas'] |
|
|
del self.request.session['herancas_fila'] |
|
|
del self.request.session['herancas_fila'] |
|
|
|
|
|
|
|
|
|
|
|
if context['action'] == 'move_dpt_alterado': |
|
|
|
|
|
context['index'] = self.request.GET['index'] |
|
|
|
|
|
context['bloco_pk'] = self.request.GET['bloco_pk'] |
|
|
|
|
|
|
|
|
return self.render_to_json_response(context, **response_kwargs) |
|
|
return self.render_to_json_response(context, **response_kwargs) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|