|
@ -1,7 +1,7 @@ |
|
|
from collections import OrderedDict |
|
|
from collections import OrderedDict |
|
|
from datetime import timedelta |
|
|
from datetime import timedelta |
|
|
import sys |
|
|
|
|
|
import logging |
|
|
import logging |
|
|
|
|
|
import sys |
|
|
|
|
|
|
|
|
from braces.views import FormMessagesMixin |
|
|
from braces.views import FormMessagesMixin |
|
|
from django import forms |
|
|
from django import forms |
|
@ -50,6 +50,7 @@ from sapl.compilacao.utils import (DISPOSITIVO_SELECT_RELATED, |
|
|
from sapl.crud.base import Crud, CrudAux, CrudListView, make_pagination |
|
|
from sapl.crud.base import Crud, CrudAux, CrudListView, make_pagination |
|
|
from sapl.settings import BASE_DIR |
|
|
from sapl.settings import BASE_DIR |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TipoNotaCrud = CrudAux.build(TipoNota, 'tipo_nota') |
|
|
TipoNotaCrud = CrudAux.build(TipoNota, 'tipo_nota') |
|
|
TipoVideCrud = CrudAux.build(TipoVide, 'tipo_vide') |
|
|
TipoVideCrud = CrudAux.build(TipoVide, 'tipo_vide') |
|
|
TipoPublicacaoCrud = CrudAux.build(TipoPublicacao, 'tipo_publicacao') |
|
|
TipoPublicacaoCrud = CrudAux.build(TipoPublicacao, 'tipo_publicacao') |
|
@ -664,7 +665,7 @@ class NotasCreateView(NotaMixin, CreateView): |
|
|
return super(NotasCreateView, self).get(request, *args, **kwargs) |
|
|
return super(NotasCreateView, self).get(request, *args, **kwargs) |
|
|
|
|
|
|
|
|
def post(self, request, *args, **kwargs): |
|
|
def post(self, request, *args, **kwargs): |
|
|
|
|
|
|
|
|
username = request.user.username |
|
|
username = request.user.username |
|
|
self.object = None |
|
|
self.object = None |
|
|
try: |
|
|
try: |
|
@ -762,7 +763,7 @@ class PublicacaoMixin(CompMixin): |
|
|
messages.error(request, _( |
|
|
messages.error(request, _( |
|
|
'A funcionalidade de %s está desativada para %s.') % ( |
|
|
'A funcionalidade de %s está desativada para %s.') % ( |
|
|
TipoTextoArticulado._meta.get_field( |
|
|
TipoTextoArticulado._meta.get_field( |
|
|
'publicacao_func').verbose_name, |
|
|
'publicacao_func').verbose_name, |
|
|
ta.tipo_ta.descricao)) |
|
|
ta.tipo_ta.descricao)) |
|
|
return redirect(reverse('sapl.compilacao:ta_text', |
|
|
return redirect(reverse('sapl.compilacao:ta_text', |
|
|
kwargs={'ta_id': self.kwargs['ta_id']})) |
|
|
kwargs={'ta_id': self.kwargs['ta_id']})) |
|
@ -1586,7 +1587,7 @@ class ActionDeleteDispositivoMixin(ActionsCommonsMixin): |
|
|
|
|
|
|
|
|
if not anterior: |
|
|
if not anterior: |
|
|
self.logger.error("user=" + username + ". Não é possível excluir este Dispositivo (id={}) sem" |
|
|
self.logger.error("user=" + username + ". Não é possível excluir este Dispositivo (id={}) sem" |
|
|
" excluir toda a sua estrutura!!!".format(base.ta_id)) |
|
|
" excluir toda a sua estrutura!!!".format(base.ta_id)) |
|
|
raise Exception( |
|
|
raise Exception( |
|
|
_('Não é possível excluir este Dispositivo sem' |
|
|
_('Não é possível excluir este Dispositivo sem' |
|
|
' excluir toda a sua estrutura!!!')) |
|
|
' excluir toda a sua estrutura!!!')) |
|
@ -1607,8 +1608,8 @@ class ActionDeleteDispositivoMixin(ActionsCommonsMixin): |
|
|
for candidato in parents: |
|
|
for candidato in parents: |
|
|
if candidato == base: |
|
|
if candidato == base: |
|
|
self.logger.error("user=" + username + ". Não é possível excluir este " |
|
|
self.logger.error("user=" + username + ". Não é possível excluir este " |
|
|
"Dispositivo ({}) sem " |
|
|
"Dispositivo ({}) sem " |
|
|
"excluir toda a sua estrutura!!!".format(candidato)) |
|
|
"excluir toda a sua estrutura!!!".format(candidato)) |
|
|
raise Exception( |
|
|
raise Exception( |
|
|
_('Não é possível excluir este ' |
|
|
_('Não é possível excluir este ' |
|
|
'Dispositivo sem ' |
|
|
'Dispositivo sem ' |
|
@ -1645,8 +1646,8 @@ class ActionDeleteDispositivoMixin(ActionsCommonsMixin): |
|
|
break |
|
|
break |
|
|
else: |
|
|
else: |
|
|
self.logger.error("user=" + username + ". Não é possível excluir este " |
|
|
self.logger.error("user=" + username + ". Não é possível excluir este " |
|
|
"Dispositivo ({}) sem excluir toda " |
|
|
"Dispositivo ({}) sem excluir toda " |
|
|
"a sua estrutura!!!".format(candidato)) |
|
|
"a sua estrutura!!!".format(candidato)) |
|
|
raise Exception( |
|
|
raise Exception( |
|
|
_('Não é possível excluir este ' |
|
|
_('Não é possível excluir este ' |
|
|
'Dispositivo sem ' |
|
|
'Dispositivo sem ' |
|
@ -1693,7 +1694,8 @@ class ActionDeleteDispositivoMixin(ActionsCommonsMixin): |
|
|
irmao.rotulo = irmao.rotulo_padrao() |
|
|
irmao.rotulo = irmao.rotulo_padrao() |
|
|
irmao.save() |
|
|
irmao.save() |
|
|
except Exception as e: |
|
|
except Exception as e: |
|
|
self.logger.error("user=" + username + "." + str(e)) |
|
|
self.logger.error( |
|
|
|
|
|
"user=" + username + "." + str(e)) |
|
|
break |
|
|
break |
|
|
|
|
|
|
|
|
irmaos = pai_base.dispositivos_filhos_set.\ |
|
|
irmaos = pai_base.dispositivos_filhos_set.\ |
|
@ -1811,7 +1813,8 @@ class ActionDeleteDispositivoMixin(ActionsCommonsMixin): |
|
|
try: |
|
|
try: |
|
|
dr.save(clean=base != dr) |
|
|
dr.save(clean=base != dr) |
|
|
except Exception as e: |
|
|
except Exception as e: |
|
|
self.logger.error("user=" + username + ". " + str(e)) |
|
|
self.logger.error( |
|
|
|
|
|
"user=" + username + ". " + str(e)) |
|
|
break |
|
|
break |
|
|
|
|
|
|
|
|
# Pode não ser religavável |
|
|
# Pode não ser religavável |
|
@ -2162,7 +2165,7 @@ class ActionDispositivoCreateMixin(ActionsCommonsMixin): |
|
|
data = {} |
|
|
data = {} |
|
|
username = self.request.user.username |
|
|
username = self.request.user.username |
|
|
self.logger.error("user=" + username + ". Ocorreu um erro ({}) na atualização do " |
|
|
self.logger.error("user=" + username + ". Ocorreu um erro ({}) na atualização do " |
|
|
"Dispositivo de Vigência".format(str(e))) |
|
|
"Dispositivo de Vigência".format(str(e))) |
|
|
self.set_message(data, |
|
|
self.set_message(data, |
|
|
'success', |
|
|
'success', |
|
|
_('Ocorreu um erro na atualização do ' |
|
|
_('Ocorreu um erro na atualização do ' |
|
@ -2179,9 +2182,9 @@ class ActionDispositivoCreateMixin(ActionsCommonsMixin): |
|
|
def json_add_next( |
|
|
def json_add_next( |
|
|
self, |
|
|
self, |
|
|
context, local_add='json_add_next', create_auto_inserts=True): |
|
|
context, local_add='json_add_next', create_auto_inserts=True): |
|
|
|
|
|
|
|
|
try: |
|
|
try: |
|
|
|
|
|
|
|
|
dp_auto_insert = None |
|
|
dp_auto_insert = None |
|
|
base = Dispositivo.objects.get(pk=self.kwargs['dispositivo_id']) |
|
|
base = Dispositivo.objects.get(pk=self.kwargs['dispositivo_id']) |
|
|
tipo = TipoDispositivo.objects.get(pk=context['tipo_pk']) |
|
|
tipo = TipoDispositivo.objects.get(pk=context['tipo_pk']) |
|
@ -2925,7 +2928,8 @@ class DispositivoSearchFragmentFormView(ListView): |
|
|
|
|
|
|
|
|
response = ListView.get(self, request, *args, **kwargs) |
|
|
response = ListView.get(self, request, *args, **kwargs) |
|
|
|
|
|
|
|
|
if not self.object_list.exists(): |
|
|
if isinstance(self.object_list, list) and self.object_list or \ |
|
|
|
|
|
not self.object_list.exists(): |
|
|
messages.info( |
|
|
messages.info( |
|
|
request, _('Não foram encontrados resultados ' |
|
|
request, _('Não foram encontrados resultados ' |
|
|
'com seus critérios de busca!')) |
|
|
'com seus critérios de busca!')) |
|
@ -3126,6 +3130,7 @@ class DispositivoEdicaoBasicaView(CompMixin, FormMessagesMixin, UpdateView): |
|
|
|
|
|
|
|
|
permission_required = 'compilacao.change_dispositivo_edicao_avancada' |
|
|
permission_required = 'compilacao.change_dispositivo_edicao_avancada' |
|
|
logger = logging.getLogger(__name__) |
|
|
logger = logging.getLogger(__name__) |
|
|
|
|
|
|
|
|
@property |
|
|
@property |
|
|
def cancel_url(self): |
|
|
def cancel_url(self): |
|
|
return reverse_lazy( |
|
|
return reverse_lazy( |
|
@ -3169,7 +3174,8 @@ class DispositivoEdicaoBasicaView(CompMixin, FormMessagesMixin, UpdateView): |
|
|
|
|
|
|
|
|
except Exception as e: |
|
|
except Exception as e: |
|
|
username = self.request.user.username |
|
|
username = self.request.user.username |
|
|
self.logger.error("user=" + username + ". Ocorreu erro ({}) na atualização do rótulo.".format(str(e))) |
|
|
self.logger.error( |
|
|
|
|
|
"user=" + username + ". Ocorreu erro ({}) na atualização do rótulo.".format(str(e))) |
|
|
return True, JsonResponse({'message': str( |
|
|
return True, JsonResponse({'message': str( |
|
|
_('Ocorreu erro na atualização do rótulo'))}, safe=False) |
|
|
_('Ocorreu erro na atualização do rótulo'))}, safe=False) |
|
|
return True, JsonResponse({ |
|
|
return True, JsonResponse({ |
|
|