Browse Source

cria flexibilização das expressões textuais após tradução

pull/2169/head
Leandro Roberto 7 years ago
parent
commit
088348c46c
  1. 2
      sapl/api/apps.py
  2. 2
      sapl/api/forms.py
  3. 2
      sapl/api/views.py
  4. 2
      sapl/audiencia/apps.py
  5. 2
      sapl/audiencia/forms.py
  6. 2
      sapl/audiencia/models.py
  7. 2
      sapl/audiencia/tests/test_audiencia.py
  8. 2
      sapl/base/admin.py
  9. 2
      sapl/base/apps.py
  10. 2
      sapl/base/forms.py
  11. 34
      sapl/base/migrations/0021_auto_20180825_1713.py
  12. 25
      sapl/base/migrations/0022_auto_20180825_1716.py
  13. 42
      sapl/base/models.py
  14. 15
      sapl/base/templatetags/i18n_sapl.py
  15. 2
      sapl/base/templatetags/menus.py
  16. 2
      sapl/base/tests/test_form.py
  17. 2
      sapl/base/tests/test_view_base.py
  18. 14
      sapl/base/urls.py
  19. 34
      sapl/base/views.py
  20. 2
      sapl/comissoes/apps.py
  21. 2
      sapl/comissoes/forms.py
  22. 2
      sapl/comissoes/models.py
  23. 2
      sapl/comissoes/tests/test_comissoes.py
  24. 2
      sapl/compilacao/apps.py
  25. 2
      sapl/compilacao/forms.py
  26. 2
      sapl/compilacao/models.py
  27. 2
      sapl/compilacao/templatetags/compilacao_filters.py
  28. 2
      sapl/compilacao/tests/test_tipo_texto_articulado_form.py
  29. 2
      sapl/compilacao/views.py
  30. 5
      sapl/crispy_layout_mixin.py
  31. 2
      sapl/crud/base.py
  32. 2
      sapl/decorators.py
  33. 2
      sapl/lexml/apps.py
  34. 2
      sapl/lexml/models.py
  35. 2
      sapl/materia/apps.py
  36. 2
      sapl/materia/forms.py
  37. 2
      sapl/materia/models.py
  38. 2
      sapl/materia/tests/test_materia_form.py
  39. 2
      sapl/materia/views.py
  40. 2
      sapl/norma/apps.py
  41. 2
      sapl/norma/forms.py
  42. 30
      sapl/norma/migrations/0013_auto_20180824_2301.py
  43. 10
      sapl/norma/models.py
  44. 2
      sapl/norma/tests/test_norma.py
  45. 2
      sapl/norma/views.py
  46. 2
      sapl/painel/apps.py
  47. 2
      sapl/painel/models.py
  48. 2
      sapl/painel/views.py
  49. 2
      sapl/parlamentares/apps.py
  50. 2
      sapl/parlamentares/forms.py
  51. 2
      sapl/parlamentares/models.py
  52. 2
      sapl/parlamentares/tests/test_parlamentares.py
  53. 2
      sapl/parlamentares/views.py
  54. 2
      sapl/protocoloadm/apps.py
  55. 35
      sapl/protocoloadm/forms.py
  56. 2
      sapl/protocoloadm/models.py
  57. 2
      sapl/protocoloadm/tests/test_protocoloadm.py
  58. 2
      sapl/protocoloadm/views.py
  59. 2
      sapl/redireciona_urls/apps.py
  60. 2
      sapl/redireciona_urls/exceptions.py
  61. 2
      sapl/relatorios/apps.py
  62. 2
      sapl/relatorios/views.py
  63. 2
      sapl/rules/__init__.py
  64. 10
      sapl/rules/apps.py
  65. 2
      sapl/rules/tests/test_rules.py
  66. 2
      sapl/sessao/apps.py
  67. 2
      sapl/sessao/forms.py
  68. 2
      sapl/sessao/models.py
  69. 2
      sapl/sessao/tests/test_sessao.py
  70. 2
      sapl/sessao/tests/test_sessao_view.py
  71. 2
      sapl/sessao/views.py
  72. 2
      sapl/templates/ajuda.html
  73. 2
      sapl/templates/ajuda/acessando_alimenta.html
  74. 2
      sapl/templates/ajuda/acomp_materia.html
  75. 2
      sapl/templates/ajuda/anexos.html
  76. 2
      sapl/templates/ajuda/autor.html
  77. 2
      sapl/templates/ajuda/cadastro_comissoes.html
  78. 2
      sapl/templates/ajuda/cadastro_materia.html
  79. 2
      sapl/templates/ajuda/cadastro_mesa_diretora.html
  80. 2
      sapl/templates/ajuda/cadastro_parlamentares.html
  81. 2
      sapl/templates/ajuda/cargo_comissao.html
  82. 2
      sapl/templates/ajuda/cargo_mesa.html
  83. 2
      sapl/templates/ajuda/casa_legislativa.html
  84. 2
      sapl/templates/ajuda/coligacao.html
  85. 2
      sapl/templates/ajuda/consultas.html
  86. 2
      sapl/templates/ajuda/dependentes.html
  87. 2
      sapl/templates/ajuda/despacho_autoria.html
  88. 2
      sapl/templates/ajuda/envio_proposicao.html
  89. 2
      sapl/templates/ajuda/filiacoes_partidarias.html
  90. 2
      sapl/templates/ajuda/fim_relatoria.html
  91. 2
      sapl/templates/ajuda/gerenciamento_usuarios.html
  92. 2
      sapl/templates/ajuda/glossario.html
  93. 2
      sapl/templates/ajuda/impressos.html
  94. 2
      sapl/templates/ajuda/legislacao_cita_matanexada.html
  95. 2
      sapl/templates/ajuda/legislatura.html
  96. 2
      sapl/templates/ajuda/lexml.html
  97. 2
      sapl/templates/ajuda/mandatos_parlamentar.html
  98. 2
      sapl/templates/ajuda/materia_anexada.html
  99. 2
      sapl/templates/ajuda/modulo_comissoes.html
  100. 2
      sapl/templates/ajuda/modulo_mesa_diretora.html

2
sapl/api/apps.py

@ -1,5 +1,5 @@
from django import apps from django import apps
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
class AppConfig(apps.AppConfig): class AppConfig(apps.AppConfig):

2
sapl/api/forms.py

