From 4ac89737b39dad20118270f801b4fdca2225cd35 Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Fri, 28 Aug 2015 15:28:13 -0300 Subject: [PATCH 01/10] Start compilacao app --- compilacao/__init__.py | 0 compilacao/forms.py | 4 ++++ compilacao/migrations/__init__.py | 0 compilacao/models.py | 4 ++++ compilacao/urls.py | 6 ++++++ compilacao/views.py | 1 + 6 files changed, 15 insertions(+) create mode 100644 compilacao/__init__.py create mode 100644 compilacao/forms.py create mode 100644 compilacao/migrations/__init__.py create mode 100644 compilacao/models.py create mode 100644 compilacao/urls.py create mode 100644 compilacao/views.py diff --git a/compilacao/__init__.py b/compilacao/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/compilacao/forms.py b/compilacao/forms.py new file mode 100644 index 000000000..c4f2ecbbc --- /dev/null +++ b/compilacao/forms.py @@ -0,0 +1,4 @@ +from django import forms + + +# place form definition here \ No newline at end of file diff --git a/compilacao/migrations/__init__.py b/compilacao/migrations/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/compilacao/models.py b/compilacao/models.py new file mode 100644 index 000000000..c389f5d7a --- /dev/null +++ b/compilacao/models.py @@ -0,0 +1,4 @@ +from django.db import models + + +# Create your models here. diff --git a/compilacao/urls.py b/compilacao/urls.py new file mode 100644 index 000000000..96ef53f2c --- /dev/null +++ b/compilacao/urls.py @@ -0,0 +1,6 @@ +try: + from django.conf.urls import * +except ImportError: # django < 1.4 + from django.conf.urls.defaults import * + +# place app url patterns here diff --git a/compilacao/views.py b/compilacao/views.py new file mode 100644 index 000000000..60f00ef0e --- /dev/null +++ b/compilacao/views.py @@ -0,0 +1 @@ +# Create your views here. From 4c5fcf7ba8af9424841840ea5b0fee690dbeb8a9 Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Fri, 28 Aug 2015 15:28:13 -0300 Subject: [PATCH 02/10] Start compilacao app --- compilacao/__init__.py | 0 compilacao/forms.py | 4 ++++ compilacao/migrations/__init__.py | 0 compilacao/models.py | 4 ++++ compilacao/urls.py | 6 ++++++ compilacao/views.py | 1 + 6 files changed, 15 insertions(+) create mode 100644 compilacao/__init__.py create mode 100644 compilacao/forms.py create mode 100644 compilacao/migrations/__init__.py create mode 100644 compilacao/models.py create mode 100644 compilacao/urls.py create mode 100644 compilacao/views.py diff --git a/compilacao/__init__.py b/compilacao/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/compilacao/forms.py b/compilacao/forms.py new file mode 100644 index 000000000..c4f2ecbbc --- /dev/null +++ b/compilacao/forms.py @@ -0,0 +1,4 @@ +from django import forms + + +# place form definition here \ No newline at end of file diff --git a/compilacao/migrations/__init__.py b/compilacao/migrations/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/compilacao/models.py b/compilacao/models.py new file mode 100644 index 000000000..c389f5d7a --- /dev/null +++ b/compilacao/models.py @@ -0,0 +1,4 @@ +from django.db import models + + +# Create your models here. diff --git a/compilacao/urls.py b/compilacao/urls.py new file mode 100644 index 000000000..96ef53f2c --- /dev/null +++ b/compilacao/urls.py @@ -0,0 +1,6 @@ +try: + from django.conf.urls import * +except ImportError: # django < 1.4 + from django.conf.urls.defaults import * + +# place app url patterns here diff --git a/compilacao/views.py b/compilacao/views.py new file mode 100644 index 000000000..60f00ef0e --- /dev/null +++ b/compilacao/views.py @@ -0,0 +1 @@ +# Create your views here. From accb25a973125bed4cfb402f22b664d341caf3f7 Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Tue, 1 Sep 2015 10:57:42 -0300 Subject: [PATCH 03/10] Class TipoNota inclusion --- compilacao/forms.py | 4 ---- compilacao/models.py | 14 +++++++++++++- compilacao/urls.py | 6 ------ 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/compilacao/forms.py b/compilacao/forms.py index c4f2ecbbc..e69de29bb 100644 --- a/compilacao/forms.py +++ b/compilacao/forms.py @@ -1,4 +0,0 @@ -from django import forms - - -# place form definition here \ No newline at end of file diff --git a/compilacao/models.py b/compilacao/models.py index c389f5d7a..8bbf1ced1 100644 --- a/compilacao/models.py +++ b/compilacao/models.py @@ -1,4 +1,16 @@ from django.db import models +from django.utils.translation import ugettext_lazy as _ -# Create your models here. +class TipoNota(models.Model): + sigla = models.CharField(max_length=10, verbose_name=_('Sigla')) + nome = models.CharField(max_length=50, verbose_name=_('Nome')) + modelo = models.TextField( + blank=True, null=True, verbose_name=_('Modelo')) + + class Meta: + verbose_name = _('Tipo de Nota') + verbose_name_plural = _('Tipos de Nota') + + def __str__(self): + return self.sigla diff --git a/compilacao/urls.py b/compilacao/urls.py index 96ef53f2c..e69de29bb 100644 --- a/compilacao/urls.py +++ b/compilacao/urls.py @@ -1,6 +0,0 @@ -try: - from django.conf.urls import * -except ImportError: # django < 1.4 - from django.conf.urls.defaults import * - -# place app url patterns here From 138fc0b75189067ebec8a5a14cce2a411f1dac74 Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Tue, 1 Sep 2015 17:18:47 -0300 Subject: [PATCH 04/10] Construction compilation model --- compilacao/apps.py | 7 ++++ compilacao/models.py | 87 ++++++++++++++++++++++++++++++++++++++++++++ sapl/settings.py | 1 + sapl/utils.py | 1 + 4 files changed, 96 insertions(+) create mode 100644 compilacao/apps.py diff --git a/compilacao/apps.py b/compilacao/apps.py new file mode 100644 index 000000000..8cab3c8fb --- /dev/null +++ b/compilacao/apps.py @@ -0,0 +1,7 @@ +from django.apps import AppConfig +from django.utils.translation import ugettext_lazy as _ + + +class CompilacaoAppConfig(AppConfig): + name = 'compilacao' + verbose_name = _('Compilação') diff --git a/compilacao/models.py b/compilacao/models.py index 8a1aaae80..d4bb2c6e4 100644 --- a/compilacao/models.py +++ b/compilacao/models.py @@ -1,6 +1,7 @@ from django.db import models from django.utils.translation import ugettext_lazy as _ +from sapl.utils import YES_NO_CHOICES, make_choices class TipoNota(models.Model): @@ -15,3 +16,89 @@ class TipoNota(models.Model): def __str__(self): return self.sigla + + +class TipoVide(models.Model): + sigla = models.CharField(max_length=10, verbose_name=_('Sigla')) + nome = models.CharField(max_length=50, verbose_name=_('Nome')) + + class Meta: + verbose_name = _('Tipo de Vide') + verbose_name_plural = _('Tipos de Vide') + + def __str__(self): + return self.sigla + + +class TipoDispositivo(models.Model): + FORMATO_NUMERACAO = [ + ('1', _('Numérico')), + ('I', _('Romano Maiúsculo')), + ('i', _('Romano Minúsculo')), + ('A', _('Alfabético Maiúsculo')), + ('a', _('Alfabético Minúsculo')), + ('*', _('Tópico sem contagem')), + ('N', _('Sem renderização de Contagem')), + ] + + nome = models.CharField( + max_length=50, unique = True, verbose_name=_('Nome')) + class_css = models.CharField( + max_length=20, verbose_name=_('Classe CSS')) + rotulo_prefixo_html = models.CharField( + max_length=100, verbose_name=_('Prefixo html do rótulo')) + rotulo_prefixo_texto = models.CharField( + max_length=30, + verbose_name=_('Prefixo de construção do rótulo')) + rotulo_ordinal = models.IntegerField( + verbose_name=_('Tipo de Número do Rótulo')) + rotulo_separadores_variacao = models.CharField( + max_length=5, verbose_name=_('Separadores das Variações')) + rotulo_sufixo_texto = models.CharField( + max_length=30, + verbose_name=_('Sufixo de construção do rótulo')) + rotulo_sufixo_html = models.CharField( + max_length=100, verbose_name=_('Sufixo html do rótulo')) + texto_prefixo_html = models.CharField( + max_length=100, verbose_name=_('Prefixo html do texto')) + texto_sufixo_html = models.CharField( + max_length=100, verbose_name=_('Sufixo html do texto')) + nota_automatica_prefixo_html = models.CharField( + max_length=100, verbose_name=_('Prefixo html da Nota Automática')) + nota_automatica_sufixo_html = models.CharField( + max_length=100, verbose_name=_('Sufixo html da Nota Automática')) + contagem_continua = models.BooleanField( + choices=YES_NO_CHOICES, verbose_name=_('Contagem contínua')) + formato_variacao0 = models.CharField( + max_length=1, + choices=FORMATO_NUMERACAO, + verbose_name=_('Formato da Numeração')) + formato_variacao1 = models.CharField( + max_length=1, + choices=FORMATO_NUMERACAO, + verbose_name=_('Formato da Variação 1')) + formato_variacao2 = models.CharField( + max_length=1, + choices=FORMATO_NUMERACAO, + verbose_name=_('Formato da Variação 2')) + formato_variacao3 = models.CharField( + max_length=1, + choices=FORMATO_NUMERACAO, + verbose_name=_('Formato da Variação 3')) + formato_variacao4 = models.CharField( + max_length=1, + choices=FORMATO_NUMERACAO, + verbose_name=_('Formato da Variação 4')) + formato_variacao5 = models.CharField( + max_length=1, + choices=FORMATO_NUMERACAO, + verbose_name=_('Formato da Variação 5')) + + + + class Meta: + verbose_name = _('Tipo de Dispositivo') + verbose_name_plural = _('Tipos de Dispositivo') + + def __str__(self): + return self.sigla \ No newline at end of file diff --git a/sapl/settings.py b/sapl/settings.py index 0857c2161..017f68646 100644 --- a/sapl/settings.py +++ b/sapl/settings.py @@ -43,6 +43,7 @@ INSTALLED_APPS = ( 'base', 'parlamentares', 'comissoes', + 'compilacao', 'sessao', 'materia', 'norma', diff --git a/sapl/utils.py b/sapl/utils.py index 3312fd119..62a96c0e2 100644 --- a/sapl/utils.py +++ b/sapl/utils.py @@ -8,6 +8,7 @@ from django.utils.translation import ugettext_lazy as _ appconfs = [apps.get_app_config(n) for n in [ 'parlamentares', 'comissoes', + 'compilacao', 'materia', 'norma', 'sessao', From 70688ff14169ca9f802306fbc2344e0abc376d59 Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Tue, 1 Sep 2015 17:29:00 -0300 Subject: [PATCH 05/10] qa_check execution --- compilacao/forms.py | 4 ---- compilacao/models.py | 46 +++++++++++++++++++++----------------------- compilacao/urls.py | 6 ------ 3 files changed, 22 insertions(+), 34 deletions(-) diff --git a/compilacao/forms.py b/compilacao/forms.py index c4f2ecbbc..e69de29bb 100644 --- a/compilacao/forms.py +++ b/compilacao/forms.py @@ -1,4 +0,0 @@ -from django import forms - - -# place form definition here \ No newline at end of file diff --git a/compilacao/models.py b/compilacao/models.py index d4bb2c6e4..70f28c2c4 100644 --- a/compilacao/models.py +++ b/compilacao/models.py @@ -1,7 +1,7 @@ -from django.db import models - +from django.db import models from django.utils.translation import ugettext_lazy as _ -from sapl.utils import YES_NO_CHOICES, make_choices + +from sapl.utils import YES_NO_CHOICES class TipoNota(models.Model): @@ -16,33 +16,33 @@ class TipoNota(models.Model): def __str__(self): return self.sigla - - + + class TipoVide(models.Model): sigla = models.CharField(max_length=10, verbose_name=_('Sigla')) nome = models.CharField(max_length=50, verbose_name=_('Nome')) - + class Meta: verbose_name = _('Tipo de Vide') verbose_name_plural = _('Tipos de Vide') def __str__(self): return self.sigla - - + + class TipoDispositivo(models.Model): FORMATO_NUMERACAO = [ - ('1', _('Numérico')), - ('I', _('Romano Maiúsculo')), - ('i', _('Romano Minúsculo')), - ('A', _('Alfabético Maiúsculo')), - ('a', _('Alfabético Minúsculo')), - ('*', _('Tópico sem contagem')), - ('N', _('Sem renderização de Contagem')), + ('1', _('Numérico')), + ('I', _('Romano Maiúsculo')), + ('i', _('Romano Minúsculo')), + ('A', _('Alfabético Maiúsculo')), + ('a', _('Alfabético Minúsculo')), + ('*', _('Tópico sem contagem')), + ('N', _('Sem renderização de Contagem')), ] - + nome = models.CharField( - max_length=50, unique = True, verbose_name=_('Nome')) + max_length=50, unique=True, verbose_name=_('Nome')) class_css = models.CharField( max_length=20, verbose_name=_('Classe CSS')) rotulo_prefixo_html = models.CharField( @@ -51,9 +51,9 @@ class TipoDispositivo(models.Model): max_length=30, verbose_name=_('Prefixo de construção do rótulo')) rotulo_ordinal = models.IntegerField( - verbose_name=_('Tipo de Número do Rótulo')) + verbose_name=_('Tipo de Número do Rótulo')) rotulo_separadores_variacao = models.CharField( - max_length=5, verbose_name=_('Separadores das Variações')) + max_length=5, verbose_name=_('Separadores das Variações')) rotulo_sufixo_texto = models.CharField( max_length=30, verbose_name=_('Sufixo de construção do rótulo')) @@ -93,12 +93,10 @@ class TipoDispositivo(models.Model): max_length=1, choices=FORMATO_NUMERACAO, verbose_name=_('Formato da Variação 5')) - - - + class Meta: verbose_name = _('Tipo de Dispositivo') verbose_name_plural = _('Tipos de Dispositivo') - + def __str__(self): - return self.sigla \ No newline at end of file + return self.sigla diff --git a/compilacao/urls.py b/compilacao/urls.py index 96ef53f2c..e69de29bb 100644 --- a/compilacao/urls.py +++ b/compilacao/urls.py @@ -1,6 +0,0 @@ -try: - from django.conf.urls import * -except ImportError: # django < 1.4 - from django.conf.urls.defaults import * - -# place app url patterns here From bec7236f4c9c76638352dcd42aa5b9befe500f3c Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Fri, 28 Aug 2015 15:28:13 -0300 Subject: [PATCH 06/10] Start compilacao app --- compilacao/__init__.py | 0 compilacao/forms.py | 4 ++++ compilacao/migrations/__init__.py | 0 compilacao/models.py | 4 ++++ compilacao/urls.py | 6 ++++++ compilacao/views.py | 1 + 6 files changed, 15 insertions(+) create mode 100644 compilacao/__init__.py create mode 100644 compilacao/forms.py create mode 100644 compilacao/migrations/__init__.py create mode 100644 compilacao/models.py create mode 100644 compilacao/urls.py create mode 100644 compilacao/views.py diff --git a/compilacao/__init__.py b/compilacao/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/compilacao/forms.py b/compilacao/forms.py new file mode 100644 index 000000000..c4f2ecbbc --- /dev/null +++ b/compilacao/forms.py @@ -0,0 +1,4 @@ +from django import forms + + +# place form definition here \ No newline at end of file diff --git a/compilacao/migrations/__init__.py b/compilacao/migrations/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/compilacao/models.py b/compilacao/models.py new file mode 100644 index 000000000..c389f5d7a --- /dev/null +++ b/compilacao/models.py @@ -0,0 +1,4 @@ +from django.db import models + + +# Create your models here. diff --git a/compilacao/urls.py b/compilacao/urls.py new file mode 100644 index 000000000..96ef53f2c --- /dev/null +++ b/compilacao/urls.py @@ -0,0 +1,6 @@ +try: + from django.conf.urls import * +except ImportError: # django < 1.4 + from django.conf.urls.defaults import * + +# place app url patterns here diff --git a/compilacao/views.py b/compilacao/views.py new file mode 100644 index 000000000..60f00ef0e --- /dev/null +++ b/compilacao/views.py @@ -0,0 +1 @@ +# Create your views here. From d2665048e21db6719d9a821cc837aa8e35e801d7 Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Tue, 1 Sep 2015 10:57:42 -0300 Subject: [PATCH 07/10] Class TipoNota inclusion --- compilacao/forms.py | 4 ---- compilacao/models.py | 14 +++++++++++++- compilacao/urls.py | 6 ------ 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/compilacao/forms.py b/compilacao/forms.py index c4f2ecbbc..e69de29bb 100644 --- a/compilacao/forms.py +++ b/compilacao/forms.py @@ -1,4 +0,0 @@ -from django import forms - - -# place form definition here \ No newline at end of file diff --git a/compilacao/models.py b/compilacao/models.py index c389f5d7a..8bbf1ced1 100644 --- a/compilacao/models.py +++ b/compilacao/models.py @@ -1,4 +1,16 @@ from django.db import models +from django.utils.translation import ugettext_lazy as _ -# Create your models here. +class TipoNota(models.Model): + sigla = models.CharField(max_length=10, verbose_name=_('Sigla')) + nome = models.CharField(max_length=50, verbose_name=_('Nome')) + modelo = models.TextField( + blank=True, null=True, verbose_name=_('Modelo')) + + class Meta: + verbose_name = _('Tipo de Nota') + verbose_name_plural = _('Tipos de Nota') + + def __str__(self): + return self.sigla diff --git a/compilacao/urls.py b/compilacao/urls.py index 96ef53f2c..e69de29bb 100644 --- a/compilacao/urls.py +++ b/compilacao/urls.py @@ -1,6 +0,0 @@ -try: - from django.conf.urls import * -except ImportError: # django < 1.4 - from django.conf.urls.defaults import * - -# place app url patterns here From c80c9353692e3c66b347fecb9fc7e61b7af862ee Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Tue, 1 Sep 2015 17:18:47 -0300 Subject: [PATCH 08/10] Construction compilation model --- compilacao/apps.py | 7 ++++ compilacao/models.py | 87 ++++++++++++++++++++++++++++++++++++++++++++ sapl/settings.py | 1 + sapl/utils.py | 1 + 4 files changed, 96 insertions(+) create mode 100644 compilacao/apps.py diff --git a/compilacao/apps.py b/compilacao/apps.py new file mode 100644 index 000000000..8cab3c8fb --- /dev/null +++ b/compilacao/apps.py @@ -0,0 +1,7 @@ +from django.apps import AppConfig +from django.utils.translation import ugettext_lazy as _ + + +class CompilacaoAppConfig(AppConfig): + name = 'compilacao' + verbose_name = _('Compilação') diff --git a/compilacao/models.py b/compilacao/models.py index 8bbf1ced1..77df1af10 100644 --- a/compilacao/models.py +++ b/compilacao/models.py @@ -1,5 +1,6 @@ from django.db import models from django.utils.translation import ugettext_lazy as _ +from sapl.utils import YES_NO_CHOICES, make_choices class TipoNota(models.Model): @@ -14,3 +15,89 @@ class TipoNota(models.Model): def __str__(self): return self.sigla + + +class TipoVide(models.Model): + sigla = models.CharField(max_length=10, verbose_name=_('Sigla')) + nome = models.CharField(max_length=50, verbose_name=_('Nome')) + + class Meta: + verbose_name = _('Tipo de Vide') + verbose_name_plural = _('Tipos de Vide') + + def __str__(self): + return self.sigla + + +class TipoDispositivo(models.Model): + FORMATO_NUMERACAO = [ + ('1', _('Numérico')), + ('I', _('Romano Maiúsculo')), + ('i', _('Romano Minúsculo')), + ('A', _('Alfabético Maiúsculo')), + ('a', _('Alfabético Minúsculo')), + ('*', _('Tópico sem contagem')), + ('N', _('Sem renderização de Contagem')), + ] + + nome = models.CharField( + max_length=50, unique = True, verbose_name=_('Nome')) + class_css = models.CharField( + max_length=20, verbose_name=_('Classe CSS')) + rotulo_prefixo_html = models.CharField( + max_length=100, verbose_name=_('Prefixo html do rótulo')) + rotulo_prefixo_texto = models.CharField( + max_length=30, + verbose_name=_('Prefixo de construção do rótulo')) + rotulo_ordinal = models.IntegerField( + verbose_name=_('Tipo de Número do Rótulo')) + rotulo_separadores_variacao = models.CharField( + max_length=5, verbose_name=_('Separadores das Variações')) + rotulo_sufixo_texto = models.CharField( + max_length=30, + verbose_name=_('Sufixo de construção do rótulo')) + rotulo_sufixo_html = models.CharField( + max_length=100, verbose_name=_('Sufixo html do rótulo')) + texto_prefixo_html = models.CharField( + max_length=100, verbose_name=_('Prefixo html do texto')) + texto_sufixo_html = models.CharField( + max_length=100, verbose_name=_('Sufixo html do texto')) + nota_automatica_prefixo_html = models.CharField( + max_length=100, verbose_name=_('Prefixo html da Nota Automática')) + nota_automatica_sufixo_html = models.CharField( + max_length=100, verbose_name=_('Sufixo html da Nota Automática')) + contagem_continua = models.BooleanField( + choices=YES_NO_CHOICES, verbose_name=_('Contagem contínua')) + formato_variacao0 = models.CharField( + max_length=1, + choices=FORMATO_NUMERACAO, + verbose_name=_('Formato da Numeração')) + formato_variacao1 = models.CharField( + max_length=1, + choices=FORMATO_NUMERACAO, + verbose_name=_('Formato da Variação 1')) + formato_variacao2 = models.CharField( + max_length=1, + choices=FORMATO_NUMERACAO, + verbose_name=_('Formato da Variação 2')) + formato_variacao3 = models.CharField( + max_length=1, + choices=FORMATO_NUMERACAO, + verbose_name=_('Formato da Variação 3')) + formato_variacao4 = models.CharField( + max_length=1, + choices=FORMATO_NUMERACAO, + verbose_name=_('Formato da Variação 4')) + formato_variacao5 = models.CharField( + max_length=1, + choices=FORMATO_NUMERACAO, + verbose_name=_('Formato da Variação 5')) + + + + class Meta: + verbose_name = _('Tipo de Dispositivo') + verbose_name_plural = _('Tipos de Dispositivo') + + def __str__(self): + return self.sigla diff --git a/sapl/settings.py b/sapl/settings.py index 0857c2161..017f68646 100644 --- a/sapl/settings.py +++ b/sapl/settings.py @@ -43,6 +43,7 @@ INSTALLED_APPS = ( 'base', 'parlamentares', 'comissoes', + 'compilacao', 'sessao', 'materia', 'norma', diff --git a/sapl/utils.py b/sapl/utils.py index 3312fd119..62a96c0e2 100644 --- a/sapl/utils.py +++ b/sapl/utils.py @@ -8,6 +8,7 @@ from django.utils.translation import ugettext_lazy as _ appconfs = [apps.get_app_config(n) for n in [ 'parlamentares', 'comissoes', + 'compilacao', 'materia', 'norma', 'sessao', From 1bd42158d0f97b1fdf823e67d73223132f8af7dc Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Tue, 1 Sep 2015 17:29:00 -0300 Subject: [PATCH 09/10] qa_check execution --- compilacao/models.py | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/compilacao/models.py b/compilacao/models.py index 77df1af10..70f28c2c4 100644 --- a/compilacao/models.py +++ b/compilacao/models.py @@ -1,6 +1,7 @@ from django.db import models from django.utils.translation import ugettext_lazy as _ -from sapl.utils import YES_NO_CHOICES, make_choices + +from sapl.utils import YES_NO_CHOICES class TipoNota(models.Model): @@ -15,33 +16,33 @@ class TipoNota(models.Model): def __str__(self): return self.sigla - - + + class TipoVide(models.Model): sigla = models.CharField(max_length=10, verbose_name=_('Sigla')) nome = models.CharField(max_length=50, verbose_name=_('Nome')) - + class Meta: verbose_name = _('Tipo de Vide') verbose_name_plural = _('Tipos de Vide') def __str__(self): return self.sigla - - + + class TipoDispositivo(models.Model): FORMATO_NUMERACAO = [ - ('1', _('Numérico')), - ('I', _('Romano Maiúsculo')), - ('i', _('Romano Minúsculo')), - ('A', _('Alfabético Maiúsculo')), - ('a', _('Alfabético Minúsculo')), - ('*', _('Tópico sem contagem')), - ('N', _('Sem renderização de Contagem')), + ('1', _('Numérico')), + ('I', _('Romano Maiúsculo')), + ('i', _('Romano Minúsculo')), + ('A', _('Alfabético Maiúsculo')), + ('a', _('Alfabético Minúsculo')), + ('*', _('Tópico sem contagem')), + ('N', _('Sem renderização de Contagem')), ] - + nome = models.CharField( - max_length=50, unique = True, verbose_name=_('Nome')) + max_length=50, unique=True, verbose_name=_('Nome')) class_css = models.CharField( max_length=20, verbose_name=_('Classe CSS')) rotulo_prefixo_html = models.CharField( @@ -50,9 +51,9 @@ class TipoDispositivo(models.Model): max_length=30, verbose_name=_('Prefixo de construção do rótulo')) rotulo_ordinal = models.IntegerField( - verbose_name=_('Tipo de Número do Rótulo')) + verbose_name=_('Tipo de Número do Rótulo')) rotulo_separadores_variacao = models.CharField( - max_length=5, verbose_name=_('Separadores das Variações')) + max_length=5, verbose_name=_('Separadores das Variações')) rotulo_sufixo_texto = models.CharField( max_length=30, verbose_name=_('Sufixo de construção do rótulo')) @@ -92,12 +93,10 @@ class TipoDispositivo(models.Model): max_length=1, choices=FORMATO_NUMERACAO, verbose_name=_('Formato da Variação 5')) - - - + class Meta: verbose_name = _('Tipo de Dispositivo') verbose_name_plural = _('Tipos de Dispositivo') - + def __str__(self): return self.sigla From bd01d3dc130ce26307c102be7a911a38d3b1307c Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Wed, 2 Sep 2015 17:53:40 -0300 Subject: [PATCH 10/10] =?UTF-8?q?Add=20more=20models=20in=20compila=C3=A7?= =?UTF-8?q?=C3=A3o=20application.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- compilacao/admin.py | 3 + compilacao/models.py | 250 ++++++++++++++++++++++++++++++++++++++----- 2 files changed, 229 insertions(+), 24 deletions(-) create mode 100644 compilacao/admin.py diff --git a/compilacao/admin.py b/compilacao/admin.py new file mode 100644 index 000000000..5c02ebd40 --- /dev/null +++ b/compilacao/admin.py @@ -0,0 +1,3 @@ +from sapl.utils import register_all_models_in_admin + +register_all_models_in_admin(__name__) diff --git a/compilacao/models.py b/compilacao/models.py index 70f28c2c4..6c9f926b5 100644 --- a/compilacao/models.py +++ b/compilacao/models.py @@ -1,25 +1,28 @@ from django.db import models from django.utils.translation import ugettext_lazy as _ +from norma.models import NormaJuridica from sapl.utils import YES_NO_CHOICES class TipoNota(models.Model): - sigla = models.CharField(max_length=10, verbose_name=_('Sigla')) + sigla = models.CharField( + max_length=10, unique=True, verbose_name=_('Sigla')) nome = models.CharField(max_length=50, verbose_name=_('Nome')) modelo = models.TextField( - blank=True, null=True, verbose_name=_('Modelo')) + blank=True, verbose_name=_('Modelo')) class Meta: verbose_name = _('Tipo de Nota') verbose_name_plural = _('Tipos de Nota') def __str__(self): - return self.sigla + return self.sigla + ' - ' + self.nome class TipoVide(models.Model): - sigla = models.CharField(max_length=10, verbose_name=_('Sigla')) + sigla = models.CharField( + max_length=10, unique=True, verbose_name=_('Sigla')) nome = models.CharField(max_length=50, verbose_name=_('Nome')) class Meta: @@ -27,19 +30,26 @@ class TipoVide(models.Model): verbose_name_plural = _('Tipos de Vide') def __str__(self): - return self.sigla + return self.sigla + ' - ' + self.nome class TipoDispositivo(models.Model): - FORMATO_NUMERACAO = [ - ('1', _('Numérico')), - ('I', _('Romano Maiúsculo')), - ('i', _('Romano Minúsculo')), - ('A', _('Alfabético Maiúsculo')), - ('a', _('Alfabético Minúsculo')), - ('*', _('Tópico sem contagem')), - ('N', _('Sem renderização de Contagem')), - ] + FNC1 = '1' + FNCI = 'I' + FNCi = 'i' + FNCA = 'A' + FNCa = 'a' + FNC8 = '*' + FNCN = 'N' + FORMATO_NUMERACAO_CHOICES = ( + (FNC1, _('Numérico')), + (FNCI, _('Romano Maiúsculo')), + (FNCi, _('Romano Minúsculo')), + (FNCA, _('Alfabético Maiúsculo')), + (FNCa, _('Alfabético Minúsculo')), + (FNC8, _('Tópico sem contagem')), + (FNCN, _('Sem renderização de Contagem')), + ) nome = models.CharField( max_length=50, unique=True, verbose_name=_('Nome')) @@ -51,7 +61,7 @@ class TipoDispositivo(models.Model): max_length=30, verbose_name=_('Prefixo de construção do rótulo')) rotulo_ordinal = models.IntegerField( - verbose_name=_('Tipo de Número do Rótulo')) + verbose_name=_('Tipo de número do rótulo')) rotulo_separadores_variacao = models.CharField( max_length=5, verbose_name=_('Separadores das Variações')) rotulo_sufixo_texto = models.CharField( @@ -64,34 +74,40 @@ class TipoDispositivo(models.Model): texto_sufixo_html = models.CharField( max_length=100, verbose_name=_('Sufixo html do texto')) nota_automatica_prefixo_html = models.CharField( - max_length=100, verbose_name=_('Prefixo html da Nota Automática')) + max_length=100, verbose_name=_('Prefixo html da nota automática')) nota_automatica_sufixo_html = models.CharField( - max_length=100, verbose_name=_('Sufixo html da Nota Automática')) + max_length=100, verbose_name=_('Sufixo html da nota automática')) contagem_continua = models.BooleanField( choices=YES_NO_CHOICES, verbose_name=_('Contagem contínua')) formato_variacao0 = models.CharField( max_length=1, - choices=FORMATO_NUMERACAO, + choices=FORMATO_NUMERACAO_CHOICES, + default=FNC1, verbose_name=_('Formato da Numeração')) formato_variacao1 = models.CharField( max_length=1, - choices=FORMATO_NUMERACAO, + choices=FORMATO_NUMERACAO_CHOICES, + default=FNC1, verbose_name=_('Formato da Variação 1')) formato_variacao2 = models.CharField( max_length=1, - choices=FORMATO_NUMERACAO, + choices=FORMATO_NUMERACAO_CHOICES, + default=FNC1, verbose_name=_('Formato da Variação 2')) formato_variacao3 = models.CharField( max_length=1, - choices=FORMATO_NUMERACAO, + choices=FORMATO_NUMERACAO_CHOICES, + default=FNC1, verbose_name=_('Formato da Variação 3')) formato_variacao4 = models.CharField( max_length=1, - choices=FORMATO_NUMERACAO, + choices=FORMATO_NUMERACAO_CHOICES, + default=FNC1, verbose_name=_('Formato da Variação 4')) formato_variacao5 = models.CharField( max_length=1, - choices=FORMATO_NUMERACAO, + choices=FORMATO_NUMERACAO_CHOICES, + default=FNC1, verbose_name=_('Formato da Variação 5')) class Meta: @@ -99,4 +115,190 @@ class TipoDispositivo(models.Model): verbose_name_plural = _('Tipos de Dispositivo') def __str__(self): - return self.sigla + return self.nome + + +class TipoPublicacao(models.Model): + sigla = models.CharField( + max_length=10, unique=True, verbose_name=_('Sigla')) + nome = models.CharField(max_length=50, verbose_name=_('Nome')) + + class Meta: + verbose_name = _('Tipo de Publicação') + verbose_name_plural = _('Tipos de Publicação') + + def __str__(self): + return self.sigla + ' - ' + self.nome + + +class VeiculoPublicacao(models.Model): + sigla = models.CharField( + max_length=10, unique=True, verbose_name=_('Sigla')) + nome = models.CharField(max_length=60, verbose_name=_('Nome')) + + class Meta: + verbose_name = _('Veículo de Publicação') + verbose_name_plural = _('Veículos de Publicação') + + def __str__(self): + return self.sigla + ' - ' + self.nome + + +class Publicacao(models.Model): + norma = models.ForeignKey( + NormaJuridica, verbose_name=_('Norma Jurídica')) + veiculo_publicacao = models.ForeignKey( + VeiculoPublicacao, verbose_name=_('Veículo de Publicação')) + tipo_publicacao = models.ForeignKey( + TipoPublicacao, verbose_name=_('Tipo de Publicação')) + publicacao = models.DateTimeField(verbose_name=_('Data de Publicação')) + pagina_inicio = models.PositiveIntegerField( + blank=True, null=True, verbose_name=_('Pg. Início')) + pagina_fim = models.PositiveIntegerField( + blank=True, null=True, verbose_name=_('Pg. Fim')) + timestamp = models.DateTimeField() + + class Meta: + verbose_name = _('Publicação') + verbose_name_plural = _('Publicações') + + def __str__(self): + return self.veiculo_publicacao.nome + ": "+str(self.publicacao) + + +class Dispositivo(models.Model): + ordem = models.PositiveIntegerField( + default=0, + verbose_name=_('Ordem de Renderização')) + ordem_bloco_atualizador = models.PositiveIntegerField( + default=0, + verbose_name=_('Ordem de Renderização no Bloco Atualizador')) + nivel = models.PositiveIntegerField( + default=0, + blank=True, + null=True, + verbose_name=_('Nível Estrutural')) + + dispositivo0 = models.PositiveIntegerField( + default=0, + verbose_name=_('Número do Dispositivo')) + dispositivo1 = models.PositiveIntegerField( + default=0, + blank=True, + null=True, + verbose_name=_('Primeiro Nível de Variação')) + dispositivo2 = models.PositiveIntegerField( + default=0, + blank=True, + null=True, + verbose_name=_('Segundo Nível de Variação')) + dispositivo3 = models.PositiveIntegerField( + default=0, + blank=True, + null=True, + verbose_name=_('Terceiro Nível de Variação')) + dispositivo4 = models.PositiveIntegerField( + default=0, + blank=True, + null=True, + verbose_name=_('Quarto Nível de Variação')) + dispositivo5 = models.PositiveIntegerField( + default=0, + blank=True, + null=True, + verbose_name=_('Quinto Nível de Variação')) + + rotulo = models.CharField( + max_length=50, + blank=True, + default='', + verbose_name=_('Rótulo')) + texto = models.TextField( + blank=True, + default='', + verbose_name=_('Texto')) + texto_atualizador = models.TextField( + blank=True, + default='', + verbose_name=_('Texto no Dispositivo Atualizador')) + + inicio_vigencia = models.DateField( + verbose_name=_('Início de Vigência')) + fim_vigencia = models.DateField( + blank=True, null=True, verbose_name=_('Fim de Vigência')) + + inicio_eficacia = models.DateField( + verbose_name=_('Início de Eficácia')) + fim_eficacia = models.DateField( + blank=True, null=True, verbose_name=_('Fim de Eficácia')) + + inconstitucionalidade = models.BooleanField( + default=False, + choices=YES_NO_CHOICES, + verbose_name=_('Inconstitucionalidade')) + visibilidade = models.BooleanField( + default=False, + choices=YES_NO_CHOICES, + verbose_name=_('Visibilidade na Norma Publicada')) + + timestamp = models.DateTimeField() + + tipo_dispositivo = models.ForeignKey( + TipoDispositivo, + verbose_name=_('Tipo do Dispositivo')) + + publicacao = models.ForeignKey( + Publicacao, + blank=True, null=True, default=None, verbose_name=_('Publicação')) + + norma = models.ForeignKey( + NormaJuridica, + verbose_name=_('Norma Jurídica')) + norma_publicada = models.ForeignKey( + NormaJuridica, + blank=True, null=True, default=None, + related_name='%(class)s_norma_publicada', + verbose_name=_('Norma Jurídica Publicada')) + + dispositivo_subsequente = models.ForeignKey( + 'self', + blank=True, null=True, default=None, + related_name='%(class)s_dispositivo_subsequente', + verbose_name=_('Dispositivo Subsequente')) + dispositivo_substituido = models.ForeignKey( + 'self', + blank=True, null=True, default=None, + related_name='%(class)s_dispositivo_substituido', + verbose_name=_('Dispositivo Substituido')) + dispositivo_pai = models.ForeignKey( + 'self', + blank=True, null=True, default=None, + related_name='%(class)s_dispositivo_pai', + verbose_name=_('Dispositivo Pai')) + dispositivo_vigencia = models.ForeignKey( + 'self', + blank=True, null=True, default=None, + related_name='%(class)s_dispositivo_vigencia', + verbose_name=_('Dispositivo de Vigência')) + dispositivo_atualizador = models.ForeignKey( + 'self', + blank=True, null=True, default=None, + related_name='%(class)s_dispositivo_atualizador', + verbose_name=_('Dispositivo Atualizador')) + + class Meta: + verbose_name = _('Dispositivo') + verbose_name_plural = _('Dispositivos') + unique_together = ( + ('norma', 'ordem', ), + ('norma', + 'dispositivo0', + 'dispositivo1', + 'dispositivo2', + 'dispositivo3', + 'dispositivo4', + 'dispositivo5', + 'tipo_dispositivo', + 'dispositivo_pai', + 'publicacao', ), + )