Browse Source

separa por ano materias normas documentos_acessorios

pull/1088/head
DTILegBG 8 years ago
committed by Leandro Roberto da Silva
parent
commit
285d32e290
  1. 15
      sapl/materia/models.py
  2. 5
      sapl/norma/models.py
  3. 6
      sapl/utils.py

15
sapl/materia/models.py

@ -22,7 +22,6 @@ from sapl.utils import (RANGE_ANOS, YES_NO_CHOICES, SaplGenericForeignKey,
EM_TRAMITACAO = [(1, 'Sim'), EM_TRAMITACAO = [(1, 'Sim'),
(0, 'Não')] (0, 'Não')]
def grupo_autor(): def grupo_autor():
try: try:
grupo = Group.objects.get(name='Autor') grupo = Group.objects.get(name='Autor')
@ -30,7 +29,6 @@ def grupo_autor():
return None return None
return grupo.id return grupo.id
@reversion.register() @reversion.register()
class TipoProposicao(models.Model): class TipoProposicao(models.Model):
descricao = models.CharField(max_length=50, verbose_name=_('Descrição')) descricao = models.CharField(max_length=50, verbose_name=_('Descrição'))
@ -120,6 +118,11 @@ class Origem(models.Model):
TIPO_APRESENTACAO_CHOICES = Choices(('O', 'oral', _('Oral')), TIPO_APRESENTACAO_CHOICES = Choices(('O', 'oral', _('Oral')),
('E', 'escrita', _('Escrita'))) ('E', 'escrita', _('Escrita')))
def materia_upload_path(instance, filename):
return texto_upload_path(instance, filename, subpath=instance.ano)
def anexo_upload_path(instance, filename):
return texto_upload_path(instance, filename, subpath=instance.materia.ano)
@reversion.register() @reversion.register()
class MateriaLegislativa(models.Model): class MateriaLegislativa(models.Model):
@ -194,7 +197,7 @@ class MateriaLegislativa(models.Model):
texto_original = models.FileField( texto_original = models.FileField(
blank=True, blank=True,
null=True, null=True,
upload_to=texto_upload_path, upload_to=materia_upload_path,
verbose_name=_('Texto Original'), verbose_name=_('Texto Original'),
validators=[restringe_tipos_de_arquivo_txt]) validators=[restringe_tipos_de_arquivo_txt])
@ -216,6 +219,7 @@ class MateriaLegislativa(models.Model):
return _('%(tipo)s%(numero)s de %(ano)s') % { return _('%(tipo)s%(numero)s de %(ano)s') % {
'tipo': self.tipo, 'numero': self.numero, 'ano': self.ano} 'tipo': self.tipo, 'numero': self.numero, 'ano': self.ano}
def data_entrada_protocolo(self): def data_entrada_protocolo(self):
''' '''
hack: recuperar a data de entrada do protocolo sem gerar hack: recuperar a data de entrada do protocolo sem gerar
@ -257,6 +261,7 @@ class MateriaLegislativa(models.Model):
update_fields=update_fields) update_fields=update_fields)
@reversion.register() @reversion.register()
class Autoria(models.Model): class Autoria(models.Model):
autor = models.ForeignKey(Autor, autor = models.ForeignKey(Autor,
@ -392,7 +397,7 @@ class DocumentoAcessorio(models.Model):
arquivo = models.FileField( arquivo = models.FileField(
blank=True, blank=True,
null=True, null=True,
upload_to=texto_upload_path, upload_to=anexo_upload_path,
verbose_name=_('Texto Integral'), verbose_name=_('Texto Integral'),
validators=[restringe_tipos_de_arquivo_txt]) validators=[restringe_tipos_de_arquivo_txt])
@ -625,7 +630,7 @@ class Proposicao(models.Model):
('I', 'Incorporada')), ('I', 'Incorporada')),
verbose_name=_('Status Proposição')) verbose_name=_('Status Proposição'))
texto_original = models.FileField( texto_original = models.FileField(
upload_to=texto_upload_path, upload_to=materia_upload_path,
blank=True, blank=True,
null=True, null=True,
verbose_name=_('Texto Original'), verbose_name=_('Texto Original'),

5
sapl/norma/models.py

@ -59,6 +59,8 @@ class TipoNormaJuridica(models.Model):
def __str__(self): def __str__(self):
return self.descricao return self.descricao
def norma_upload_path(instance, filename):
return texto_upload_path(instance, filename, subpath=instance.ano)
@reversion.register() @reversion.register()
class NormaJuridica(models.Model): class NormaJuridica(models.Model):
@ -67,10 +69,11 @@ class NormaJuridica(models.Model):
('F', 'federal', _('Federal')), ('F', 'federal', _('Federal')),
('M', 'municipal', _('Municipal')), ('M', 'municipal', _('Municipal')),
) )
texto_integral = models.FileField( texto_integral = models.FileField(
blank=True, blank=True,
null=True, null=True,
upload_to=texto_upload_path, upload_to=norma_upload_path,
verbose_name=_('Texto Integral'), verbose_name=_('Texto Integral'),
validators=[restringe_tipos_de_arquivo_txt]) validators=[restringe_tipos_de_arquivo_txt])
tipo = models.ForeignKey( tipo = models.ForeignKey(

6
sapl/utils.py

@ -605,8 +605,8 @@ def texto_upload_path(instance, filename, subpath=''):
seguida para armazenar o arquivo. seguida para armazenar o arquivo.
""" """
if subpath and '/' not in subpath: # if subpath and '/' not in subpath:
subpath = subpath + '/' # subpath = subpath + '/'
""" TODO: Verifique possibilidade de otimização do código de normalização """ TODO: Verifique possibilidade de otimização do código de normalização
do filename... do filename...
@ -624,7 +624,7 @@ def texto_upload_path(instance, filename, subpath=''):
if isinstance(instance, (DocumentoAdministrativo, Proposicao)): if isinstance(instance, (DocumentoAdministrativo, Proposicao)):
prefix = 'private' prefix = 'private'
path = './sapl/%(prefix)s/%(model_name)s/%(pk)s/%(subpath)s%(filename)s' %\ path = './sapl/%(prefix)s/%(model_name)s/%(subpath)s/%(pk)s/%(filename)s' %\
{ {
'prefix': prefix, 'prefix': prefix,
'model_name': instance._meta.model_name, 'model_name': instance._meta.model_name,

Loading…
Cancel
Save