diff --git a/sapl/compilacao/views.py b/sapl/compilacao/views.py index 120c66645..f3d98d0a1 100644 --- a/sapl/compilacao/views.py +++ b/sapl/compilacao/views.py @@ -1545,7 +1545,7 @@ class ActionDeleteDispositivoMixin(ActionsCommonsMixin): if not anterior: 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.id)) raise Exception( _('Não é possível excluir este Dispositivo sem' ' excluir toda a sua estrutura!!!')) @@ -1566,8 +1566,8 @@ class ActionDeleteDispositivoMixin(ActionsCommonsMixin): for candidato in parents: if candidato == base: self.logger.error("user=" + username + ". Não é possível excluir este " - "Dispositivo ({}) sem " - "excluir toda a sua estrutura!!!".format(candidato)) + "Dispositivo (id={}) sem " + "excluir toda a sua estrutura!!!".format(candidato.id)) raise Exception( _('Não é possível excluir este ' 'Dispositivo sem ' @@ -1604,8 +1604,8 @@ class ActionDeleteDispositivoMixin(ActionsCommonsMixin): break else: self.logger.error("user=" + username + ". Não é possível excluir este " - "Dispositivo ({}) sem excluir toda " - "a sua estrutura!!!".format(candidato)) + "Dispositivo (id={}) sem excluir toda " + "a sua estrutura!!!".format(candidato.id)) raise Exception( _('Não é possível excluir este ' 'Dispositivo sem ' @@ -1643,6 +1643,7 @@ class ActionDeleteDispositivoMixin(ActionsCommonsMixin): # excluir e renumerar irmaos profundidade_base = base.get_profundidade() + auto_inserido_base = base.auto_inserido base.delete() for irmao in irmaos_posteriores: @@ -1666,6 +1667,11 @@ class ActionDeleteDispositivoMixin(ActionsCommonsMixin): i.set_numero_completo([0, 0, 0, 0, 0, 0, ]) i.rotulo = i.rotulo_padrao(local_insert=1) i.save() + + if not irmaos.exists() and \ + auto_inserido_base and \ + pai_base.nivel: + self.remover_dispositivo(pai_base, False) else: # Renumerar Dispostivos de Contagem Contínua # de dentro da base se pai diff --git a/sapl/templates/compilacao/text_list_bloco.html b/sapl/templates/compilacao/text_list_bloco.html index 0c2900734..2ef5e359a 100644 --- a/sapl/templates/compilacao/text_list_bloco.html +++ b/sapl/templates/compilacao/text_list_bloco.html @@ -20,7 +20,6 @@
- {% if not dpt.tipo_dispositivo.dispositivo_de_articulacao or dpt.tipo_dispositivo.dispositivo_de_articulacao and dpt.dispositivo_subsequente %} {% if dpt.auto_inserido %} {{ dpt.dispositivo_pai.tipo_dispositivo.rotulo_prefixo_html|safe }} @@ -31,6 +30,7 @@ {{ dpt.rotulo }} {{ dpt.tipo_dispositivo.rotulo_sufixo_html|safe }} {% endif %} + {% endif %} {{ dpt.tipo_dispositivo.texto_prefixo_html|safe }}{%if dpt.texto %}{{ dpt.texto|safe }}{%else%}{%if not dpt.tipo_dispositivo.dispositivo_de_articulacao %} {% endif %}{% endif %} @@ -43,20 +43,21 @@   {% endif %} - {% endif %} - {% if user.is_authenticated and not dpt.tipo_dispositivo.dispositivo_de_articulacao%} - {% if perms.compilacao.add_nota or perms.compilacao.add_vide or perms.compilacao.change_dispositivo%} -
-
    - {% if perms.compilacao.change_dispositivo %}
  • Ed
  • {% endif %} - {% if perms.compilacao.add_nota %}
  • N
  • {% endif %} - {% if perms.compilacao.add_vide %}
  • V
  • {% endif %} -
-
-
- {% endif %} + + {% if user.is_authenticated and not dpt.tipo_dispositivo.dispositivo_de_articulacao%} + {% if perms.compilacao.add_nota or perms.compilacao.add_vide or perms.compilacao.change_dispositivo%} +
+
    + {% if perms.compilacao.change_dispositivo %}
  • Ed
  • {% endif %} + {% if perms.compilacao.add_nota %}
  • N
  • {% endif %} + {% if perms.compilacao.add_vide %}
  • V
  • {% endif %} +
+
+
{% endif %} + {% endif %} +
{% if not dpt.tipo_dispositivo.dispositivo_de_articulacao %}