@ -2,7 +2,7 @@ from django.db.models import Q
from django.forms.fields import CharField, MultiValueField from django.forms.fields import CharField, MultiValueField
from django.forms.widgets import MultiWidget, TextInput from django.forms.widgets import MultiWidget, TextInput
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from django_filters.filters import DateFilter, MethodFilter, ModelChoiceFilter from django_filters.filters import DateFilter, MethodFilter, ModelChoiceFilter
from rest_framework import serializers from rest_framework import serializers
from rest_framework.compat import django_filters from rest_framework.compat import django_filters

2
sapl/api/views.py

@ -1,7 +1,7 @@
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.db.models import Q from django.db.models import Q
from django.http import Http404 from django.http import Http404
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from rest_framework.filters import DjangoFilterBackend from rest_framework.filters import DjangoFilterBackend
from rest_framework.generics import ListAPIView from rest_framework.generics import ListAPIView
from rest_framework.mixins import ListModelMixin, RetrieveModelMixin from rest_framework.mixins import ListModelMixin, RetrieveModelMixin

2
sapl/audiencia/apps.py

@ -1,5 +1,5 @@
from django import apps from django import apps
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
class AppConfig(apps.AppConfig): class AppConfig(apps.AppConfig):

2
sapl/audiencia/forms.py

@ -1,7 +1,7 @@
from django import forms from django import forms
from django.core.exceptions import ObjectDoesNotExist, ValidationError from django.core.exceptions import ObjectDoesNotExist, ValidationError
from django.db import transaction from django.db import transaction
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from sapl.audiencia.models import AudienciaPublica, TipoAudienciaPublica from sapl.audiencia.models import AudienciaPublica, TipoAudienciaPublica
from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa
from sapl.utils import timezone from sapl.utils import timezone

2
sapl/audiencia/models.py

@ -1,6 +1,6 @@
import reversion import reversion
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from model_utils import Choices from model_utils import Choices
from sapl.materia.models import MateriaLegislativa from sapl.materia.models import MateriaLegislativa
from sapl.parlamentares.models import (CargoMesa, Parlamentar) from sapl.parlamentares.models import (CargoMesa, Parlamentar)

2
sapl/audiencia/tests/test_audiencia.py

@ -1,5 +1,5 @@
import pytest import pytest
from django.utils.translation import ugettext as _ from sapl.translation import ugettext as _
from model_mommy import mommy from model_mommy import mommy
from sapl.audiencia import forms from sapl.audiencia import forms

2
sapl/base/admin.py

@ -1,7 +1,7 @@
from django.contrib import admin from django.contrib import admin
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.shortcuts import redirect from django.shortcuts import redirect
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from reversion.models import Revision from reversion.models import Revision
from sapl.utils import register_all_models_in_admin from sapl.utils import register_all_models_in_admin

2
sapl/base/apps.py

@ -1,6 +1,6 @@
import django import django
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
class AppConfig(django.apps.AppConfig): class AppConfig(django.apps.AppConfig):

2
sapl/base/forms.py

@ -11,7 +11,7 @@ from django.contrib.auth.models import Group, User
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.db import models, transaction from django.db import models, transaction
from django.forms import Form, ModelForm from django.forms import Form, ModelForm
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from django.utils.translation import string_concat from django.utils.translation import string_concat
from sapl.base.models import Autor, TipoAutor from sapl.base.models import Autor, TipoAutor

34
sapl/base/migrations/0021_auto_20180825_1713.py

@ -0,0 +1,34 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.13 on 2018-08-25 20:13
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('base', '0020_auto_20180821_1421'),
]
operations = [
migrations.CreateModel(
name='ExpressaoTextual',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('bind', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Expressão encontrada no SAPL')),
('value', models.CharField(max_length=10000, unique=True, verbose_name='Expressão Oficial')),
('custom', models.CharField(blank=True, default='', max_length=10000, verbose_name='Expressão Customizada')),
],
options={
'verbose_name': 'Expressão Textual do SAPL',
'verbose_name_plural': 'Expressões Textuais do SAPL',
'ordering': ('value',),
},
),
migrations.AlterField(
model_name='casalegislativa',
name='codigo',
field=models.CharField(blank=True, max_length=100, verbose_name='Código'),
),
]

25
sapl/base/migrations/0022_auto_20180825_1716.py

@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.13 on 2018-08-25 20:16
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('base', '0021_auto_20180825_1713'),
]
operations = [
migrations.AlterField(
model_name='expressaotextual',
name='custom',
field=models.TextField(blank=True, default='', verbose_name='Expressão Customizada'),
),
migrations.AlterField(
model_name='expressaotextual',
name='value',
field=models.TextField(unique=True, verbose_name='Expressão Oficial'),
),
]

42
sapl/base/models.py

@ -1,14 +1,15 @@
import reversion
from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.db import models from django.db import models
from django.db.models.signals import post_migrate from django.db.models.signals import post_migrate
from django.db.utils import DEFAULT_DB_ALIAS from django.db.utils import DEFAULT_DB_ALIAS
from django.utils.translation import ugettext_lazy as _ import reversion
from sapl.translation import ugettext_lazy as _
from sapl.utils import (LISTA_DE_UFS, YES_NO_CHOICES, from sapl.utils import (LISTA_DE_UFS, YES_NO_CHOICES,
get_settings_auth_user_model, models_with_gr_for_model) get_settings_auth_user_model, models_with_gr_for_model)
TIPO_DOCUMENTO_ADMINISTRATIVO = (('O', _('Ostensiva')), TIPO_DOCUMENTO_ADMINISTRATIVO = (('O', _('Ostensiva')),
('R', _('Restritiva'))) ('R', _('Restritiva')))
@ -24,7 +25,7 @@ class CasaLegislativa(models.Model):
codigo = models.CharField(max_length=100, codigo = models.CharField(max_length=100,
blank=True, blank=True,
verbose_name=_('Codigo')) verbose_name=_('Código'))
nome = models.CharField(max_length=100, verbose_name=_('Nome')) nome = models.CharField(max_length=100, verbose_name=_('Nome'))
sigla = models.CharField(max_length=100, verbose_name=_('Sigla')) sigla = models.CharField(max_length=100, verbose_name=_('Sigla'))
endereco = models.CharField(max_length=100, verbose_name=_('Endereço')) endereco = models.CharField(max_length=100, verbose_name=_('Endereço'))
@ -59,6 +60,27 @@ class CasaLegislativa(models.Model):
'municipio': self.municipio} 'municipio': self.municipio}
class ExpressaoTextual(models.Model):
bind = models.BooleanField(
verbose_name=_('Expressão encontrada no SAPL'),
choices=YES_NO_CHOICES, default=False)
value = models.TextField(
unique=True,
verbose_name=_('Expressão Oficial'), blank=False, null=False)
custom = models.TextField(
verbose_name=_('Expressão Customizada'), blank=True, default='')
class Meta:
verbose_name = _('Expressão Textual do SAPL')
verbose_name_plural = _('Expressões Textuais do SAPL')
ordering = ('value',)
def __str__(self):
return self.value
@reversion.register() @reversion.register()
class AppConfig(models.Model): class AppConfig(models.Model):
@ -127,6 +149,20 @@ class AppConfig(models.Model):
verbose_name=_('Protocolar proposição somente com recibo?'), verbose_name=_('Protocolar proposição somente com recibo?'),
choices=YES_NO_CHOICES, default=True) choices=YES_NO_CHOICES, default=True)
"""normajuridica_verbose_name = models.CharField(
max_length=100,
blank=False,
null=False,
default=_('Norma Jurídica'),
verbose_name=_('Customizar a expressão Norma Jurídica'))
verbose_name_plural = models.CharField(
max_length=100,
blank=False,
null=False,
default=_('Norma Jurídica'),
verbose_name=_('Customizar a expressão Norma Jurídica'))"""
class Meta: class Meta:
verbose_name = _('Configurações da Aplicação') verbose_name = _('Configurações da Aplicação')
verbose_name_plural = _('Configurações da Aplicação') verbose_name_plural = _('Configurações da Aplicação')

