diff --git a/compilacao/insert_inicial_TipoDispositivo.sql b/compilacao/insert_inicial_TipoDispositivo.sql index d3444ffa6..987e0c81f 100644 --- a/compilacao/insert_inicial_TipoDispositivo.sql +++ b/compilacao/insert_inicial_TipoDispositivo.sql @@ -1,45 +1,27 @@ - -INSERT INTO compilacao_tipodispositivo - (id, - nome, - class_css, - rotulo_prefixo_html, - rotulo_prefixo_texto, - rotulo_ordinal, - rotulo_separadores_variacao, - 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) VALUES -(11, 'Anexo', 'anexo', '', 'Anexo', 0, '-----', '', '
', '', '
', '', '', False, 'I', '1', '1', '1', '1', '1'), -(12, 'Parte', 'parte', '', 'Parte', 0, '-----', '', '
', '', '
', '', '', False, 'I', '1', '1', '1', '1', '1'), -(13, 'Livro', 'livro', '', 'Livro', 0, '-----', '', '
', '', '
', '', '', False, 'I', '1', '1', '1', '1', '1'), -(15, 'Capítulo', 'capitulo', '', 'Capítulo', 0, '-----', '', '
', '', '
', '', '', False, 'I', '1', '1', '1', '1', '1'), -(16, 'Seção', 'secao', '', 'Seção', 0, '-----', '', '
', '', '
', '', '', False, 'I', '1', '1', '1', '1', '1'), -(17, 'SubSeção', 'subsecao', '', 'SubSeção', 0, '-----', '', '
', '', '
', '', '', False, '1', '1', '1', '1', '1', '1'), -(18, 'Item de Seção', 'itemsecao', '', 'Item', 0, '-----', '', '
', '', '
', '', '', False, '1', '1', '1', '1', '1', '1'), -(19, 'Artigo', 'artigo', '', 'Art.', 9, '-----', '', ' – ', '', '', '', '', True, '1', '1', '1', '1', '1', '1'), -(21, 'Parágrafo', 'paragrafo', '', '§;Parágrafo Único', 9, '-----', '', ' – ', '', '', '', '', False, '1', '1', '1', '1', '1', '1'), -(22, 'Inciso', 'inciso', '', '', 0, '.....', '', ' – ', '', '', '', '', False, 'I', '1', '1', '1', '1', '1'), -(23, 'Alinea', 'alinea', '', '', 0, '.....', '', ' – ', '', '', '', '', False, 'a', '1', '1', '1', '1', '1'), -(24, 'Item', 'item', '', '', 0, '.....', '', ' – ', '', '', '', '', False, '1', '1', '1', '1', '1', '1'), -(25, 'Disposições Preliminares', 'disp_preliminares', '', 'Disposições Preliminares', 0, '-----', '', '
', '', '
', '', '', False, 'N', '1', '1', '1', '1', '1'), -(26, 'Disposições Gerais', 'disp_gerais', '', 'Disposições Gerais', 0, '-----', '', '
', '', '
', '', '', False, 'N', '1', '1', '1', '1', '1'), -(27, 'Disposições Transitórias', 'disp_transitorias', '', 'Disposições Transitórias', 0, '-----', '', '
', '', '
', '', '', False, 'N', '1', '1', '1', '1', '1'), -(28, 'Disposições Finais', 'disp_finais', '', 'Disposições Finais', 0, '-----', '', '
', '', '
', '', '', False, 'N', '1', '1', '1', '1', '1'), -(14, 'Título', 'titulo', '', 'Título', 0, '-----', '', '
', '', '
', '', '', False, 'I', '1', '1', '1', '1', '1'), -(1, 'Articulação', 'articulacao', '', '', 0, '.....', '', '', '', '', '', '', True, '1', '1', '1', '1', '1', '1'), -(4, 'Bloco Alteração', 'bloco_alteracao', '', '', 0, '.....', '', '', '', '', '', '', True, '1', '1', '1', '1', '1', '1'), -(5, 'Omissis', 'omissis', '', '', 0, '.....', '', '', '', '', '', '', False, '1', '1', '1', '1', '1', '1'), -(6, 'Texto Não Estruturado', 'texto_n_estruturado', '', '', 0, '.....', '', '', '', '', '', '',False, '1', '1', '1', '1', '1', '1'), -(2, 'Ementa', 'ementa', '', '', 0, '.....', '', '', '', '', '', '', False, 'N', '1', '1', '1', '1', '1'), -(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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) VALUES (15, 'Capítulo', 'capitulo', '', 'Capí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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) 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_separadores_variacao, 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) VALUES (29, 'Texto Não Estruturado', 'texto_n_estruturado', '', '', 0, '.....', '', '', '', '', '', '',False, '1', '1', '1', '1', '1', '1'); + + + +select setval('compilacao_tipodispositivo_id_seq'::regclass, (select max(id) from compilacao_tipodispositivo)); \ No newline at end of file diff --git a/compilacao/migrations/0002_auto_20150907_2334.py b/compilacao/migrations/0002_auto_20150907_2334.py new file mode 100644 index 000000000..f92031d91 --- /dev/null +++ b/compilacao/migrations/0002_auto_20150907_2334.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('compilacao', '0001_initial'), + ] + + operations = [ + migrations.AlterModelOptions( + name='dispositivo', + options={'ordering': ['norma', 'ordem'], 'verbose_name_plural': 'Dispositivos', 'verbose_name': 'Dispositivo'}, + ), + migrations.AlterField( + model_name='dispositivo', + name='dispositivo_atualizador', + field=models.ForeignKey(related_name='dispositivos_alterados_set', to='compilacao.Dispositivo', null=True, verbose_name='Dispositivo Atualizador', default=None, blank=True), + ), + migrations.AlterField( + model_name='dispositivo', + name='dispositivo_pai', + field=models.ForeignKey(related_name='+', to='compilacao.Dispositivo', null=True, verbose_name='Dispositivo Pai', default=None, blank=True), + ), + migrations.AlterField( + model_name='dispositivo', + name='dispositivo_subsequente', + field=models.ForeignKey(related_name='+', to='compilacao.Dispositivo', null=True, verbose_name='Dispositivo Subsequente', default=None, blank=True), + ), + migrations.AlterField( + model_name='dispositivo', + name='dispositivo_substituido', + field=models.ForeignKey(related_name='+', to='compilacao.Dispositivo', null=True, verbose_name='Dispositivo Substituido', default=None, blank=True), + ), + migrations.AlterField( + model_name='dispositivo', + name='dispositivo_vigencia', + field=models.ForeignKey(related_name='+', to='compilacao.Dispositivo', null=True, verbose_name='Dispositivo de Vigência', default=None, blank=True), + ), + migrations.AlterField( + model_name='dispositivo', + name='norma_publicada', + field=models.ForeignKey(related_name='dispositivos_alterados_set', to='norma.NormaJuridica', null=True, verbose_name='Norma Jurídica Publicada', default=None, blank=True), + ), + ] diff --git a/compilacao/models.py b/compilacao/models.py index d0dac962e..99104bd81 100644 --- a/compilacao/models.py +++ b/compilacao/models.py @@ -254,6 +254,7 @@ class Dispositivo(models.Model): default=False, choices=YES_NO_CHOICES, verbose_name=_('Inconstitucionalidade')) + # Relevant attribute only in altering norms visibilidade = models.BooleanField( default=False, choices=YES_NO_CHOICES, @@ -275,38 +276,39 @@ class Dispositivo(models.Model): norma_publicada = models.ForeignKey( NormaJuridica, blank=True, null=True, default=None, - related_name='%(class)s_norma_publicada', + related_name='dispositivos_alterados_set', verbose_name=_('Norma Jurídica Publicada')) dispositivo_subsequente = models.ForeignKey( 'self', blank=True, null=True, default=None, - related_name='%(class)s_dispositivo_subsequente', + related_name='+', verbose_name=_('Dispositivo Subsequente')) dispositivo_substituido = models.ForeignKey( 'self', blank=True, null=True, default=None, - related_name='%(class)s_dispositivo_substituido', + related_name='+', verbose_name=_('Dispositivo Substituido')) dispositivo_pai = models.ForeignKey( 'self', blank=True, null=True, default=None, - related_name='%(class)s_dispositivo_pai', + related_name='+', verbose_name=_('Dispositivo Pai')) dispositivo_vigencia = models.ForeignKey( 'self', blank=True, null=True, default=None, - related_name='%(class)s_dispositivo_vigencia', + related_name='+', verbose_name=_('Dispositivo de Vigência')) dispositivo_atualizador = models.ForeignKey( 'self', blank=True, null=True, default=None, - related_name='%(class)s_dispositivo_atualizador', + related_name='dispositivos_alterados_set', verbose_name=_('Dispositivo Atualizador')) class Meta: verbose_name = _('Dispositivo') verbose_name_plural = _('Dispositivos') + ordering = ['norma', 'ordem'] unique_together = ( ('norma', 'ordem',), ('norma', @@ -323,7 +325,7 @@ class Dispositivo(models.Model): def __str__(self): return '%(rotulo)s - %(norma)s' % { - 'rotulo': self.rotulo, + 'rotulo': (self.rotulo if self.rotulo else self.tipo_dispositivo), 'norma': self.norma} @@ -356,13 +358,13 @@ class Nota(models.Model): NINST = 3 NPUBL = 4 PUBLICIDADE_CHOICES = ( - # Apenas o dono da nota tem visibilidade. + # Only the owner of the note has visibility. (NPRIV, _('Nota Privada')), - # Todos do mesmo grupo tem visibilidade. + # All of the same group have visibility. (NSTRL, _('Nota Setorial')), - # Todo usuário autênticado tem visibilidade + # All authenticated users have visibility. (NINST, _('Nota Institucional')), - # Todo usuário tem visibilidade + # All users have visibility. (NPUBL, _('Nota Pública')), ) diff --git a/norma/migrations/0004_auto_20150907_0004.py b/norma/migrations/0004_auto_20150907_0004.py new file mode 100644 index 000000000..961acc32c --- /dev/null +++ b/norma/migrations/0004_auto_20150907_0004.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('norma', '0003_auto_20150906_0239'), + ] + + operations = [ + migrations.AlterUniqueTogether( + name='assuntonormarelationship', + unique_together=set([('assunto', 'norma')]), + ), + ] diff --git a/norma/models.py b/norma/models.py index fcc7db437..fee95bdeb 100644 --- a/norma/models.py +++ b/norma/models.py @@ -109,6 +109,11 @@ class AssuntoNormaRelationship(models.Model): assunto = models.ForeignKey(AssuntoNorma) norma = models.ForeignKey(NormaJuridica) + class Meta: + unique_together = ( + ('assunto', 'norma'), + ) + class LegislacaoCitada(models.Model): materia = models.ForeignKey(MateriaLegislativa)