diff --git a/compilacao/insert_inicial_TipoDispositivo.sql b/compilacao/insert_inicial_TipoDispositivo.sql
index bc4dd8023..196e8e46d 100644
--- a/compilacao/insert_inicial_TipoDispositivo.sql
+++ b/compilacao/insert_inicial_TipoDispositivo.sql
@@ -1,27 +1,29 @@
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (19, 'Artigo', 'artigo', '', 'Art.', 9, '', ' – ', '', '', '', '', true, '1', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (21, 'Parágrafo', 'paragrafo', '', '§;Parágrafo Único', 9, '', ' – ', '', '', '', '', false, '1', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (22, 'Inciso', 'inciso', '', '', 0, '', ' – ', '', '', '', '', false, 'I', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (23, 'Alinea', 'alinea', '', '', 0, '', ' – ', '', '', '', '', false, 'a', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (24, 'Item', 'item', '', '', 0, '', ' – ', '', '', '', '', false, '1', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (25, 'Disposições Preliminares', 'disp_preliminares', '', 'Disposições Preliminares', 0, '', '
', '', '
', '', '', false, 'N', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (26, 'Disposições Gerais', 'disp_gerais', '', 'Disposições Gerais', 0, '', '
', '', '
', '', '', false, 'N', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (27, 'Disposições Transitórias', 'disp_transitorias', '', 'Disposições Transitórias', 0, '', '
', '', '
', '', '', false, 'N', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (28, 'Disposições Finais', 'disp_finais', '', 'Disposições Finais', 0, '', '
', '', '
', '', '', false, 'N', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (1, 'Articulação', 'articulacao', '', '', 0, '', '', '', '', '', '', true, '1', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (2, 'Ementa', 'ementa', '', '', 0, '', '', '', '', '', '', false, 'N', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (20, 'Caput', 'caput', '', '', 0, '', '', '', '', '', '', false, 'N', 'N', 'N', 'N', 'N', 'N', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (29, 'Texto Não Estruturado', 'texto_n_estruturado', '', '', 0, '', '', '', '', '', '', false, '1', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (3, 'Bloco Alteração', 'bloco_alteracao', '', '', 0, '', '', '', '', '', '', true, '1', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (4, 'Omissis', 'omissis', '', '', 0, '', '', '', '', '', '', false, '1', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (14, 'Título', 'titulo', '', 'Título', 0, '', '
', '', '
', '
', '', false, 'I', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (13, 'Livro', 'livro', '', 'Livro', 0, '', '
', '', '
', '
', '', false, 'I', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (12, 'Parte', 'parte', '', 'Parte', 0, '', '
', '', '
', '
', '', false, 'I', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (11, 'Anexo', 'anexo', '', 'Anexo', 0, '', '
', '', '
', '
', '', false, 'I', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (16, 'Seção', 'secao', '', 'Seção', 0, '', '
', '', '
', '
', '', false, 'I', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (17, 'SubSeção', 'subsecao', '', 'SubSeção', 0, '', '
', '', '
', '
', '', false, '1', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (18, 'Item de Seção', 'itemsecao', '', 'Item', 0, '', '
', '', '
', '
', '', false, '1', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
-INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45) VALUES (15, 'Capítulo', 'capitulo', '', 'Capítulo', -1, '', '
', '', '
', '
', '', false, 'I', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-');
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (125, 'Texto Não Estruturado', 'texto_n_estruturado', '', '', 0, '', '', '', '', '', '', false, 'N', 'N', 'N', 'N', 'N', 'N', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (2, 'Ementa', 'ementa', '', '', 0, '', '', '', '', '', '', false, 'N', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (4, 'Omissis', 'omissis', '', '', 0, '', '', '', '', '', '', false, '1', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (102, 'Disposições Gerais', 'disp_gerais', '', 'Disposições Gerais', 0, '', '
', '', '
', '', '', false, 'N', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (103, 'Disposições Transitórias', 'disp_transitorias', '', 'Disposições Transitórias', 0, '', '
', '', '
', '', '', false, 'N', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (104, 'Disposições Finais', 'disp_finais', '', 'Disposições Finais', 0, '', '
', '', '
', '', '', false, 'N', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (122, 'Inciso', 'inciso', '', '', 0, '', ' – ', '', '', '', '', false, 'I', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (123, 'Alinea', 'alinea', '', '', 0, '', ' – ', '', '', '', '', false, 'a', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (120, 'Caput', 'caput', '', '', 0, '', '', '', '', '', '', false, 'N', 'N', 'N', 'N', 'N', 'N', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (118, 'Item de Seção', 'itemsecao', '', 'Item ', 0, '', '
', '', '
', '
', '', false, '1', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (117, 'SubSeção', 'subsecao', '', 'SubSeção ', 0, '', '
', '', '
', '
', '', false, '1', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (116, 'Seção', 'secao', '', 'Seção ', 0, '', '
', '', '
', '
', '', false, 'I', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (114, 'Título', 'titulo', '', 'Título ', 0, '', '
', '', '
', '
', '', false, 'I', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (113, 'Livro', 'livro', '', 'Livro ', 0, '', '
', '', '
', '
', '', false, 'I', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (112, 'Parte', 'parte', '', 'Parte ', 0, '', '
', '', '
', '
', '', false, 'I', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (111, 'Anexo', 'anexo', '', 'Anexo ', 0, '', '
', '', '
', '
', '', false, 'I', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (115, 'Capítulo', 'capitulo', '', 'Capítulo ', 0, '', '
', '', '
', '
', '', false, 'I', 'A', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (124, 'Item', 'item', '', '', 0, '', ' – ', '', '', '', '', false, '1', '1', '1', '1', '1', '1', '.', '.', '.', '.', '.', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (121, 'Parágrafo', 'paragrafo', '', '§ ;Parágrafo Único ', 9, '', ' – ', '', '', '', '', false, '1', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (101, 'Disposições Preliminares', 'disp_preliminares', '', 'Disposições Preliminares', 0, '', '
', '', '
', '', '', false, 'N', '1', '1', '1', '1', '1', '-', '-', '-', '-', '-', false);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (119, 'Artigo', 'artigo', '', 'Art. ', 9, '.', ' – ', '', '', '', '', true, '1', 'A', '1', '1', '1', '1', '-', '-', '-', '-', '-', true);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (3, 'Bloco Alteração', 'bloco_alteracao', '', '', 0, '', '', '', '', '', '', true, 'N', 'N', 'N', 'N', 'N', 'N', '-', '-', '-', '-', '-', true);
+INSERT INTO compilacao_tipodispositivo (id, nome, class_css, rotulo_prefixo_html, rotulo_prefixo_texto, rotulo_ordinal, rotulo_sufixo_texto, rotulo_sufixo_html, texto_prefixo_html, texto_sufixo_html, nota_automatica_prefixo_html, nota_automatica_sufixo_html, contagem_continua, formato_variacao0, formato_variacao1, formato_variacao2, formato_variacao3, formato_variacao4, formato_variacao5, rotulo_separador_variacao01, rotulo_separador_variacao12, rotulo_separador_variacao23, rotulo_separador_variacao34, rotulo_separador_variacao45, dispositivo_de_articulacao) VALUES (1, 'Articulação', 'articulacao', '', '', 0, '', '', '', '', '', '', true, 'N', 'N', 'N', 'N', 'N', 'N', '-', '-', '-', '-', '-', true);
-SELECT pg_catalog.setval('compilacao_tipodispositivo_id_seq', 28, true);
+
+
+SELECT pg_catalog.setval('compilacao_tipodispositivo_id_seq', 125, true);
diff --git a/compilacao/models.py b/compilacao/models.py
index 736d3fa4f..d208d283b 100644
--- a/compilacao/models.py
+++ b/compilacao/models.py
@@ -467,7 +467,8 @@ class Dispositivo(BaseModel):
tipo_dispositivo=self.tipo_dispositivo,
dispositivo_pai=self.dispositivo_pai).count()
- if count_irmaos_mesmo_tipo > 1 and self.dispositivo0 != 0:
+ if count_irmaos_mesmo_tipo > 1 or (
+ self.dispositivo0 != 0 and not for_insertion):
r += prefixo[0]
r += self.get_nomenclatura_completa()
elif count_irmaos_mesmo_tipo == 1 and for_insertion:
@@ -706,9 +707,8 @@ class Dispositivo(BaseModel):
try:
dispositivos = Dispositivo.objects.order_by('-ordem').filter(
norma_id=self.norma_id)
- except Exception as e:
- a = 1
- a += 1
+ except:
+ return
ordem = dispositivos.count() * 1000
for d in dispositivos:
d.ordem = ordem
diff --git a/compilacao/urls.py b/compilacao/urls.py
index 540d1adc9..a60a623be 100644
--- a/compilacao/urls.py
+++ b/compilacao/urls.py
@@ -1,5 +1,4 @@
from django.conf.urls import url, include
-from django.contrib.auth.decorators import permission_required
from compilacao import views
from compilacao.views import (tipo_nota_crud, tipo_vide_crud,
diff --git a/compilacao/views.py b/compilacao/views.py
index 12b6df2d7..b5bbc090f 100644
--- a/compilacao/views.py
+++ b/compilacao/views.py
@@ -1,7 +1,8 @@
from collections import OrderedDict
-from datetime import timedelta
+from datetime import timedelta, datetime
from os.path import sys
+from django import forms
from django.core.signing import Signer
from django.db.models import Q
from django.db.models.aggregates import Max
@@ -9,10 +10,11 @@ from django.http.response import JsonResponse
from django.utils.dateparse import parse_date
from django.utils.translation import ugettext_lazy as _
from django.views.generic.base import TemplateView
+from django.views.generic.edit import FormMixin
from django.views.generic.list import ListView
-from compilacao.models import Dispositivo, TipoNota, TipoVide, TipoPublicacao,\
- VeiculoPublicacao, TipoDispositivo
+from compilacao.models import (Dispositivo, TipoNota, TipoVide, TipoPublicacao,
+ VeiculoPublicacao, TipoDispositivo)
from norma.models import NormaJuridica
from sapl.crud import build_crud
@@ -265,14 +267,74 @@ class CompilacaoEditView(CompilacaoView):
self.flag_nivel_ini = 0
self.flag_nivel_old = -1
- return Dispositivo.objects.filter(
- ordem__gt=0,
+ result = Dispositivo.objects.filter(
norma_id=self.kwargs['norma_id']
).select_related(*DISPOSITIVO_SELECT_RELATED)
+ if not result.exists():
+
+ norma = NormaJuridica.objects.get(pk=self.kwargs['norma_id'])
+
+ td = TipoDispositivo.objects.filter(class_css='articulacao')[0]
+ a = Dispositivo()
+ a.nivel = 0
+ a.ordem = Dispositivo.INTERVALO_ORDEM
+ a.ordem_bloco_atualizador = 0
+ a.set_numero_completo([1, 0, 0, 0, 0, 0, ])
+ a.norma = norma
+ a.tipo_dispositivo = td
+ a.inicio_vigencia = norma.data_publicacao
+ a.inicio_eficacia = norma.data_publicacao
+ a.timestamp = datetime.now()
+ a.save()
+
+ td = TipoDispositivo.objects.filter(class_css='ementa')[0]
+ e = Dispositivo()
+ e.nivel = 1
+ e.ordem = a.ordem + Dispositivo.INTERVALO_ORDEM
+ e.ordem_bloco_atualizador = 0
+ e.set_numero_completo([1, 0, 0, 0, 0, 0, ])
+ e.norma = norma
+ e.tipo_dispositivo = td
+ e.inicio_vigencia = norma.data_publicacao
+ e.inicio_eficacia = norma.data_publicacao
+ e.timestamp = datetime.now()
+ e.texto = norma.ementa
+ e.save()
+
+ a.pk = None
+ a.nivel = 0
+ a.ordem = e.ordem + Dispositivo.INTERVALO_ORDEM
+ a.ordem_bloco_atualizador = 0
+ a.set_numero_completo([2, 0, 0, 0, 0, 0, ])
+ a.timestamp = datetime.now()
+ a.save()
+
+ result = Dispositivo.objects.filter(
+ norma_id=self.kwargs['norma_id']
+ ).select_related(*DISPOSITIVO_SELECT_RELATED)
+
+ return result
+
+
+class DispositivoSimpleEditForm(forms.Form):
+ texto = forms.CharField(required=False, widget=forms.Textarea)
+
-class DispositivoEditView(CompilacaoEditView):
+class DispositivoEditView(CompilacaoEditView, FormMixin):
template_name = 'compilacao/edit_bloco.html'
+ form_class = DispositivoSimpleEditForm
+
+ def post(self, request, *args, **kwargs):
+
+ d = Dispositivo.objects.get(
+ pk=self.kwargs['dispositivo_id'])
+
+ texto = request.POST['texto']
+ d.texto = texto
+ d.save()
+
+ return self.get(request, *args, **kwargs)
def get_queryset(self):
self.flag_alteradora = -1
@@ -422,8 +484,7 @@ class DispositivoEditView(CompilacaoEditView):
for td in otds:
- if td.class_css == 'caput' or (tipb.class_css == 'caput' and
- td.class_css == 'paragrafo'):
+ if td.class_css == 'caput':
continue
d_base.tipo_dispositivo = td
@@ -477,17 +538,21 @@ class DispositivoEditView(CompilacaoEditView):
'dispositivo_base': d_base.pk}]
if mudarnivel == 1:
- result[1]['itens'] += r
+ if (tipb.class_css == 'caput' and
+ td.class_css == 'paragrafo'):
+ result[0]['itens'].insert(0, r[0])
+ else:
+ result[1]['itens'] += r
else:
if td.pk < tipb.pk:
result[2]['itens'] += r
result[0]['itens'] += r
- # retira inserir após e inserir antes
if tipb.class_css == 'caput':
result.pop()
# result.remove(result[0])
+ # retira inserir após e inserir antes
if tipb.class_css == 'articulacao':
r = result[0]
result.remove(result[0])
@@ -513,7 +578,13 @@ class ActionsEditMixin(object):
pass
def add_in(self, context):
- pass
+ # pai = Dispositivo.objects.get(pk=context['dispositivo_id'])
+ # dp = Dispositivo.objects.get(pk=context['dispositivo_id'])
+
+ # Tipo Filho
+ # tf = TipoDispositivo.objects.get(pk=context['tipo_pk'])
+
+ return {}
def add_next(self, context):
try:
@@ -521,17 +592,18 @@ class ActionsEditMixin(object):
dp = Dispositivo.objects.get(pk=context['dispositivo_id'])
tipo = TipoDispositivo.objects.get(pk=context['tipo_pk'])
+ variacao = int(context['variacao'])
while dp.dispositivo_pai is not None and \
dp.tipo_dispositivo_id != tipo.pk:
dp = dp.dispositivo_pai
- # Inserção interna a uma articulação um tipo já existente
- # ou de uma articulacao
+ # Inserção interna a uma articulação de um tipo já existente
+ # ou de uma nova articulacao
if dp.dispositivo_pai is not None or \
tipo.class_css == 'articulacao':
- dp.transform_in_next(int(context['variacao']))
+ dp.transform_in_next(variacao)
dp.rotulo = dp.rotulo_padrao()
dp.texto = ''
dp.pk = None
@@ -548,16 +620,17 @@ class ActionsEditMixin(object):
if not tipo.contagem_continua:
irmaos = list(Dispositivo.objects.filter(
+ Q(ordem__gt=dp.ordem) | Q(dispositivo0=0),
dispositivo_pai_id=dp.dispositivo_pai_id,
- ordem__gt=dp.ordem,
tipo_dispositivo_id=tipo.pk))
+
elif tipo.class_css == 'articulacao':
irmaos = list(Dispositivo.objects.filter(
ordem__gt=dp.ordem,
norma_id=dp.norma_id,
tipo_dispositivo_id=tipo.pk))
- else: # contagem continua restrita a articulacao
+ else: # contagem continua restrita a articulacao
proxima_articulacao = Dispositivo.objects.filter(
ordem__gt=dp.ordem,
nivel=0,
@@ -580,6 +653,11 @@ class ActionsEditMixin(object):
irmaos_a_salvar = []
ultimo_irmao = None
for irmao in irmaos:
+
+ if irmao.ordem <= dp.ordem:
+ irmaos_a_salvar.append(irmao)
+ continue
+
irmao_profundidade = irmao.get_profundidade()
if irmao_profundidade < dp_profundidade:
break
@@ -613,6 +691,12 @@ class ActionsEditMixin(object):
irmaos_a_salvar.reverse()
for irmao in irmaos_a_salvar:
+ if irmao.dispositivo0 == 0 and \
+ irmao.ordem <= dp.ordem and variacao == 0:
+ irmao.dispositivo0 = 1
+ irmao.rotulo = irmao.rotulo_padrao()
+ dp.dispositivo0 = 2
+ dp.rotulo = dp.rotulo_padrao()
irmao.clean()
irmao.save()
@@ -654,7 +738,8 @@ class ActionsEditMixin(object):
dp.norma_publicada = None
if tipo.contagem_continua:
- ultimo_irmao = Dispositivo.objects.order_by('-ordem').filter(
+ ultimo_irmao = Dispositivo.objects.order_by(
+ '-ordem').filter(
ordem__lte=dp.ordem,
tipo_dispositivo_id=tipo.pk,
norma_id=dp.norma_id)[:1]
@@ -765,7 +850,7 @@ class ActionsEditMixin(object):
filho.clean()
filho.save()
- ''' Renumerar dispositivos de
+ ''' Renumerar dispositivos de
contagem continua, caso a inserção seja uma articulação'''
numtipos = {}
diff --git a/norma/models.py b/norma/models.py
index a6f24dce7..265ad129d 100644
--- a/norma/models.py
+++ b/norma/models.py
@@ -97,7 +97,7 @@ class NormaJuridica(models.Model):
class Meta:
verbose_name = _('Norma Jurídica')
verbose_name_plural = _('Normas Jurídicas')
- ordering = ['-data']
+ ordering = ['-data', '-numero']
def __str__(self):
return _('%(tipo)s nº %(numero)s de %(data)s') % {
diff --git a/sapl/utils.py b/sapl/utils.py
index 10962a55e..139a504c2 100644
--- a/sapl/utils.py
+++ b/sapl/utils.py
@@ -1,10 +1,7 @@
-from builtins import TypeError
-
from django.apps import apps
from django.contrib import admin
from django.utils.translation import ugettext_lazy as _
-
# SAPL business apps
# This is a dependency order: each entry depends only on previous ones
# The order is important for migration code
diff --git a/static/styles/compilacao.scss b/static/styles/compilacao.scss
index e649b6bc0..a8e7ade94 100644
--- a/static/styles/compilacao.scss
+++ b/static/styles/compilacao.scss
@@ -214,33 +214,18 @@
.compilacaoedit {
+ margin-bottom: 30em;
margin-left: 0.8em;
z-index: 1;
}
-.compilacaoedit .articulacao{
-
- margin-left: -0.8em;
- margin-top: 2em;
+.compilacaoedit .semtexto {
+ font-weight: bold;
+ color: #8DA6D8;
}
-.compilacaoedit .articulacao::before {
- content: "Articulação";
- background-color: #eee;
- border-bottom: 1px solid #aaa;
- padding: 0.333em;
- padding-left: 1em;
- display:block;
-}
-.compilacaoedit .editclick .articulacao::before {
- display: none;
-}
-.compilacaoedit .editdi {
- display: block;
- clear: left;
-}
.compilacaoedit .edit {
position: relative;
@@ -314,11 +299,47 @@
right: -0.51rem;
}
-.compilacaoedit .edit *:hover {
+
+.compilacaoedit .editdi {
+ display: block;
+ clear: left;
+}
+
+.compilacaoedit .editdi *:hover {
background-color: #eee;
}
-.compilacaoedit .editclick > .label_pai {
+
+.compilacaoedit .articulacao{
+
+ margin-left: -0.8em;
+ margin-top: 2em;
+}
+
+.compilacaoedit .articulacao::before {
+ content: "Articulação";
+ background-color: #eee;
+ border-bottom: 1px solid #aaa;
+ padding: 0.333em;
+ padding-left: 1em;
+ display:block;
+}
+
+.compilacaoedit .editselected .articulacao::before {
+ display: none;
+}
+.compilacaoedit .editselected > .editdi {
+ padding: 1em;
+}
+
+.compilacaoedit .editdi_form {
+ display: block;
+ clear: both;
+ padding: 1em;
+}
+
+
+.compilacaoedit .editselected > .label_pai {
position: absolute;
color: #999;
top: -1.7em;
@@ -328,9 +349,9 @@
height: auto;
}
-.compilacaoedit .editclick {
+.compilacaoedit .editselected {
border: 2.1em solid #eee;
- padding: 1em;
+ padding: 0 0 1em 0;
padding-bottom: 0em;
margin: 1em -2em 1em -2.8em;
z-index: 1;
@@ -338,7 +359,7 @@
box-shadow: 0 1px 2px #aaa;
}
-.compilacaoedit .editclick > .actions {
+.compilacaoedit .editselected > .actions {
display: none;
}
@@ -348,9 +369,9 @@
position: relative;
opacity: 0;
transition: all 0.4s ease-in-out;
- border-bottom: 1px solid #2980b9;
+ border-top: 1px solid #2980b9;
z-index: 9;
- margin: -1em -1em 2em -1em;
+ margin: 0em;
}
.compilacaoedit .actions_head ul {
@@ -365,13 +386,16 @@
max-width:something;
}
.compilacaoedit .actions_head > li.left {
- border-left: 1px solid white;
+ border-right: 1px solid white;
}
-.compilacaoedit .actions_head > li.right{
+.compilacaoedit .actions_head > li.right {
width: 3em;
- text-align: center;
+ text-align: center;
+}
+
+.compilacaoedit .actions_head > li.right:nth-child(3n + 1) {
clear:right;
}
@@ -424,6 +448,7 @@
.compilacaoedit .actions_head > li > a.btn-action {
font-weight: bold;
font-size: 1em;
+
}
.compilacaoedit .actions_head {
@@ -448,44 +473,40 @@
.compilacaoedit .actions_insert > li.right{
opacity: 1;
width: 3em;
- text-align: center;
+ text-align: center;
+}
+.compilacaoedit .actions_insert > li.right:nth-child(3n + 1) {
clear:right;
}
+
.compilacaoedit .actions_insert > li.left:nth-child(1),
.compilacaoedit .actions_insert > li.left:nth-child(2) {
opacity: 1;
display: block;
- min-width: 35%;
- max-width: 35%;
+ min-width: 30%;
+ max-width: 30%;
}
.compilacaoedit .actions_insert li.left:nth-child(1) ul,
.compilacaoedit .actions_insert li.left:nth-child(2) ul {
-
display: block;
position: relative;
-
}
-.compilacaoedit .actions_insert li.left:nth-child(3):hover ul {
- right: 0;
+.compilacaoedit .actions_insert li.left:nth-child(n+3):hover ul {
+ right: 0;
box-shadow: -3px 3px 1.5em #336;
}
-
-
-
-
-
-.compilacaoedit .actions_footer {
- color: #fff;
- position: absolute;
- top: 100%;
- left: -2em;
- opacity: 0;
- transition: all 0.4s ease-in-out;
- clip: rect(0,0,0,0);
+.compilacaoedit .actions_footer {
+ position: absolute;
+ top: 100%;
+ left: -1.8em;
+ right: -1.8em;
+ color: #999;
+ transition: all 0.4s ease-in-out;
+ padding: 0.3em 0;
}
.compilacaoedit .actions_footer ul {
@@ -497,42 +518,18 @@
display: block;
height: auto !important;
}
-
-.compilacaoedit .editclick > .actions_footer a.btn-action {
- background: #3498db;
-
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0px;
- color: #ffffff !important;
- font-size: 12px;
- padding: 1px 6px 1px 7px;
- text-decoration: none;
- display: block;
-}
-
-.compilacaoedit .editclick > .actions_footer a.btn-action:hover {
- background: #3cb0fd;
-
- text-decoration: none;
-}
-.compilacaoedit .editclick > .actions_footer {
- z-index: 99;
- opacity: 0.5;
- clip: rect(0,0,0,0);
-}
-
-.compilacaoedit .editclick > .actions_footer:hover {
- opacity: 1;
- clip: auto
-}
-
+
.clear {
clear:both;
height: 0;
width: 0;
}
+#tinymce .mceContentBody p {
+ font-family: "Open Sans" "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif !important;
+}
+
+
@media only screen and (max-width: 40.0625em) {
.compilacao .fixed{
diff --git a/templates/compilacao/edit.html b/templates/compilacao/edit.html
index 09f8d96ba..07fbcfbdf 100644
--- a/templates/compilacao/edit.html
+++ b/templates/compilacao/edit.html
@@ -3,7 +3,7 @@
{% load compilacao_filters %}
{% block title%}
-