15
sapl/base/templatetags/i18n_sapl.py

@ -0,0 +1,15 @@
from django.templatetags.i18n import *
from django.utils.encoding import force_text
from sapl.translation import sapl_expressions
@register.tag("trans")
def do_translate_sapl(parser, token):
trans = do_translate(parser, token)
return sapl_expressions.swap_translate(trans)
@register.tag("blocktrans")
def do_block_translate_sapl(parser, token):
block_trans = do_block_translate(parser, token)
return sapl_expressions.swap_block_translate(block_trans)

2
sapl/base/templatetags/menus.py

@ -1,7 +1,7 @@
import yaml import yaml
from django import template from django import template
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from sapl.utils import sapl_logger from sapl.utils import sapl_logger

2
sapl/base/tests/test_form.py

@ -1,5 +1,5 @@
import pytest import pytest
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from sapl.base.forms import CasaLegislativaForm from sapl.base.forms import CasaLegislativaForm

2
sapl/base/tests/test_view_base.py

@ -1,6 +1,6 @@
import pytest import pytest
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
@pytest.mark.django_db(transaction=False) @pytest.mark.django_db(transaction=False)

14
sapl/base/urls.py

@ -8,7 +8,8 @@ from django.contrib.auth.views import (password_reset, password_reset_complete,
password_reset_done) password_reset_done)
from django.views.generic.base import RedirectView, TemplateView from django.views.generic.base import RedirectView, TemplateView
from sapl.base.views import AutorCrud, ConfirmarEmailView, TipoAutorCrud from sapl.base.views import AutorCrud, ConfirmarEmailView, TipoAutorCrud,\
ExpressaoTextualCrud
from sapl.settings import EMAIL_SEND_USER, MEDIA_URL from sapl.settings import EMAIL_SEND_USER, MEDIA_URL
from .apps import AppConfig from .apps import AppConfig
@ -27,9 +28,12 @@ app_name = AppConfig.name
admin_user = [ admin_user = [
url(r'^sistema/usuario/$', ListarUsuarioView.as_view(), name='user_list'), url(r'^sistema/usuario/$', ListarUsuarioView.as_view(), name='user_list'),
url(r'^sistema/usuario/create$', CreateUsuarioView.as_view(), name='user_create'), url(r'^sistema/usuario/create$',
url(r'^sistema/usuario/(?P<pk>\d+)/edit$', EditUsuarioView.as_view(), name='user_edit'), CreateUsuarioView.as_view(), name='user_create'),
url(r'^sistema/usuario/(?P<pk>\d+)/delete$', DeleteUsuarioView.as_view(), name='user_delete') url(r'^sistema/usuario/(?P<pk>\d+)/edit$',
EditUsuarioView.as_view(), name='user_edit'),
url(r'^sistema/usuario/(?P<pk>\d+)/delete$',
DeleteUsuarioView.as_view(), name='user_delete')
] ]
alterar_senha = [ alterar_senha = [
@ -70,6 +74,8 @@ recuperar_senha = [
urlpatterns = [ urlpatterns = [
url(r'^sistema/expressao-textual/', include(ExpressaoTextualCrud.get_urls())),
url(r'^sistema/autor/tipo/', include(TipoAutorCrud.get_urls())), url(r'^sistema/autor/tipo/', include(TipoAutorCrud.get_urls())),
url(r'^sistema/autor/', include(AutorCrud.get_urls())), url(r'^sistema/autor/', include(AutorCrud.get_urls())),

34
sapl/base/views.py

@ -13,7 +13,6 @@ from django.template import TemplateDoesNotExist
from django.template.loader import get_template from django.template.loader import get_template
from django.utils.encoding import force_bytes from django.utils.encoding import force_bytes
from django.utils.http import urlsafe_base64_decode, urlsafe_base64_encode from django.utils.http import urlsafe_base64_decode, urlsafe_base64_encode
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import string_concat from django.utils.translation import string_concat
from django.views.generic import (CreateView, DeleteView, FormView, ListView, from django.views.generic import (CreateView, DeleteView, FormView, ListView,
UpdateView) UpdateView)
@ -23,12 +22,14 @@ from haystack.views import SearchView
from sapl import settings from sapl import settings
from sapl.base.forms import AutorForm, AutorFormForAdmin, TipoAutorForm from sapl.base.forms import AutorForm, AutorFormForAdmin, TipoAutorForm
from sapl.base.models import Autor, TipoAutor from sapl.base.models import Autor, TipoAutor, ExpressaoTextual
from sapl.crud.base import CrudAux, make_pagination from sapl.crud.base import CrudAux, make_pagination, Crud
from sapl.materia.models import (Autoria, MateriaLegislativa, from sapl.materia.models import (Autoria, MateriaLegislativa,
TipoMateriaLegislativa) TipoMateriaLegislativa)
from sapl.rules.apps import AppConfig as RulesAppConfig
from sapl.sessao.models import (PresencaOrdemDia, SessaoPlenaria, from sapl.sessao.models import (PresencaOrdemDia, SessaoPlenaria,
SessaoPlenariaPresenca) SessaoPlenariaPresenca)
from sapl.translation import ugettext_lazy as _, sapl_expressions
from sapl.utils import (parlamentares_ativos, sapl_logger, from sapl.utils import (parlamentares_ativos, sapl_logger,
show_results_filter_set) show_results_filter_set)
@ -60,6 +61,33 @@ class ConfirmarEmailView(TemplateView):
return self.render_to_response(context) return self.render_to_response(context)
class ExpressaoTextualCrud(Crud):
model = ExpressaoTextual
CreateView = None
DeleteView = None
class BaseMixin(Crud.BaseMixin):
list_field_names = ['value', 'custom']
create_url = ''
delete_url = ''
cancel_url = Crud.BaseMixin.list_url
class UpdateView(Crud.UpdateView):
def post(self, request, *args, **kwargs):
response = Crud.UpdateView.post(self, request, *args, **kwargs)
sapl_expressions.rebuild_expressao(self.object)
return response
class DetailView(Crud.DetailView):
def get(self, request, *args, **kwargs):
return HttpResponseRedirect(
reverse('sapl.base:expressaotextual_update', kwargs=kwargs))
class ListView(Crud.ListView):
paginate_by = 30
class TipoAutorCrud(CrudAux): class TipoAutorCrud(CrudAux):
model = TipoAutor model = TipoAutor
help_topic = 'tipo-autor' help_topic = 'tipo-autor'

2
sapl/comissoes/apps.py

@ -1,5 +1,5 @@
from django import apps from django import apps
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
class AppConfig(apps.AppConfig): class AppConfig(apps.AppConfig):

2
sapl/comissoes/forms.py

@ -4,7 +4,7 @@ from django.core.exceptions import ValidationError
from django.db import transaction from django.db import transaction
from django.db.models import Q from django.db.models import Q
from django.forms import ModelForm from django.forms import ModelForm
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from sapl.base.models import Autor, TipoAutor from sapl.base.models import Autor, TipoAutor
from sapl.comissoes.models import (Comissao, Composicao, DocumentoAcessorio, from sapl.comissoes.models import (Comissao, Composicao, DocumentoAcessorio,

2
sapl/comissoes/models.py

@ -1,6 +1,6 @@
import reversion import reversion
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from model_utils import Choices from model_utils import Choices
from sapl.base.models import Autor from sapl.base.models import Autor

2
sapl/comissoes/tests/test_comissoes.py

@ -1,6 +1,6 @@
import pytest import pytest
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _ from sapl.translation import ugettext as _
from model_mommy import mommy from model_mommy import mommy
from sapl.comissoes.models import Comissao, Composicao, Periodo, TipoComissao, Reuniao from sapl.comissoes.models import Comissao, Composicao, Periodo, TipoComissao, Reuniao

2
sapl/compilacao/apps.py

@ -4,7 +4,7 @@ from django import apps
from django.conf import settings from django.conf import settings
from django.db import connection, models from django.db import connection, models
from django.db.utils import DEFAULT_DB_ALIAS, IntegrityError from django.db.utils import DEFAULT_DB_ALIAS, IntegrityError
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from django.utils.translation import string_concat from django.utils.translation import string_concat
from sapl.settings import BASE_DIR from sapl.settings import BASE_DIR

2
sapl/compilacao/forms.py

@ -13,7 +13,7 @@ from django.forms import widgets
from django.forms.forms import Form from django.forms.forms import Form
from django.forms.models import ModelForm from django.forms.models import ModelForm
from django.template import defaultfilters from django.template import defaultfilters
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from sapl import utils from sapl import utils
from sapl.compilacao.models import (NOTAS_PUBLICIDADE_CHOICES, from sapl.compilacao.models import (NOTAS_PUBLICIDADE_CHOICES,

2
sapl/compilacao/models.py

@ -11,7 +11,7 @@ from django.template import defaultfilters
from django.utils import timezone from django.utils import timezone
from django.utils.decorators import classonlymethod from django.utils.decorators import classonlymethod
from django.utils.encoding import force_text from django.utils.encoding import force_text
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
import reversion import reversion
from sapl.compilacao.utils import (get_integrations_view_names, int_to_letter, from sapl.compilacao.utils import (get_integrations_view_names, int_to_letter,

2
sapl/compilacao/templatetags/compilacao_filters.py

@ -3,7 +3,7 @@ from django import template
from django.core.signing import Signer from django.core.signing import Signer
from django.db.models import Q from django.db.models import Q
from django.utils.safestring import mark_safe from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from sapl.compilacao.models import Dispositivo from sapl.compilacao.models import Dispositivo

2
sapl/compilacao/tests/test_tipo_texto_articulado_form.py

@ -1,5 +1,5 @@
import pytest import pytest
from django.utils.translation import ugettext as _ from sapl.translation import ugettext as _
from model_mommy import mommy from model_mommy import mommy
from sapl.compilacao import forms from sapl.compilacao import forms

2
sapl/compilacao/views.py

@ -20,7 +20,7 @@ from django.shortcuts import get_object_or_404, redirect
from django.utils.dateparse import parse_date from django.utils.dateparse import parse_date
from django.utils.encoding import force_text from django.utils.encoding import force_text
from django.utils.translation import string_concat from django.utils.translation import string_concat
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from django.views.generic.base import TemplateView from django.views.generic.base import TemplateView
from django.views.generic.detail import DetailView from django.views.generic.detail import DetailView
from django.views.generic.edit import (CreateView, DeleteView, FormView, from django.views.generic.edit import (CreateView, DeleteView, FormView,

5
sapl/crispy_layout_mixin.py

@ -1,13 +1,14 @@
from math import ceil from math import ceil
import rtyaml
from crispy_forms.bootstrap import FormActions from crispy_forms.bootstrap import FormActions
from crispy_forms.helper import FormHelper from crispy_forms.helper import FormHelper
from crispy_forms.layout import HTML, Div, Fieldset, Layout, Submit from crispy_forms.layout import HTML, Div, Fieldset, Layout, Submit
from django import template from django import template
from django.core.urlresolvers import reverse, reverse_lazy from django.core.urlresolvers import reverse, reverse_lazy
from django.utils import formats from django.utils import formats
from django.utils.translation import ugettext as _ import rtyaml
from sapl.translation import ugettext_lazy as _
def heads_and_tails(list_of_lists): def heads_and_tails(list_of_lists):

2
sapl/crud/base.py

@ -17,7 +17,7 @@ from django.http.response import Http404
from django.shortcuts import redirect from django.shortcuts import redirect
from django.utils.decorators import classonlymethod from django.utils.decorators import classonlymethod
from django.utils.encoding import force_text from django.utils.encoding import force_text
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from django.utils.translation import string_concat from django.utils.translation import string_concat
from django.views.generic import (CreateView, DeleteView, DetailView, ListView, from django.views.generic import (CreateView, DeleteView, DetailView, ListView,
UpdateView) UpdateView)

2
sapl/decorators.py

@ -1,7 +1,7 @@
from functools import wraps from functools import wraps
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
def vigencia_atual(decorated_method): def vigencia_atual(decorated_method):

2
sapl/lexml/apps.py

@ -1,5 +1,5 @@
from django import apps from django import apps
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
class AppConfig(apps.AppConfig): class AppConfig(apps.AppConfig):

2
sapl/lexml/models.py

@ -1,6 +1,6 @@
import reversion import reversion
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
@reversion.register() @reversion.register()

2
sapl/materia/apps.py

@ -1,5 +1,5 @@
from django import apps from django import apps
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
class AppConfig(apps.AppConfig): class AppConfig(apps.AppConfig):

2
sapl/materia/forms.py

@ -21,7 +21,7 @@ from django.utils import timezone
from django.utils.encoding import force_text from django.utils.encoding import force_text
from django.utils.html import format_html from django.utils.html import format_html
from django.utils.safestring import mark_safe from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
import sapl import sapl
from sapl.base.models import AppConfig, Autor, TipoAutor from sapl.base.models import AppConfig, Autor, TipoAutor

2
sapl/materia/models.py

@ -7,7 +7,7 @@ from django.db import models
from django.db.models.functions import Concat from django.db.models.functions import Concat
from django.template import defaultfilters from django.template import defaultfilters
from django.utils import formats, timezone from django.utils import formats, timezone
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from model_utils import Choices from model_utils import Choices
import reversion import reversion

2
sapl/materia/tests/test_materia_form.py

@ -1,5 +1,5 @@
import pytest import pytest
from django.utils.translation import ugettext as _ from sapl.translation import ugettext as _
from model_mommy import mommy from model_mommy import mommy
from sapl.materia import forms from sapl.materia import forms

2
sapl/materia/views.py

@ -15,7 +15,7 @@ from django.http.response import Http404, HttpResponseRedirect
from django.shortcuts import get_object_or_404, redirect from django.shortcuts import get_object_or_404, redirect
from django.template import RequestContext, loader from django.template import RequestContext, loader
from django.utils import formats, timezone from django.utils import formats, timezone
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from django.views.generic import ListView, TemplateView, CreateView, UpdateView from django.views.generic import ListView, TemplateView, CreateView, UpdateView
from django.views.generic.base import RedirectView from django.views.generic.base import RedirectView
from django.views.generic.edit import FormView from django.views.generic.edit import FormView

2
sapl/norma/apps.py

@ -1,5 +1,5 @@
from django import apps from django import apps
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
class AppConfig(apps.AppConfig): class AppConfig(apps.AppConfig):

2
sapl/norma/forms.py

@ -7,7 +7,7 @@ from django.core.exceptions import ObjectDoesNotExist, ValidationError
from django.db import models from django.db import models
from django.forms import ModelForm, widgets from django.forms import ModelForm, widgets
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from sapl.crispy_layout_mixin import form_actions, to_row from sapl.crispy_layout_mixin import form_actions, to_row
from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa

30
sapl/norma/migrations/0013_auto_20180824_2301.py

@ -0,0 +1,30 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.13 on 2018-08-25 02:01
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('norma', '0012_anexonormajuridica'),
]
operations = [
migrations.AlterModelOptions(
name='anexonormajuridica',
options={'verbose_name': 'Anexo da Norma Jurídica', 'verbose_name_plural': 'Anexos da Norma Jurídica'},
),
migrations.AlterField(
model_name='anexonormajuridica',
name='norma',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='norma', to='norma.NormaJuridica', verbose_name='Norma Jurídica'),
),
migrations.AlterField(
model_name='normajuridica',
name='tipo',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='norma.TipoNormaJuridica', verbose_name='Tipo da Norma Jurídica'),
),
]

10
sapl/norma/models.py

@ -1,12 +1,12 @@
from django.contrib.contenttypes.fields import GenericRelation from django.contrib.contenttypes.fields import GenericRelation
from django.db import models from django.db import models
from django.template import defaultfilters from django.template import defaultfilters
from django.utils.translation import ugettext_lazy as _
from model_utils import Choices from model_utils import Choices
import reversion import reversion
from sapl.compilacao.models import TextoArticulado from sapl.compilacao.models import TextoArticulado
from sapl.materia.models import MateriaLegislativa from sapl.materia.models import MateriaLegislativa
from sapl.translation import ugettext_lazy as _
from sapl.utils import (RANGE_ANOS, YES_NO_CHOICES, from sapl.utils import (RANGE_ANOS, YES_NO_CHOICES,
restringe_tipos_de_arquivo_txt, texto_upload_path) restringe_tipos_de_arquivo_txt, texto_upload_path)
@ -82,7 +82,7 @@ class NormaJuridica(models.Model):
tipo = models.ForeignKey( tipo = models.ForeignKey(
TipoNormaJuridica, TipoNormaJuridica,
on_delete=models.PROTECT, on_delete=models.PROTECT,
verbose_name=_('Tipo da Norma Juridica')) verbose_name=_('Tipo da Norma Jurídica'))
materia = models.ForeignKey( materia = models.ForeignKey(
MateriaLegislativa, blank=True, null=True, MateriaLegislativa, blank=True, null=True,
on_delete=models.PROTECT, verbose_name=_('Matéria')) on_delete=models.PROTECT, verbose_name=_('Matéria'))
@ -271,7 +271,7 @@ class AnexoNormaJuridica(models.Model):
NormaJuridica, NormaJuridica,
related_name='norma', related_name='norma',
on_delete=models.PROTECT, on_delete=models.PROTECT,
verbose_name=_('Norma Juridica')) verbose_name=_('Norma Jurídica'))
anexo_arquivo = models.FileField( anexo_arquivo = models.FileField(
blank=True, blank=True,
null=True, null=True,
@ -282,8 +282,8 @@ class AnexoNormaJuridica(models.Model):
choices=RANGE_ANOS) choices=RANGE_ANOS)
class Meta: class Meta:
verbose_name = _('Anexo da Norma Juridica') verbose_name = _('Anexo da Norma Jurídica')
verbose_name_plural = _('Anexos da Norma Juridica') verbose_name_plural = _('Anexos da Norma Jurídica')
def __str__(self): def __str__(self):
return _('Anexo: %(anexo)s da norma %(norma)s') % { return _('Anexo: %(anexo)s da norma %(norma)s') % {

2
sapl/norma/tests/test_norma.py

@ -1,6 +1,6 @@
import pytest import pytest
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from model_mommy import mommy from model_mommy import mommy
from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa

2
sapl/norma/views.py

@ -7,7 +7,7 @@ from django.core.urlresolvers import reverse
from django.http import HttpResponse, JsonResponse from django.http import HttpResponse, JsonResponse
from django.template import RequestContext, loader from django.template import RequestContext, loader
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from django.views.generic import TemplateView, UpdateView from django.views.generic import TemplateView, UpdateView
from django.views.generic.base import RedirectView from django.views.generic.base import RedirectView
from django.views.generic.edit import FormView from django.views.generic.edit import FormView

2
sapl/painel/apps.py

@ -1,5 +1,5 @@
from django import apps from django import apps
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
class AppConfig(apps.AppConfig): class AppConfig(apps.AppConfig):

2
sapl/painel/models.py

@ -1,6 +1,6 @@
import reversion import reversion
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
@reversion.register() @reversion.register()

2
sapl/painel/views.py

@ -10,7 +10,7 @@ from django.http import HttpResponse, JsonResponse
from django.http.response import Http404, HttpResponseRedirect from django.http.response import Http404, HttpResponseRedirect
from django.shortcuts import render from django.shortcuts import render
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from sapl.base.models import AppConfig as ConfiguracoesAplicacao from sapl.base.models import AppConfig as ConfiguracoesAplicacao
from sapl.base.models import CasaLegislativa from sapl.base.models import CasaLegislativa

2
sapl/parlamentares/apps.py

@ -1,5 +1,5 @@
from django import apps from django import apps
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
class AppConfig(apps.AppConfig): class AppConfig(apps.AppConfig):

2
sapl/parlamentares/forms.py

@ -11,7 +11,7 @@ from django.db import transaction
from django.db.models import Q from django.db.models import Q
from django.forms import ModelForm from django.forms import ModelForm
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from floppyforms.widgets import ClearableFileInput from floppyforms.widgets import ClearableFileInput
from image_cropping.widgets import CropWidget, ImageCropWidget from image_cropping.widgets import CropWidget, ImageCropWidget

2
sapl/parlamentares/models.py

@ -2,7 +2,7 @@
import reversion import reversion
from django.db import models from django.db import models
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from image_cropping.fields import ImageCropField, ImageRatioField from image_cropping.fields import ImageCropField, ImageRatioField
from model_utils import Choices from model_utils import Choices

2
sapl/parlamentares/tests/test_parlamentares.py

@ -1,6 +1,6 @@
import pytest import pytest
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from model_mommy import mommy from model_mommy import mommy
from sapl.parlamentares.forms import FrenteForm, LegislaturaForm, MandatoForm from sapl.parlamentares.forms import FrenteForm, LegislaturaForm, MandatoForm

2
sapl/parlamentares/views.py

@ -12,7 +12,7 @@ from django.http.response import HttpResponseRedirect
from django.templatetags.static import static from django.templatetags.static import static
from django.utils import timezone from django.utils import timezone
from django.utils.datastructures import MultiValueDictKeyError from django.utils.datastructures import MultiValueDictKeyError
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from django.views.decorators.clickjacking import xframe_options_exempt from django.views.decorators.clickjacking import xframe_options_exempt
from django.views.generic import FormView from django.views.generic import FormView
from django.views.generic.edit import UpdateView from django.views.generic.edit import UpdateView

2
sapl/protocoloadm/apps.py

@ -1,5 +1,5 @@
from django import apps from django import apps
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
class AppConfig(apps.AppConfig): class AppConfig(apps.AppConfig):

35
sapl/protocoloadm/forms.py

@ -1,5 +1,4 @@
import django_filters
from crispy_forms.bootstrap import InlineRadios from crispy_forms.bootstrap import InlineRadios
from crispy_forms.helper import FormHelper from crispy_forms.helper import FormHelper
from crispy_forms.layout import HTML, Button, Fieldset, Layout from crispy_forms.layout import HTML, Button, Fieldset, Layout
@ -10,12 +9,13 @@ from django.db import models
from django.db.models import Max from django.db.models import Max
from django.forms import ModelForm from django.forms import ModelForm
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ import django_filters
from sapl.base.models import Autor, TipoAutor from sapl.base.models import Autor, TipoAutor
from sapl.crispy_layout_mixin import SaplFormLayout, form_actions, to_row from sapl.crispy_layout_mixin import SaplFormLayout, form_actions, to_row
from sapl.materia.models import (MateriaLegislativa, TipoMateriaLegislativa, from sapl.materia.models import (MateriaLegislativa, TipoMateriaLegislativa,
UnidadeTramitacao) UnidadeTramitacao)
from sapl.translation import ugettext_lazy as _
from sapl.utils import (RANGE_ANOS, YES_NO_CHOICES, AnoNumeroOrderingFilter, from sapl.utils import (RANGE_ANOS, YES_NO_CHOICES, AnoNumeroOrderingFilter,
RangeWidgetOverride, autor_label, autor_modal) RangeWidgetOverride, autor_label, autor_modal)
@ -23,8 +23,11 @@ from .models import (DocumentoAcessorioAdministrativo, DocumentoAdministrativo,
Protocolo, TipoDocumentoAdministrativo, Protocolo, TipoDocumentoAdministrativo,
TramitacaoAdministrativo) TramitacaoAdministrativo)
TIPOS_PROTOCOLO = [('0', 'Recebido'), ('1', 'Enviado'), ('2', 'Interno'), ('', '---------')]
TIPOS_PROTOCOLO_CREATE = [('0', 'Recebido'), ('1', 'Enviado'), ('2', 'Interno')] TIPOS_PROTOCOLO = [('0', 'Recebido'), ('1', 'Enviado'),
('2', 'Interno'), ('', '---------')]
TIPOS_PROTOCOLO_CREATE = [
('0', 'Recebido'), ('1', 'Enviado'), ('2', 'Interno')]
NATUREZA_PROCESSO = [('', '---------'), NATUREZA_PROCESSO = [('', '---------'),
('0', 'Administrativo'), ('0', 'Administrativo'),
@ -142,7 +145,7 @@ class DocumentoAdministrativoFilterSet(django_filters.FilterSet):
choices=ANO_CHOICES) choices=ANO_CHOICES)
tramitacao = django_filters.ChoiceFilter(required=False, tramitacao = django_filters.ChoiceFilter(required=False,
label='Em Tramitação?', label=_('Em Tramitação?'),
choices=EM_TRAMITACAO) choices=EM_TRAMITACAO)
assunto = django_filters.CharFilter(lookup_expr='icontains') assunto = django_filters.CharFilter(lookup_expr='icontains')
@ -197,16 +200,15 @@ class DocumentoAdministrativoFilterSet(django_filters.FilterSet):
Fieldset(_('Pesquisar Documento'), Fieldset(_('Pesquisar Documento'),
row1, row2, row1, row2,
row3, row4, row5, row3, row4, row5,
form_actions(label='Pesquisar')) form_actions(label=_('Pesquisar')))
) )
class AnularProcoloAdmForm(ModelForm): class AnularProcoloAdmForm(ModelForm):
numero = forms.CharField(required=True, numero = forms.CharField(required=True,
label=Protocolo._meta. label=Protocolo._meta.get_field(
get_field('numero').verbose_name 'numero').verbose_name)
)
ano = forms.ChoiceField(required=True, ano = forms.ChoiceField(required=True,
label=Protocolo._meta. label=Protocolo._meta.
get_field('ano').verbose_name, get_field('ano').verbose_name,
@ -312,7 +314,8 @@ class ProtocoloDocumentForm(ModelForm):
observacao = forms.CharField(required=False, observacao = forms.CharField(required=False,
widget=forms.Textarea, label='Observação') widget=forms.Textarea, label='Observação')
numero = forms.IntegerField(required=False, label='Número de Protocolo (opcional)') numero = forms.IntegerField(
required=False, label='Número de Protocolo (opcional)')
class Meta: class Meta:
model = Protocolo model = Protocolo
@ -399,7 +402,8 @@ class ProtocoloMateriaForm(ModelForm):
assunto_ementa = forms.CharField(required=True, assunto_ementa = forms.CharField(required=True,
widget=forms.Textarea, label='Ementa') widget=forms.Textarea, label='Ementa')
numero = forms.IntegerField(required=False, label='Número de Protocolo (opcional)') numero = forms.IntegerField(
required=False, label='Número de Protocolo (opcional)')
class Meta: class Meta:
model = Protocolo model = Protocolo
@ -445,7 +449,8 @@ class ProtocoloMateriaForm(ModelForm):
raise ValidationError(_('Matéria Legislativa informada já possui o protocolo {}/{} vinculado.' raise ValidationError(_('Matéria Legislativa informada já possui o protocolo {}/{} vinculado.'
.format(self.materia.numero_protocolo, self.materia.ano))) .format(self.materia.numero_protocolo, self.materia.ano)))
except ObjectDoesNotExist: except ObjectDoesNotExist:
raise ValidationError(_('Matéria Legislativa informada não existente.')) raise ValidationError(
_('Matéria Legislativa informada não existente.'))
return data return data
@ -786,7 +791,8 @@ class DesvincularDocumentoForm(ModelForm):
tipo = cleaned_data['tipo'] tipo = cleaned_data['tipo']
try: try:
documento = DocumentoAdministrativo.objects.get(numero=numero, ano=ano, tipo=tipo) documento = DocumentoAdministrativo.objects.get(
numero=numero, ano=ano, tipo=tipo)
if not documento.protocolo: if not documento.protocolo:
raise forms.ValidationError( raise forms.ValidationError(
_("%s %s/%s não se encontra vinculado a nenhum protocolo" % (tipo, numero, ano))) _("%s %s/%s não se encontra vinculado a nenhum protocolo" % (tipo, numero, ano)))
@ -848,7 +854,8 @@ class DesvincularMateriaForm(forms.Form):
tipo = cleaned_data['tipo'] tipo = cleaned_data['tipo']
try: try:
materia = MateriaLegislativa.objects.get(numero=numero, ano=ano, tipo=tipo) materia = MateriaLegislativa.objects.get(
numero=numero, ano=ano, tipo=tipo)
if not materia.numero_protocolo: if not materia.numero_protocolo:
raise forms.ValidationError( raise forms.ValidationError(
_("%s %s/%s não se encontra vinculada a nenhum protocolo" % (tipo, numero, ano))) _("%s %s/%s não se encontra vinculada a nenhum protocolo" % (tipo, numero, ano)))

2
sapl/protocoloadm/models.py

@ -1,7 +1,7 @@
import reversion import reversion
from django.db import models from django.db import models
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from model_utils import Choices from model_utils import Choices
from sapl.base.models import Autor from sapl.base.models import Autor

2
sapl/protocoloadm/tests/test_protocoloadm.py

@ -3,7 +3,7 @@ from datetime import date, timedelta
import pytest import pytest
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.encoding import force_text from django.utils.encoding import force_text
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from model_mommy import mommy from model_mommy import mommy
from sapl.materia.models import UnidadeTramitacao from sapl.materia.models import UnidadeTramitacao

2
sapl/protocoloadm/views.py

@ -11,7 +11,7 @@ from django.http import Http404, HttpResponse, JsonResponse
from django.http.response import HttpResponseRedirect from django.http.response import HttpResponseRedirect
from django.shortcuts import redirect from django.shortcuts import redirect
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from django.views.generic import ListView, CreateView from django.views.generic import ListView, CreateView
from django.views.generic.base import RedirectView, TemplateView from django.views.generic.base import RedirectView, TemplateView
from django.views.generic.edit import FormView from django.views.generic.edit import FormView

2
sapl/redireciona_urls/apps.py

@ -1,5 +1,5 @@
from django import apps from django import apps
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
class AppConfig(apps.AppConfig): class AppConfig(apps.AppConfig):

2
sapl/redireciona_urls/exceptions.py

@ -1,4 +1,4 @@
from django.utils.translation import ugettext as _ from sapl.translation import ugettext_lazy as _
class UnknownUrlNameError(Exception): class UnknownUrlNameError(Exception):

2
sapl/relatorios/apps.py

@ -1,5 +1,5 @@
from django import apps from django import apps
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
class AppConfig(apps.AppConfig): class AppConfig(apps.AppConfig):

2
sapl/relatorios/views.py

@ -5,7 +5,7 @@ from datetime import datetime as dt
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from django.http import Http404, HttpResponse from django.http import Http404, HttpResponse
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from sapl.base.models import Autor, CasaLegislativa from sapl.base.models import Autor, CasaLegislativa
from sapl.comissoes.models import Comissao from sapl.comissoes.models import Comissao

2
sapl/rules/__init__.py

@ -1,4 +1,4 @@
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
default_app_config = 'sapl.rules.apps.AppConfig' default_app_config = 'sapl.rules.apps.AppConfig'

10
sapl/rules/apps.py

@ -1,23 +1,23 @@
from builtins import LookupError from builtins import LookupError
import sys
import django from django import apps
from django.apps import apps
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.contrib.auth.management import _get_all_permissions from django.contrib.auth.management import _get_all_permissions
from django.core import exceptions from django.core import exceptions
from django.db import models, router from django.db import models, router
from django.db.utils import DEFAULT_DB_ALIAS from django.db.utils import DEFAULT_DB_ALIAS
from django.utils.translation import string_concat from django.utils.translation import string_concat
from django.utils.translation import ugettext_lazy as _
import reversion import reversion
from sapl.rules import (SAPL_GROUP_ADMINISTRATIVO, SAPL_GROUP_COMISSOES, from sapl.rules import (SAPL_GROUP_ADMINISTRATIVO, SAPL_GROUP_COMISSOES,
SAPL_GROUP_GERAL, SAPL_GROUP_MATERIA, SAPL_GROUP_NORMA, SAPL_GROUP_GERAL, SAPL_GROUP_MATERIA, SAPL_GROUP_NORMA,
SAPL_GROUP_PAINEL, SAPL_GROUP_PROTOCOLO, SAPL_GROUP_PAINEL, SAPL_GROUP_PROTOCOLO,
SAPL_GROUP_SESSAO) SAPL_GROUP_SESSAO)
from sapl.translation import ugettext_lazy as _
class AppConfig(django.apps.AppConfig): class AppConfig(apps.AppConfig):
name = 'sapl.rules' name = 'sapl.rules'
label = 'rules' label = 'rules'
verbose_name = _('Regras de Acesso') verbose_name = _('Regras de Acesso')
@ -32,7 +32,7 @@ def create_proxy_permissions(
# print(app_config) # print(app_config)
try: try:
Permission = apps.get_model('auth', 'Permission') Permission = apps.apps.get_model('auth', 'Permission')
except LookupError: except LookupError:
return return

2
sapl/rules/tests/test_rules.py

@ -4,7 +4,7 @@ from django.conf import settings
from django.contrib.auth.models import Permission from django.contrib.auth.models import Permission
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.utils import six from django.utils import six
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from sapl.base.models import CasaLegislativa from sapl.base.models import CasaLegislativa
from sapl.compilacao.models import (PerfilEstruturalTextoArticulado, from sapl.compilacao.models import (PerfilEstruturalTextoArticulado,

2
sapl/sessao/apps.py

@ -1,5 +1,5 @@
from django import apps from django import apps
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
class AppConfig(apps.AppConfig): class AppConfig(apps.AppConfig):

2
sapl/sessao/forms.py

@ -8,7 +8,7 @@ from django.contrib.contenttypes.models import ContentType
from django.core.exceptions import ObjectDoesNotExist, ValidationError from django.core.exceptions import ObjectDoesNotExist, ValidationError
from django.db import transaction from django.db import transaction
from django.forms import ModelForm from django.forms import ModelForm
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from sapl.base.models import Autor, TipoAutor from sapl.base.models import Autor, TipoAutor
from sapl.crispy_layout_mixin import form_actions, to_row from sapl.crispy_layout_mixin import form_actions, to_row

2
sapl/sessao/models.py

@ -3,7 +3,7 @@ from operator import xor
import reversion import reversion
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from model_utils import Choices from model_utils import Choices
from sapl.base.models import Autor from sapl.base.models import Autor

2
sapl/sessao/tests/test_sessao.py

@ -1,7 +1,7 @@
import pytest import pytest
from datetime import datetime from datetime import datetime
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from model_mommy import mommy from model_mommy import mommy
from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa

2
sapl/sessao/tests/test_sessao_view.py

@ -1,6 +1,6 @@
import pytest import pytest
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from model_mommy import mommy from model_mommy import mommy
from sapl.parlamentares.models import Legislatura, SessaoLegislativa from sapl.parlamentares.models import Legislatura, SessaoLegislativa

2
sapl/sessao/views.py

@ -14,7 +14,7 @@ from django.utils import timezone
from django.utils.datastructures import MultiValueDictKeyError from django.utils.datastructures import MultiValueDictKeyError
from django.utils.decorators import method_decorator from django.utils.decorators import method_decorator
from django.utils.html import strip_tags from django.utils.html import strip_tags
from django.utils.translation import ugettext_lazy as _ from sapl.translation import ugettext_lazy as _
from django.views.decorators.csrf import csrf_exempt from django.views.decorators.csrf import csrf_exempt
from django.views.generic import FormView, ListView, TemplateView, CreateView, UpdateView from django.views.generic import FormView, ListView, TemplateView, CreateView, UpdateView
from django.views.generic.base import RedirectView from django.views.generic.base import RedirectView

2
sapl/templates/ajuda.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n crispy_forms_tags %} {% load i18n_sapl crispy_forms_tags %}
{% block base_content %} {% block base_content %}
<div class="conteudo"> <div class="conteudo">

2
sapl/templates/ajuda/acessando_alimenta.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/acomp_materia.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/anexos.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n crispy_forms_tags %} {% load i18n_sapl crispy_forms_tags %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/autor.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/cadastro_comissoes.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/cadastro_materia.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/cadastro_mesa_diretora.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/cadastro_parlamentares.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/cargo_comissao.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/cargo_mesa.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/casa_legislativa.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/coligacao.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/consultas.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/dependentes.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/despacho_autoria.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/envio_proposicao.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/filiacoes_partidarias.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/fim_relatoria.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/gerenciamento_usuarios.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/glossario.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/impressos.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/legislacao_cita_matanexada.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/legislatura.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/lexml.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/mandatos_parlamentar.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/materia_anexada.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/modulo_comissoes.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

2
sapl/templates/ajuda/modulo_mesa_diretora.html

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n_sapl %}
{% block base_content %} {% block base_content %}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save