Browse Source

corrige erros de teste e add expressão em rules

pull/2169/head
Leandro Roberto 7 years ago
parent
commit
d5cbedbcb2
  1. 5
      sapl/protocoloadm/tests/test_protocoloadm.py
  2. 45
      sapl/rules/map_rules.py
  3. 22
      sapl/rules/tests/test_rules.py
  4. 60
      sapl/translation.py

5
sapl/protocoloadm/tests/test_protocoloadm.py

@ -1,10 +1,11 @@
from datetime import date, timedelta
import pytest
from django.core.urlresolvers import reverse
from django.utils import timezone
from django.utils.encoding import force_text
from django.utils.translation import ugettext_lazy as _
from model_mommy import mommy
import pytest
from sapl.materia.models import UnidadeTramitacao
from sapl.protocoloadm.forms import (AnularProcoloAdmForm,
@ -191,7 +192,7 @@ def test_create_tramitacao(admin_client):
'unidade_tramitacao_destino': unidade_tramitacao_destino_2.pk,
'documento': documento_adm.pk,
'status': status.pk,
'data_tramitacao': date.today() + timedelta(
'data_tramitacao': timezone.now().date() + timedelta(
days=1)},
follow=True)

45
sapl/rules/map_rules.py

@ -1,23 +1,3 @@
from sapl.base import models as base
from sapl.comissoes import models as comissoes
from sapl.compilacao import models as compilacao
from sapl.lexml import models as lexml
from sapl.materia import models as materia
from sapl.norma import models as norma
from sapl.painel import models as painel
from sapl.parlamentares import models as parlamentares
from sapl.protocoloadm import models as protocoloadm
from sapl.audiencia import models as audiencia
from sapl.rules import (RP_ADD, RP_CHANGE, RP_DELETE, RP_DETAIL, RP_LIST,
SAPL_GROUP_ADMINISTRATIVO, SAPL_GROUP_ANONYMOUS,
SAPL_GROUP_AUTOR, SAPL_GROUP_COMISSOES,
SAPL_GROUP_GERAL, SAPL_GROUP_LOGIN_SOCIAL,
SAPL_GROUP_MATERIA, SAPL_GROUP_NORMA,
SAPL_GROUP_PAINEL, SAPL_GROUP_PARLAMENTAR,
SAPL_GROUP_PROTOCOLO, SAPL_GROUP_SESSAO,
SAPL_GROUP_VOTANTE)
from sapl.sessao import models as sessao
"""
Todas as permissões do django framework seguem o padrão
@ -46,6 +26,26 @@ negócio trabalham com os cinco radiais de permissão
e com qualquer outro tipo de permissão customizada, nesta ordem de precedência.
"""
from sapl.audiencia import models as audiencia
from sapl.base import models as base
from sapl.comissoes import models as comissoes
from sapl.compilacao import models as compilacao
from sapl.lexml import models as lexml
from sapl.materia import models as materia
from sapl.norma import models as norma
from sapl.painel import models as painel
from sapl.parlamentares import models as parlamentares
from sapl.protocoloadm import models as protocoloadm
from sapl.rules import (RP_ADD, RP_CHANGE, RP_DELETE, RP_DETAIL, RP_LIST,
SAPL_GROUP_ADMINISTRATIVO, SAPL_GROUP_ANONYMOUS,
SAPL_GROUP_AUTOR, SAPL_GROUP_COMISSOES,
SAPL_GROUP_GERAL, SAPL_GROUP_LOGIN_SOCIAL,
SAPL_GROUP_MATERIA, SAPL_GROUP_NORMA,
SAPL_GROUP_PAINEL, SAPL_GROUP_PARLAMENTAR,
SAPL_GROUP_PROTOCOLO, SAPL_GROUP_SESSAO,
SAPL_GROUP_VOTANTE)
from sapl.sessao import models as sessao
__base__ = [RP_LIST, RP_DETAIL, RP_ADD, RP_CHANGE, RP_DELETE]
__listdetailchange__ = [RP_LIST, RP_DETAIL, RP_CHANGE]
@ -211,6 +211,7 @@ rules_group_geral = {
(base.CasaLegislativa, __listdetailchange__ + [RP_ADD]),
(base.TipoAutor, __base__),
(base.Autor, __base__),
(base.ExpressaoTextual, []),
(protocoloadm.StatusTramitacaoAdministrativo, __base__),
(protocoloadm.TipoDocumentoAdministrativo, __base__),
@ -219,8 +220,8 @@ rules_group_geral = {
(comissoes.TipoComissao, __base__),
(comissoes.Periodo, __base__),
(materia.AssuntoMateria, __base__), # não há implementação
(materia.MateriaAssunto, __base__), # não há implementação
(materia.AssuntoMateria, __base__),
(materia.MateriaAssunto, __base__),
(materia.MateriaLegislativa, ['can_access_impressos']),
(materia.TipoProposicao, __base__),
(materia.TipoMateriaLegislativa, __base__),

22
sapl/rules/tests/test_rules.py

@ -1,22 +1,23 @@
import pytest
from django.apps import apps
from django.conf import settings
from django.contrib.auth.models import Permission
from django.contrib.contenttypes.models import ContentType
from django.utils import six
from sapl.translation import ugettext_lazy as _
import pytest
from sapl.base.models import CasaLegislativa
from sapl.base.models import CasaLegislativa, ExpressaoTextual
from sapl.compilacao.models import (PerfilEstruturalTextoArticulado,
TipoDispositivo,
TipoDispositivoRelationship)
from sapl.materia.models import AcompanhamentoMateria
from sapl.rules import SAPL_GROUPS, map_rules
from sapl.test_urls import create_perms_post_migrate
from sapl.translation import ugettext_lazy as _
from scripts.lista_permissions_in_decorators import \
lista_permissions_in_decorators
from scripts.lista_urls import lista_urls
sapl_appconfs = [apps.get_app_config(n[5:]) for n in settings.SAPL_APPS]
sapl_models = []
@ -58,27 +59,32 @@ __fp__in__test_permission_of_models_in_rules_patterns = {
map_rules.RP_ADD: [CasaLegislativa,
TipoDispositivo,
TipoDispositivoRelationship,
PerfilEstruturalTextoArticulado],
PerfilEstruturalTextoArticulado,
ExpressaoTextual],
map_rules.RP_CHANGE: [AcompanhamentoMateria,
TipoDispositivo,
TipoDispositivoRelationship,
PerfilEstruturalTextoArticulado],
PerfilEstruturalTextoArticulado,
ExpressaoTextual],
map_rules.RP_DELETE: [CasaLegislativa,
TipoDispositivo,
TipoDispositivoRelationship,
PerfilEstruturalTextoArticulado],
PerfilEstruturalTextoArticulado,
ExpressaoTextual],
map_rules.RP_LIST: [AcompanhamentoMateria,
TipoDispositivo,
TipoDispositivoRelationship,
PerfilEstruturalTextoArticulado],
PerfilEstruturalTextoArticulado,
ExpressaoTextual],
map_rules.RP_DETAIL: [AcompanhamentoMateria,
TipoDispositivo,
TipoDispositivoRelationship,
PerfilEstruturalTextoArticulado]
PerfilEstruturalTextoArticulado,
ExpressaoTextual]
}

