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'),
(0, 'Não')]
def grupo_autor():
try:
grupo = Group.objects.get(name='Autor')
@ -30,7 +29,6 @@ def grupo_autor():
return None
return grupo.id
@reversion.register()
class TipoProposicao(models.Model):
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')),
('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()
class MateriaLegislativa(models.Model):
@ -194,7 +197,7 @@ class MateriaLegislativa(models.Model):
texto_original = models.FileField(
blank=True,
null=True,
upload_to=texto_upload_path,
upload_to=materia_upload_path,
verbose_name=_('Texto Original'),
validators=[restringe_tipos_de_arquivo_txt])
@ -216,6 +219,7 @@ class MateriaLegislativa(models.Model):
return _('%(tipo)s%(numero)s de %(ano)s') % {
'tipo': self.tipo, 'numero': self.numero, 'ano': self.ano}
def data_entrada_protocolo(self):
'''
hack: recuperar a data de entrada do protocolo sem gerar
@ -257,6 +261,7 @@ class MateriaLegislativa(models.Model):
update_fields=update_fields)
@reversion.register()
class Autoria(models.Model):
autor = models.ForeignKey(Autor,
@ -392,7 +397,7 @@ class DocumentoAcessorio(models.Model):
arquivo = models.FileField(
blank=True,
null=True,
upload_to=texto_upload_path,
upload_to=anexo_upload_path,
verbose_name=_('Texto Integral'),
validators=[restringe_tipos_de_arquivo_txt])
@ -625,7 +630,7 @@ class Proposicao(models.Model):
('I', 'Incorporada')),
verbose_name=_('Status Proposição'))
texto_original = models.FileField(
upload_to=texto_upload_path,
upload_to=materia_upload_path,
blank=True,
null=True,
verbose_name=_('Texto Original'),

5
sapl/norma/models.py

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

6
sapl/utils.py

@ -605,8 +605,8 @@ def texto_upload_path(instance, filename, subpath=''):
seguida para armazenar o arquivo.
"""
if subpath and '/' not in subpath:
subpath = subpath + '/'
# if subpath and '/' not in subpath:
# subpath = subpath + '/'
""" TODO: Verifique possibilidade de otimização do código de normalização
do filename...
@ -624,7 +624,7 @@ def texto_upload_path(instance, filename, subpath=''):
if isinstance(instance, (DocumentoAdministrativo, Proposicao)):
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,
'model_name': instance._meta.model_name,

Loading…
Cancel
Save