60
sapl/translation.py

@ -75,8 +75,11 @@ class ExpressaoTextualManage(object):
'proxy': [value, ],
'value': text,
'custom': None}
try:
et = ExpressaoTextual(value=text, bind=True)
et.save()
except:
pass
self.__catalog['preprocess'] = []
@ -94,8 +97,11 @@ class ExpressaoTextualManage(object):
'proxy': [item, ],
'value': text,
'custom': None}
try:
et = ExpressaoTextual(value=text, bind=True)
et.save()
except:
pass
else:
try:
@ -168,60 +174,6 @@ class ExpressaoTextualManage(object):
ExpressaoTextual.objects.filter(bind=False).delete()
"""
if sys.argv[1] == 'makemigrations':
return
# apps.apps.get_app_config('base').ready()
ExpressaoTextual = apps.apps.get_app_config(
'base').get_model('ExpressaoTextual')
try:
# modelo não existe no momento do migrate
ExpressaoTextual.objects.update(bind=False)
except:
return
expressoes = ExpressaoTextual.objects.all()
for app in apps.apps.get_app_configs():
if app.name not in settings.SAPL_APPS or app == self:
continue
for m in app.get_models():
try:
exp = expressoes.get(value=m._meta.verbose_name)
except:
exp = ExpressaoTextual(
value=m._meta.verbose_name, custom='')
exp.bind = True
exp.save()
if exp.custom:
m._meta.verbose_name = exp.custom
try:
exp = expressoes.get(value=m._meta.verbose_name_plural)
except:
exp = ExpressaoTextual(
value=m._meta.verbose_name_plural, custom='')
exp.bind = True
exp.save()
if exp.custom:
m._meta.verbose_name_plural = exp.custom
for f in m._meta.fields:
try:
exp = expressoes.get(value=f.verbose_name)
except:
exp = ExpressaoTextual(
value=f.verbose_name, custom='')
exp.bind = True
exp.save()
if exp.custom:
f.verbose_name = exp.custom
ExpressaoTextual.objects.filter(bind=False).delete()
"""
sapl_expressions = ExpressaoTextualManage()

Loading…
Cancel
Save