diff --git a/sapl/api/apps.py b/sapl/api/apps.py index ced7e511b..d643d8967 100644 --- a/sapl/api/apps.py +++ b/sapl/api/apps.py @@ -1,5 +1,5 @@ from django import apps -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ class AppConfig(apps.AppConfig): diff --git a/sapl/api/forms.py b/sapl/api/forms.py index 94bc80de4..940eaf47b 100644 --- a/sapl/api/forms.py +++ b/sapl/api/forms.py @@ -2,7 +2,7 @@ from django.db.models import Q from django.forms.fields import CharField, MultiValueField from django.forms.widgets import MultiWidget, TextInput 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 rest_framework import serializers from rest_framework.compat import django_filters diff --git a/sapl/api/views.py b/sapl/api/views.py index 9853e6af0..7f4f5f9cd 100644 --- a/sapl/api/views.py +++ b/sapl/api/views.py @@ -1,7 +1,7 @@ from django.contrib.contenttypes.models import ContentType from django.db.models import Q 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.generics import ListAPIView from rest_framework.mixins import ListModelMixin, RetrieveModelMixin diff --git a/sapl/audiencia/apps.py b/sapl/audiencia/apps.py index e9b3c890f..7b5121d98 100644 --- a/sapl/audiencia/apps.py +++ b/sapl/audiencia/apps.py @@ -1,5 +1,5 @@ from django import apps -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ class AppConfig(apps.AppConfig): diff --git a/sapl/audiencia/forms.py b/sapl/audiencia/forms.py index 9312a237b..616f5edee 100644 --- a/sapl/audiencia/forms.py +++ b/sapl/audiencia/forms.py @@ -1,7 +1,7 @@ from django import forms from django.core.exceptions import ObjectDoesNotExist, ValidationError 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.materia.models import MateriaLegislativa, TipoMateriaLegislativa from sapl.utils import timezone diff --git a/sapl/audiencia/models.py b/sapl/audiencia/models.py index 477a442d9..1a1d3fcfc 100644 --- a/sapl/audiencia/models.py +++ b/sapl/audiencia/models.py @@ -1,6 +1,6 @@ import reversion 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 sapl.materia.models import MateriaLegislativa from sapl.parlamentares.models import (CargoMesa, Parlamentar) diff --git a/sapl/base/admin.py b/sapl/base/admin.py index 88633b0fb..66adc1f09 100644 --- a/sapl/base/admin.py +++ b/sapl/base/admin.py @@ -1,7 +1,7 @@ from django.contrib import admin from django.core.urlresolvers import reverse 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 sapl.utils import register_all_models_in_admin diff --git a/sapl/base/apps.py b/sapl/base/apps.py index c3af888b7..3fda89024 100644 --- a/sapl/base/apps.py +++ b/sapl/base/apps.py @@ -1,6 +1,6 @@ import django -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ class AppConfig(django.apps.AppConfig): diff --git a/sapl/base/forms.py b/sapl/base/forms.py index 12cc43564..6719aec5c 100644 --- a/sapl/base/forms.py +++ b/sapl/base/forms.py @@ -11,7 +11,7 @@ from django.contrib.auth.models import Group, User from django.core.exceptions import ValidationError from django.db import models, transaction 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 sapl.base.models import Autor, TipoAutor diff --git a/sapl/base/migrations/0021_auto_20180825_1713.py b/sapl/base/migrations/0021_auto_20180825_1713.py new file mode 100644 index 000000000..3e4cecbf6 --- /dev/null +++ b/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'), + ), + ] diff --git a/sapl/base/migrations/0022_auto_20180825_1716.py b/sapl/base/migrations/0022_auto_20180825_1716.py new file mode 100644 index 000000000..3c25d4cb5 --- /dev/null +++ b/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'), + ), + ] diff --git a/sapl/base/models.py b/sapl/base/models.py index afd4160ed..9dc18d4f7 100644 --- a/sapl/base/models.py +++ b/sapl/base/models.py @@ -1,14 +1,17 @@ -import reversion from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.models import ContentType from django.db import models from django.db.models.signals import post_migrate from django.db.utils import DEFAULT_DB_ALIAS -from django.utils.translation import ugettext_lazy as _ -#from model_utils import Choices + +import reversion + +from sapl.translation import ugettext_lazy as _ + from sapl.utils import (LISTA_DE_UFS, YES_NO_CHOICES, get_settings_auth_user_model, models_with_gr_for_model) + TIPO_DOCUMENTO_ADMINISTRATIVO = (('O', _('Ostensiva')), ('R', _('Restritiva'))) @@ -17,9 +20,9 @@ SEQUENCIA_NUMERACAO = (('A', _('Sequencial por ano')), ('U', _('Sequencial único'))) ESFERA_FEDERACAO_CHOICES = (('M', _('Municipal')), - ('E', _('Estadual')), - ('F', _('Federal')), -) + ('E', _('Estadual')), + ('F', _('Federal')), + ) @reversion.register() @@ -29,7 +32,7 @@ class CasaLegislativa(models.Model): codigo = models.CharField(max_length=100, blank=True, - verbose_name=_('Codigo')) + verbose_name=_('Código')) nome = models.CharField(max_length=100, verbose_name=_('Nome')) sigla = models.CharField(max_length=100, verbose_name=_('Sigla')) endereco = models.CharField(max_length=100, verbose_name=_('Endereço')) @@ -64,6 +67,27 @@ class CasaLegislativa(models.Model): '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() class AppConfig(models.Model): @@ -86,7 +110,7 @@ class AppConfig(models.Model): esfera_federacao = models.CharField( max_length=1, blank=True, - default = "", + default="", verbose_name=_('Esfera Federação'), choices=ESFERA_FEDERACAO_CHOICES) diff --git a/sapl/base/templatetags/i18n_sapl.py b/sapl/base/templatetags/i18n_sapl.py new file mode 100644 index 000000000..0e43cefe3 --- /dev/null +++ b/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) diff --git a/sapl/base/templatetags/menus.py b/sapl/base/templatetags/menus.py index f90a6940f..56038ce74 100644 --- a/sapl/base/templatetags/menus.py +++ b/sapl/base/templatetags/menus.py @@ -1,7 +1,7 @@ import yaml from django import template 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 diff --git a/sapl/base/tests/test_form.py b/sapl/base/tests/test_form.py index 35f1c82bf..4438c201d 100644 --- a/sapl/base/tests/test_form.py +++ b/sapl/base/tests/test_form.py @@ -1,5 +1,5 @@ import pytest -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ from sapl.base.forms import CasaLegislativaForm diff --git a/sapl/base/tests/test_view_base.py b/sapl/base/tests/test_view_base.py index fc61ac160..7594e9cff 100644 --- a/sapl/base/tests/test_view_base.py +++ b/sapl/base/tests/test_view_base.py @@ -1,6 +1,6 @@ import pytest 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) diff --git a/sapl/base/urls.py b/sapl/base/urls.py index b52d46ad6..ae5e08859 100644 --- a/sapl/base/urls.py +++ b/sapl/base/urls.py @@ -8,7 +8,8 @@ from django.contrib.auth.views import (password_reset, password_reset_complete, password_reset_done) 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 .apps import AppConfig @@ -27,9 +28,12 @@ app_name = AppConfig.name admin_user = [ 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/(?P\d+)/edit$', EditUsuarioView.as_view(), name='user_edit'), - url(r'^sistema/usuario/(?P\d+)/delete$', DeleteUsuarioView.as_view(), name='user_delete') + url(r'^sistema/usuario/create$', + CreateUsuarioView.as_view(), name='user_create'), + url(r'^sistema/usuario/(?P\d+)/edit$', + EditUsuarioView.as_view(), name='user_edit'), + url(r'^sistema/usuario/(?P\d+)/delete$', + DeleteUsuarioView.as_view(), name='user_delete') ] alterar_senha = [ @@ -70,6 +74,8 @@ recuperar_senha = [ urlpatterns = [ + url(r'^sistema/expressao-textual/', include(ExpressaoTextualCrud.get_urls())), + url(r'^sistema/autor/tipo/', include(TipoAutorCrud.get_urls())), url(r'^sistema/autor/', include(AutorCrud.get_urls())), diff --git a/sapl/base/views.py b/sapl/base/views.py index 65330fb78..6abba7db7 100644 --- a/sapl/base/views.py +++ b/sapl/base/views.py @@ -13,7 +13,6 @@ from django.template import TemplateDoesNotExist from django.template.loader import get_template from django.utils.encoding import force_bytes 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.views.generic import (CreateView, DeleteView, FormView, ListView, UpdateView) @@ -23,12 +22,14 @@ from haystack.views import SearchView from sapl import settings from sapl.base.forms import AutorForm, AutorFormForAdmin, TipoAutorForm -from sapl.base.models import Autor, TipoAutor -from sapl.crud.base import CrudAux, make_pagination +from sapl.base.models import Autor, TipoAutor, ExpressaoTextual +from sapl.crud.base import CrudAux, make_pagination, Crud, ListWithSearchForm from sapl.materia.models import (Autoria, MateriaLegislativa, TipoMateriaLegislativa) +from sapl.rules.apps import AppConfig as RulesAppConfig from sapl.sessao.models import (PresencaOrdemDia, SessaoPlenaria, SessaoPlenariaPresenca) +from sapl.translation import ugettext_lazy as _, sapl_expressions from sapl.utils import (parlamentares_ativos, sapl_logger, show_results_filter_set) @@ -71,6 +72,35 @@ class ConfirmarEmailView(TemplateView): 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 + form_search_class = ListWithSearchForm + lookup_search = 'value__icontains' + + class TipoAutorCrud(CrudAux): model = TipoAutor help_topic = 'tipo-autor' diff --git a/sapl/comissoes/apps.py b/sapl/comissoes/apps.py index 18cb03041..92a0bd2d3 100644 --- a/sapl/comissoes/apps.py +++ b/sapl/comissoes/apps.py @@ -1,5 +1,5 @@ from django import apps -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ class AppConfig(apps.AppConfig): diff --git a/sapl/comissoes/forms.py b/sapl/comissoes/forms.py index 0353e7734..a57f55a2d 100644 --- a/sapl/comissoes/forms.py +++ b/sapl/comissoes/forms.py @@ -4,7 +4,7 @@ from django.core.exceptions import ValidationError from django.db import transaction from django.db.models import Q 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.comissoes.models import (Comissao, Composicao, DocumentoAcessorio, diff --git a/sapl/comissoes/models.py b/sapl/comissoes/models.py index 4c8c09393..4b3d3f515 100644 --- a/sapl/comissoes/models.py +++ b/sapl/comissoes/models.py @@ -1,6 +1,6 @@ import reversion 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 sapl.base.models import Autor diff --git a/sapl/compilacao/apps.py b/sapl/compilacao/apps.py index 96bd10b87..49b2c0e6e 100644 --- a/sapl/compilacao/apps.py +++ b/sapl/compilacao/apps.py @@ -4,7 +4,7 @@ from django import apps from django.conf import settings from django.db import connection, models 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 sapl.settings import BASE_DIR diff --git a/sapl/compilacao/forms.py b/sapl/compilacao/forms.py index 6407f8925..9143c26f4 100644 --- a/sapl/compilacao/forms.py +++ b/sapl/compilacao/forms.py @@ -13,7 +13,7 @@ from django.forms import widgets from django.forms.forms import Form from django.forms.models import ModelForm 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.compilacao.models import (NOTAS_PUBLICIDADE_CHOICES, diff --git a/sapl/compilacao/models.py b/sapl/compilacao/models.py index ff6cbdab1..081c23f91 100644 --- a/sapl/compilacao/models.py +++ b/sapl/compilacao/models.py @@ -11,7 +11,7 @@ from django.template import defaultfilters from django.utils import timezone from django.utils.decorators import classonlymethod from django.utils.encoding import force_text -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ import reversion from sapl.compilacao.utils import (get_integrations_view_names, int_to_letter, diff --git a/sapl/compilacao/templatetags/compilacao_filters.py b/sapl/compilacao/templatetags/compilacao_filters.py index e56478bae..37fd05766 100644 --- a/sapl/compilacao/templatetags/compilacao_filters.py +++ b/sapl/compilacao/templatetags/compilacao_filters.py @@ -3,7 +3,7 @@ from django import template from django.core.signing import Signer from django.db.models import Q 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 diff --git a/sapl/compilacao/views.py b/sapl/compilacao/views.py index a9ebf3fa4..4002d4337 100644 --- a/sapl/compilacao/views.py +++ b/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.encoding import force_text 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.detail import DetailView from django.views.generic.edit import (CreateView, DeleteView, FormView, diff --git a/sapl/crispy_layout_mixin.py b/sapl/crispy_layout_mixin.py index 9b2f0867b..020353c1a 100644 --- a/sapl/crispy_layout_mixin.py +++ b/sapl/crispy_layout_mixin.py @@ -1,13 +1,14 @@ from math import ceil -import rtyaml from crispy_forms.bootstrap import FormActions from crispy_forms.helper import FormHelper from crispy_forms.layout import HTML, Div, Fieldset, Layout, Submit from django import template from django.core.urlresolvers import reverse, reverse_lazy 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): diff --git a/sapl/crud/base.py b/sapl/crud/base.py index 739fc4f37..e8a1a658a 100644 --- a/sapl/crud/base.py +++ b/sapl/crud/base.py @@ -17,7 +17,6 @@ from django.http.response import Http404 from django.shortcuts import redirect from django.utils.decorators import classonlymethod from django.utils.encoding import force_text -from django.utils.translation import ugettext_lazy as _ from django.utils.translation import string_concat from django.views.generic import (CreateView, DeleteView, DetailView, ListView, UpdateView) @@ -28,8 +27,10 @@ from sapl.crispy_layout_mixin import CrispyLayoutFormMixin, get_field_display from sapl.rules.map_rules import (RP_ADD, RP_CHANGE, RP_DELETE, RP_DETAIL, RP_LIST) from sapl.settings import BASE_DIR +from sapl.translation import ugettext_lazy as _ from sapl.utils import normalize + logger = logging.getLogger(BASE_DIR.name) ACTION_LIST, ACTION_CREATE, ACTION_DETAIL, ACTION_UPDATE, ACTION_DELETE = \ @@ -382,6 +383,7 @@ class CrudBaseMixin(CrispyLayoutFormMixin): class CrudListView(PermissionRequiredContainerCrudMixin, ListView): permission_required = (RP_LIST, ) + lookup_search = 'search__icontains' @classmethod def get_url_regex(cls): @@ -520,7 +522,7 @@ class CrudListView(PermissionRequiredContainerCrudMixin, ListView): for item in query: if not item: continue - q = q & models.Q(search__icontains=item) + q = q & models.Q(**{self.lookup_search: item}) if q: queryset = queryset.filter(q) diff --git a/sapl/decorators.py b/sapl/decorators.py index fac94344a..40842cc40 100644 --- a/sapl/decorators.py +++ b/sapl/decorators.py @@ -1,7 +1,7 @@ from functools import wraps 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): diff --git a/sapl/lexml/apps.py b/sapl/lexml/apps.py index 3a8bb3c72..b4fc36c03 100644 --- a/sapl/lexml/apps.py +++ b/sapl/lexml/apps.py @@ -1,5 +1,5 @@ from django import apps -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ class AppConfig(apps.AppConfig): diff --git a/sapl/lexml/models.py b/sapl/lexml/models.py index f6315d399..64ab702a4 100644 --- a/sapl/lexml/models.py +++ b/sapl/lexml/models.py @@ -1,6 +1,6 @@ import reversion from django.db import models -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ @reversion.register() diff --git a/sapl/materia/apps.py b/sapl/materia/apps.py index bb4f72f73..2193860f7 100644 --- a/sapl/materia/apps.py +++ b/sapl/materia/apps.py @@ -1,5 +1,5 @@ from django import apps -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ class AppConfig(apps.AppConfig): diff --git a/sapl/materia/forms.py b/sapl/materia/forms.py index 97e0ef9b4..dad11d7c1 100644 --- a/sapl/materia/forms.py +++ b/sapl/materia/forms.py @@ -21,7 +21,7 @@ from django.utils import timezone from django.utils.encoding import force_text from django.utils.html import format_html from django.utils.safestring import mark_safe -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ import sapl from sapl.base.models import AppConfig, Autor, TipoAutor diff --git a/sapl/materia/models.py b/sapl/materia/models.py index 2cb6b679b..a53ce6174 100644 --- a/sapl/materia/models.py +++ b/sapl/materia/models.py @@ -7,7 +7,7 @@ from django.db import models from django.db.models.functions import Concat from django.template import defaultfilters 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 import reversion diff --git a/sapl/materia/views.py b/sapl/materia/views.py index 1e4638e73..b9acfc577 100644 --- a/sapl/materia/views.py +++ b/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.template import RequestContext, loader 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.base import RedirectView from django.views.generic.edit import FormView diff --git a/sapl/norma/apps.py b/sapl/norma/apps.py index effd4f271..2588b868d 100644 --- a/sapl/norma/apps.py +++ b/sapl/norma/apps.py @@ -1,5 +1,5 @@ from django import apps -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ class AppConfig(apps.AppConfig): diff --git a/sapl/norma/forms.py b/sapl/norma/forms.py index f21121c32..6512ef634 100644 --- a/sapl/norma/forms.py +++ b/sapl/norma/forms.py @@ -7,7 +7,7 @@ from django.core.exceptions import ObjectDoesNotExist, ValidationError from django.db import models from django.forms import ModelForm, widgets 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.materia.models import MateriaLegislativa, TipoMateriaLegislativa diff --git a/sapl/norma/migrations/0013_auto_20180824_2301.py b/sapl/norma/migrations/0013_auto_20180824_2301.py new file mode 100644 index 000000000..2535a5bf4 --- /dev/null +++ b/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'), + ), + ] diff --git a/sapl/norma/models.py b/sapl/norma/models.py index 5e34214a1..dd5d70741 100644 --- a/sapl/norma/models.py +++ b/sapl/norma/models.py @@ -1,12 +1,12 @@ from django.contrib.contenttypes.fields import GenericRelation from django.db import models from django.template import defaultfilters -from django.utils.translation import ugettext_lazy as _ from model_utils import Choices import reversion from sapl.compilacao.models import TextoArticulado from sapl.materia.models import MateriaLegislativa +from sapl.translation import ugettext_lazy as _ from sapl.utils import (RANGE_ANOS, YES_NO_CHOICES, restringe_tipos_de_arquivo_txt, texto_upload_path) @@ -82,7 +82,7 @@ class NormaJuridica(models.Model): tipo = models.ForeignKey( TipoNormaJuridica, on_delete=models.PROTECT, - verbose_name=_('Tipo da Norma Juridica')) + verbose_name=_('Tipo da Norma Jurídica')) materia = models.ForeignKey( MateriaLegislativa, blank=True, null=True, on_delete=models.PROTECT, verbose_name=_('Matéria')) @@ -272,7 +272,7 @@ class AnexoNormaJuridica(models.Model): NormaJuridica, related_name='norma', on_delete=models.PROTECT, - verbose_name=_('Norma Juridica')) + verbose_name=_('Norma Jurídica')) anexo_arquivo = models.FileField( blank=True, null=True, @@ -283,8 +283,8 @@ class AnexoNormaJuridica(models.Model): choices=RANGE_ANOS) class Meta: - verbose_name = _('Anexo da Norma Juridica') - verbose_name_plural = _('Anexos da Norma Juridica') + verbose_name = _('Anexo da Norma Jurídica') + verbose_name_plural = _('Anexos da Norma Jurídica') def __str__(self): return _('Anexo: %(anexo)s da norma %(norma)s') % { diff --git a/sapl/norma/tests/test_norma.py b/sapl/norma/tests/test_norma.py index 6603d7167..da6599a9a 100644 --- a/sapl/norma/tests/test_norma.py +++ b/sapl/norma/tests/test_norma.py @@ -1,6 +1,6 @@ import pytest 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 sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa diff --git a/sapl/norma/views.py b/sapl/norma/views.py index c4a171da2..4c5299bd1 100644 --- a/sapl/norma/views.py +++ b/sapl/norma/views.py @@ -7,7 +7,7 @@ from django.core.urlresolvers import reverse from django.http import HttpResponse, JsonResponse from django.template import RequestContext, loader 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.base import RedirectView from django.views.generic.edit import FormView diff --git a/sapl/painel/apps.py b/sapl/painel/apps.py index 7cd1002ec..137923978 100644 --- a/sapl/painel/apps.py +++ b/sapl/painel/apps.py @@ -1,5 +1,5 @@ from django import apps -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ class AppConfig(apps.AppConfig): diff --git a/sapl/painel/models.py b/sapl/painel/models.py index f999ca480..37ae9b317 100644 --- a/sapl/painel/models.py +++ b/sapl/painel/models.py @@ -1,6 +1,6 @@ import reversion from django.db import models -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ @reversion.register() diff --git a/sapl/painel/views.py b/sapl/painel/views.py index 88d0aa785..eb1db1dc4 100644 --- a/sapl/painel/views.py +++ b/sapl/painel/views.py @@ -10,7 +10,7 @@ from django.http import HttpResponse, JsonResponse from django.http.response import Http404, HttpResponseRedirect from django.shortcuts import render 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 CasaLegislativa diff --git a/sapl/parlamentares/apps.py b/sapl/parlamentares/apps.py index 41f6d0b38..3669ec359 100644 --- a/sapl/parlamentares/apps.py +++ b/sapl/parlamentares/apps.py @@ -1,5 +1,5 @@ from django import apps -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ class AppConfig(apps.AppConfig): diff --git a/sapl/parlamentares/forms.py b/sapl/parlamentares/forms.py index 94ab7b169..a42377c22 100644 --- a/sapl/parlamentares/forms.py +++ b/sapl/parlamentares/forms.py @@ -11,7 +11,7 @@ from django.db import transaction from django.db.models import Q from django.forms import ModelForm 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 image_cropping.widgets import CropWidget, ImageCropWidget diff --git a/sapl/parlamentares/models.py b/sapl/parlamentares/models.py index 43c4e2215..124bee8d4 100644 --- a/sapl/parlamentares/models.py +++ b/sapl/parlamentares/models.py @@ -2,7 +2,7 @@ import reversion from django.db import models 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 model_utils import Choices diff --git a/sapl/parlamentares/tests/test_parlamentares.py b/sapl/parlamentares/tests/test_parlamentares.py index bc404757d..48bd58d03 100644 --- a/sapl/parlamentares/tests/test_parlamentares.py +++ b/sapl/parlamentares/tests/test_parlamentares.py @@ -1,7 +1,7 @@ -import pytest from django.core.urlresolvers import reverse from django.utils.translation import ugettext_lazy as _ from model_mommy import mommy +import pytest from sapl.parlamentares.forms import FrenteForm, LegislaturaForm, MandatoForm from sapl.parlamentares.models import (Dependente, Filiacao, Legislatura, diff --git a/sapl/parlamentares/views.py b/sapl/parlamentares/views.py index ad4a8f5e5..5578cc8c8 100644 --- a/sapl/parlamentares/views.py +++ b/sapl/parlamentares/views.py @@ -12,7 +12,7 @@ from django.http.response import HttpResponseRedirect from django.templatetags.static import static from django.utils import timezone 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.generic import FormView from django.views.generic.edit import UpdateView diff --git a/sapl/protocoloadm/apps.py b/sapl/protocoloadm/apps.py index 8697e58d9..7e65de4d1 100644 --- a/sapl/protocoloadm/apps.py +++ b/sapl/protocoloadm/apps.py @@ -1,5 +1,5 @@ from django import apps -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ class AppConfig(apps.AppConfig): diff --git a/sapl/protocoloadm/forms.py b/sapl/protocoloadm/forms.py index 22e649459..0b0d6af40 100644 --- a/sapl/protocoloadm/forms.py +++ b/sapl/protocoloadm/forms.py @@ -1,5 +1,4 @@ -import django_filters from crispy_forms.bootstrap import InlineRadios from crispy_forms.helper import FormHelper 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.forms import ModelForm 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.crispy_layout_mixin import SaplFormLayout, form_actions, to_row from sapl.materia.models import (MateriaLegislativa, TipoMateriaLegislativa, UnidadeTramitacao) +from sapl.translation import ugettext_lazy as _ from sapl.utils import (RANGE_ANOS, YES_NO_CHOICES, AnoNumeroOrderingFilter, RangeWidgetOverride, autor_label, autor_modal) @@ -23,8 +23,11 @@ from .models import (DocumentoAcessorioAdministrativo, DocumentoAdministrativo, Protocolo, TipoDocumentoAdministrativo, 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 = [('', '---------'), ('0', 'Administrativo'), @@ -142,7 +145,7 @@ class DocumentoAdministrativoFilterSet(django_filters.FilterSet): choices=ANO_CHOICES) tramitacao = django_filters.ChoiceFilter(required=False, - label='Em Tramitação?', + label=_('Em Tramitação?'), choices=EM_TRAMITACAO) assunto = django_filters.CharFilter(lookup_expr='icontains') @@ -197,16 +200,15 @@ class DocumentoAdministrativoFilterSet(django_filters.FilterSet): Fieldset(_('Pesquisar Documento'), row1, row2, row3, row4, row5, - form_actions(label='Pesquisar')) + form_actions(label=_('Pesquisar'))) ) class AnularProcoloAdmForm(ModelForm): numero = forms.CharField(required=True, - label=Protocolo._meta. - get_field('numero').verbose_name - ) + label=Protocolo._meta.get_field( + 'numero').verbose_name) ano = forms.ChoiceField(required=True, label=Protocolo._meta. get_field('ano').verbose_name, @@ -312,7 +314,8 @@ class ProtocoloDocumentForm(ModelForm): observacao = forms.CharField(required=False, 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: model = Protocolo @@ -399,7 +402,8 @@ class ProtocoloMateriaForm(ModelForm): assunto_ementa = forms.CharField(required=True, 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: model = Protocolo @@ -445,7 +449,8 @@ class ProtocoloMateriaForm(ModelForm): raise ValidationError(_('Matéria Legislativa informada já possui o protocolo {}/{} vinculado.' .format(self.materia.numero_protocolo, self.materia.ano))) except ObjectDoesNotExist: - raise ValidationError(_('Matéria Legislativa informada não existente.')) + raise ValidationError( + _('Matéria Legislativa informada não existente.')) return data @@ -478,9 +483,9 @@ class ProtocoloMateriaForm(ModelForm): ), Fieldset(_('Número do Protocolo (Apenas se quiser que a numeração comece' ' a partir do número a ser informado)'), - row5, - HTML(" "), - form_actions(label=_('Protocolar Matéria'))) + row5, + HTML(" "), + form_actions(label=_('Protocolar Matéria'))) ) super(ProtocoloMateriaForm, self).__init__( @@ -674,8 +679,8 @@ class DocumentoAdministrativoForm(ModelForm): # não permite atualizar para numero/ano/tipo existente if self.instance.pk: mudanca_doc = numero_documento != self.instance.numero \ - or ano_documento != self.instance.ano \ - or tipo_documento != self.instance.tipo.pk + or ano_documento != self.instance.ano \ + or tipo_documento != self.instance.tipo.pk if not self.instance.pk or mudanca_doc: doc_exists = DocumentoAdministrativo.objects.filter(numero=numero_documento, @@ -705,12 +710,12 @@ class DocumentoAdministrativoForm(ModelForm): if str(protocolo_antigo) != numero_protocolo: exist_materia = MateriaLegislativa.objects.filter( - numero_protocolo=numero_protocolo, - ano=ano_protocolo).exists() + numero_protocolo=numero_protocolo, + ano=ano_protocolo).exists() exist_doc = DocumentoAdministrativo.objects.filter( - protocolo__numero=numero_protocolo, - protocolo__ano=ano_protocolo).exists() + protocolo__numero=numero_protocolo, + protocolo__ano=ano_protocolo).exists() if exist_materia or exist_doc: raise ValidationError(_('Protocolo %s/%s já possui' ' documento vinculado' @@ -786,7 +791,8 @@ class DesvincularDocumentoForm(ModelForm): tipo = cleaned_data['tipo'] 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: raise forms.ValidationError( _("%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'] 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: raise forms.ValidationError( _("%s %s/%s não se encontra vinculada a nenhum protocolo" % (tipo, numero, ano))) diff --git a/sapl/protocoloadm/models.py b/sapl/protocoloadm/models.py index 1fd38e720..da42dcf55 100644 --- a/sapl/protocoloadm/models.py +++ b/sapl/protocoloadm/models.py @@ -1,7 +1,7 @@ import reversion from django.db import models 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 sapl.base.models import Autor diff --git a/sapl/protocoloadm/tests/test_protocoloadm.py b/sapl/protocoloadm/tests/test_protocoloadm.py index f74c4dd7b..e6770e8d6 100644 --- a/sapl/protocoloadm/tests/test_protocoloadm.py +++ b/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) diff --git a/sapl/protocoloadm/views.py b/sapl/protocoloadm/views.py index d86063887..b35acc66a 100644 --- a/sapl/protocoloadm/views.py +++ b/sapl/protocoloadm/views.py @@ -11,7 +11,7 @@ from django.http import Http404, HttpResponse, JsonResponse from django.http.response import HttpResponseRedirect from django.shortcuts import redirect 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.base import RedirectView, TemplateView from django.views.generic.edit import FormView diff --git a/sapl/redireciona_urls/apps.py b/sapl/redireciona_urls/apps.py index 8ee8742bc..67cc380ce 100644 --- a/sapl/redireciona_urls/apps.py +++ b/sapl/redireciona_urls/apps.py @@ -1,5 +1,5 @@ from django import apps -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ class AppConfig(apps.AppConfig): diff --git a/sapl/redireciona_urls/exceptions.py b/sapl/redireciona_urls/exceptions.py index e1a994bcb..76fdab663 100644 --- a/sapl/redireciona_urls/exceptions.py +++ b/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): diff --git a/sapl/relatorios/apps.py b/sapl/relatorios/apps.py index 9e560eb1c..e11eb3a56 100644 --- a/sapl/relatorios/apps.py +++ b/sapl/relatorios/apps.py @@ -1,5 +1,5 @@ from django import apps -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ class AppConfig(apps.AppConfig): diff --git a/sapl/relatorios/views.py b/sapl/relatorios/views.py index 50aa9c44d..63b3a0c04 100644 --- a/sapl/relatorios/views.py +++ b/sapl/relatorios/views.py @@ -5,7 +5,7 @@ from datetime import datetime as dt from django.core.exceptions import ObjectDoesNotExist from django.http import Http404, HttpResponse 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.comissoes.models import Comissao diff --git a/sapl/rules/__init__.py b/sapl/rules/__init__.py index bc4d27653..ee183561d 100644 --- a/sapl/rules/__init__.py +++ b/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' diff --git a/sapl/rules/apps.py b/sapl/rules/apps.py index dbdfce8ce..3b5b1e8c8 100644 --- a/sapl/rules/apps.py +++ b/sapl/rules/apps.py @@ -1,23 +1,23 @@ from builtins import LookupError +import sys -import django -from django.apps import apps +from django import apps from django.contrib.auth import get_user_model from django.contrib.auth.management import _get_all_permissions from django.core import exceptions from django.db import models, router from django.db.utils import DEFAULT_DB_ALIAS from django.utils.translation import string_concat -from django.utils.translation import ugettext_lazy as _ import reversion from sapl.rules import (SAPL_GROUP_ADMINISTRATIVO, SAPL_GROUP_COMISSOES, SAPL_GROUP_GERAL, SAPL_GROUP_MATERIA, SAPL_GROUP_NORMA, SAPL_GROUP_PAINEL, SAPL_GROUP_PROTOCOLO, SAPL_GROUP_SESSAO) +from sapl.translation import ugettext_lazy as _ -class AppConfig(django.apps.AppConfig): +class AppConfig(apps.AppConfig): name = 'sapl.rules' label = 'rules' verbose_name = _('Regras de Acesso') @@ -32,7 +32,7 @@ def create_proxy_permissions( # print(app_config) try: - Permission = apps.get_model('auth', 'Permission') + Permission = apps.apps.get_model('auth', 'Permission') except LookupError: return diff --git a/sapl/rules/map_rules.py b/sapl/rules/map_rules.py index bba114149..d2b2b873b 100644 --- a/sapl/rules/map_rules.py +++ b/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__), diff --git a/sapl/rules/tests/test_rules.py b/sapl/rules/tests/test_rules.py index 07302bae5..f13de9e08 100644 --- a/sapl/rules/tests/test_rules.py +++ b/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 django.utils.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] } diff --git a/sapl/sessao/apps.py b/sapl/sessao/apps.py index 281847b56..ab18fe539 100644 --- a/sapl/sessao/apps.py +++ b/sapl/sessao/apps.py @@ -1,5 +1,5 @@ from django import apps -from django.utils.translation import ugettext_lazy as _ +from sapl.translation import ugettext_lazy as _ class AppConfig(apps.AppConfig): diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py index cc68df531..45c0f1a23 100644 --- a/sapl/sessao/forms.py +++ b/sapl/sessao/forms.py @@ -8,7 +8,7 @@ from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ObjectDoesNotExist, ValidationError from django.db import transaction 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.crispy_layout_mixin import form_actions, to_row diff --git a/sapl/sessao/models.py b/sapl/sessao/models.py index 6af5f490f..a47c56ac1 100644 --- a/sapl/sessao/models.py +++ b/sapl/sessao/models.py @@ -3,7 +3,7 @@ from operator import xor import reversion from django.core.exceptions import ValidationError 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 sapl.base.models import Autor diff --git a/sapl/sessao/tests/test_sessao.py b/sapl/sessao/tests/test_sessao.py index 336c62ad0..b84224a4e 100644 --- a/sapl/sessao/tests/test_sessao.py +++ b/sapl/sessao/tests/test_sessao.py @@ -1,7 +1,7 @@ import pytest from datetime import datetime 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 sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa diff --git a/sapl/sessao/tests/test_sessao_view.py b/sapl/sessao/tests/test_sessao_view.py index 082652c19..6c6c32e95 100644 --- a/sapl/sessao/tests/test_sessao_view.py +++ b/sapl/sessao/tests/test_sessao_view.py @@ -1,6 +1,6 @@ import pytest 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 sapl.parlamentares.models import Legislatura, SessaoLegislativa diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index 5a2b0785a..d93acd746 100644 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -14,7 +14,7 @@ from django.utils import timezone from django.utils.datastructures import MultiValueDictKeyError from django.utils.decorators import method_decorator 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.generic import FormView, ListView, TemplateView, CreateView, UpdateView from django.views.generic.base import RedirectView diff --git a/sapl/templates/ajuda.html b/sapl/templates/ajuda.html index 7e2cda99d..e7fc910ae 100644 --- a/sapl/templates/ajuda.html +++ b/sapl/templates/ajuda.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n crispy_forms_tags %} +{% load i18n_sapl crispy_forms_tags %} {% block base_content %}
diff --git a/sapl/templates/ajuda/acessando_alimenta.html b/sapl/templates/ajuda/acessando_alimenta.html index 57e8e1a7d..03954d803 100644 --- a/sapl/templates/ajuda/acessando_alimenta.html +++ b/sapl/templates/ajuda/acessando_alimenta.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/acomp_materia.html b/sapl/templates/ajuda/acomp_materia.html index 766e40c94..e9ee0f7d7 100644 --- a/sapl/templates/ajuda/acomp_materia.html +++ b/sapl/templates/ajuda/acomp_materia.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/anexos.html b/sapl/templates/ajuda/anexos.html index cb073465e..1ec583d63 100644 --- a/sapl/templates/ajuda/anexos.html +++ b/sapl/templates/ajuda/anexos.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n crispy_forms_tags %} +{% load i18n_sapl crispy_forms_tags %} {% block base_content %} diff --git a/sapl/templates/ajuda/autor.html b/sapl/templates/ajuda/autor.html index be20634f4..dfbceaac8 100644 --- a/sapl/templates/ajuda/autor.html +++ b/sapl/templates/ajuda/autor.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/cadastro_comissoes.html b/sapl/templates/ajuda/cadastro_comissoes.html index a085d08ab..b3c70c0f0 100644 --- a/sapl/templates/ajuda/cadastro_comissoes.html +++ b/sapl/templates/ajuda/cadastro_comissoes.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/cadastro_materia.html b/sapl/templates/ajuda/cadastro_materia.html index 9f12c2653..39dfb2791 100644 --- a/sapl/templates/ajuda/cadastro_materia.html +++ b/sapl/templates/ajuda/cadastro_materia.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/cadastro_mesa_diretora.html b/sapl/templates/ajuda/cadastro_mesa_diretora.html index bacd2389b..d3bb92f14 100644 --- a/sapl/templates/ajuda/cadastro_mesa_diretora.html +++ b/sapl/templates/ajuda/cadastro_mesa_diretora.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/cadastro_parlamentares.html b/sapl/templates/ajuda/cadastro_parlamentares.html index 4f663f3da..1528862d2 100644 --- a/sapl/templates/ajuda/cadastro_parlamentares.html +++ b/sapl/templates/ajuda/cadastro_parlamentares.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/cargo_comissao.html b/sapl/templates/ajuda/cargo_comissao.html index 40fb8abeb..1b2c73c7d 100644 --- a/sapl/templates/ajuda/cargo_comissao.html +++ b/sapl/templates/ajuda/cargo_comissao.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/cargo_mesa.html b/sapl/templates/ajuda/cargo_mesa.html index 5efb9c63f..61131d9c1 100644 --- a/sapl/templates/ajuda/cargo_mesa.html +++ b/sapl/templates/ajuda/cargo_mesa.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/casa_legislativa.html b/sapl/templates/ajuda/casa_legislativa.html index 0aec9edd2..9e9caf5c5 100644 --- a/sapl/templates/ajuda/casa_legislativa.html +++ b/sapl/templates/ajuda/casa_legislativa.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/coligacao.html b/sapl/templates/ajuda/coligacao.html index 1f5b48d05..dad030603 100644 --- a/sapl/templates/ajuda/coligacao.html +++ b/sapl/templates/ajuda/coligacao.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/consultas.html b/sapl/templates/ajuda/consultas.html index 66e9574b8..e385437b9 100644 --- a/sapl/templates/ajuda/consultas.html +++ b/sapl/templates/ajuda/consultas.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/dependentes.html b/sapl/templates/ajuda/dependentes.html index 3ae847137..42c1bb44e 100644 --- a/sapl/templates/ajuda/dependentes.html +++ b/sapl/templates/ajuda/dependentes.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/despacho_autoria.html b/sapl/templates/ajuda/despacho_autoria.html index ae864f7db..6132c5509 100644 --- a/sapl/templates/ajuda/despacho_autoria.html +++ b/sapl/templates/ajuda/despacho_autoria.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/envio_proposicao.html b/sapl/templates/ajuda/envio_proposicao.html index b943dc469..0588b6417 100644 --- a/sapl/templates/ajuda/envio_proposicao.html +++ b/sapl/templates/ajuda/envio_proposicao.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/filiacoes_partidarias.html b/sapl/templates/ajuda/filiacoes_partidarias.html index 6599bd35c..b91ca4c38 100644 --- a/sapl/templates/ajuda/filiacoes_partidarias.html +++ b/sapl/templates/ajuda/filiacoes_partidarias.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/fim_relatoria.html b/sapl/templates/ajuda/fim_relatoria.html index c0e463682..db3f58f42 100644 --- a/sapl/templates/ajuda/fim_relatoria.html +++ b/sapl/templates/ajuda/fim_relatoria.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/gerenciamento_usuarios.html b/sapl/templates/ajuda/gerenciamento_usuarios.html index c57134ae0..1f0f616c2 100644 --- a/sapl/templates/ajuda/gerenciamento_usuarios.html +++ b/sapl/templates/ajuda/gerenciamento_usuarios.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/glossario.html b/sapl/templates/ajuda/glossario.html index 3a1d6eccd..cab6951bd 100644 --- a/sapl/templates/ajuda/glossario.html +++ b/sapl/templates/ajuda/glossario.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/impressos.html b/sapl/templates/ajuda/impressos.html index 30884eb35..de8b92d85 100644 --- a/sapl/templates/ajuda/impressos.html +++ b/sapl/templates/ajuda/impressos.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/legislacao_cita_matanexada.html b/sapl/templates/ajuda/legislacao_cita_matanexada.html index 341a061e9..1d973f1fd 100644 --- a/sapl/templates/ajuda/legislacao_cita_matanexada.html +++ b/sapl/templates/ajuda/legislacao_cita_matanexada.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/legislatura.html b/sapl/templates/ajuda/legislatura.html index 5467ccc65..211cefb22 100644 --- a/sapl/templates/ajuda/legislatura.html +++ b/sapl/templates/ajuda/legislatura.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/lexml.html b/sapl/templates/ajuda/lexml.html index f2eb85028..3ee64e98b 100644 --- a/sapl/templates/ajuda/lexml.html +++ b/sapl/templates/ajuda/lexml.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/mandatos_parlamentar.html b/sapl/templates/ajuda/mandatos_parlamentar.html index d53dc254c..1943f1473 100644 --- a/sapl/templates/ajuda/mandatos_parlamentar.html +++ b/sapl/templates/ajuda/mandatos_parlamentar.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/materia_anexada.html b/sapl/templates/ajuda/materia_anexada.html index eabda993c..6d0f8f6b3 100644 --- a/sapl/templates/ajuda/materia_anexada.html +++ b/sapl/templates/ajuda/materia_anexada.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/modulo_comissoes.html b/sapl/templates/ajuda/modulo_comissoes.html index a469e9bef..c80df13d9 100644 --- a/sapl/templates/ajuda/modulo_comissoes.html +++ b/sapl/templates/ajuda/modulo_comissoes.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/modulo_mesa_diretora.html b/sapl/templates/ajuda/modulo_mesa_diretora.html index 5b2cce0ca..c0897ebe4 100644 --- a/sapl/templates/ajuda/modulo_mesa_diretora.html +++ b/sapl/templates/ajuda/modulo_mesa_diretora.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/modulo_norma_juridica.html b/sapl/templates/ajuda/modulo_norma_juridica.html index c8662e517..9ea6ee5ac 100644 --- a/sapl/templates/ajuda/modulo_norma_juridica.html +++ b/sapl/templates/ajuda/modulo_norma_juridica.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/modulo_parlamentares.html b/sapl/templates/ajuda/modulo_parlamentares.html index 1636b3e8c..067d552c1 100644 --- a/sapl/templates/ajuda/modulo_parlamentares.html +++ b/sapl/templates/ajuda/modulo_parlamentares.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/modulo_tramitacao_materias.html b/sapl/templates/ajuda/modulo_tramitacao_materias.html index 8e4c1a866..6fa7356a0 100644 --- a/sapl/templates/ajuda/modulo_tramitacao_materias.html +++ b/sapl/templates/ajuda/modulo_tramitacao_materias.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/nivel_instrucao.html b/sapl/templates/ajuda/nivel_instrucao.html index f883fc643..086addf70 100644 --- a/sapl/templates/ajuda/nivel_instrucao.html +++ b/sapl/templates/ajuda/nivel_instrucao.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/norma_juridica.html b/sapl/templates/ajuda/norma_juridica.html index e1e9ec94d..ac70117d1 100644 --- a/sapl/templates/ajuda/norma_juridica.html +++ b/sapl/templates/ajuda/norma_juridica.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/numeracao_docsacess.html b/sapl/templates/ajuda/numeracao_docsacess.html index 912bf0ac0..54d8d8971 100644 --- a/sapl/templates/ajuda/numeracao_docsacess.html +++ b/sapl/templates/ajuda/numeracao_docsacess.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/ordem_dia.html b/sapl/templates/ajuda/ordem_dia.html index dc4ffed50..919e2e691 100644 --- a/sapl/templates/ajuda/ordem_dia.html +++ b/sapl/templates/ajuda/ordem_dia.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/orgao.html b/sapl/templates/ajuda/orgao.html index 0027e3478..bcd72b10b 100644 --- a/sapl/templates/ajuda/orgao.html +++ b/sapl/templates/ajuda/orgao.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/origem.html b/sapl/templates/ajuda/origem.html index 6205e8aa9..2bb0cf7c1 100644 --- a/sapl/templates/ajuda/origem.html +++ b/sapl/templates/ajuda/origem.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/partidos.html b/sapl/templates/ajuda/partidos.html index cee860f62..e0451d122 100644 --- a/sapl/templates/ajuda/partidos.html +++ b/sapl/templates/ajuda/partidos.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/periodo_composicao_comissao.html b/sapl/templates/ajuda/periodo_composicao_comissao.html index f98e2c6ae..19a7d7b86 100644 --- a/sapl/templates/ajuda/periodo_composicao_comissao.html +++ b/sapl/templates/ajuda/periodo_composicao_comissao.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/proposicao.html b/sapl/templates/ajuda/proposicao.html index bc5f2c926..b71b9ec99 100644 --- a/sapl/templates/ajuda/proposicao.html +++ b/sapl/templates/ajuda/proposicao.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/proposicao_editor.html b/sapl/templates/ajuda/proposicao_editor.html index 054c61aaf..f6c6ca274 100644 --- a/sapl/templates/ajuda/proposicao_editor.html +++ b/sapl/templates/ajuda/proposicao_editor.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/proposicao_legislativa.html b/sapl/templates/ajuda/proposicao_legislativa.html index b0ca6d600..becd2b73b 100644 --- a/sapl/templates/ajuda/proposicao_legislativa.html +++ b/sapl/templates/ajuda/proposicao_legislativa.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/protocolo_administrativo.html b/sapl/templates/ajuda/protocolo_administrativo.html index 5d43134fe..33132a5d7 100644 --- a/sapl/templates/ajuda/protocolo_administrativo.html +++ b/sapl/templates/ajuda/protocolo_administrativo.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/protocolo_anular.html b/sapl/templates/ajuda/protocolo_anular.html index 5d43134fe..33132a5d7 100644 --- a/sapl/templates/ajuda/protocolo_anular.html +++ b/sapl/templates/ajuda/protocolo_anular.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/protocolo_geral.html b/sapl/templates/ajuda/protocolo_geral.html index 15393822b..ca52b39ce 100644 --- a/sapl/templates/ajuda/protocolo_geral.html +++ b/sapl/templates/ajuda/protocolo_geral.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/protocolo_gerar_etiqueta_processo.html b/sapl/templates/ajuda/protocolo_gerar_etiqueta_processo.html index 5d43134fe..33132a5d7 100644 --- a/sapl/templates/ajuda/protocolo_gerar_etiqueta_processo.html +++ b/sapl/templates/ajuda/protocolo_gerar_etiqueta_processo.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/protocolo_gerar_etiqueta_protocolo.html b/sapl/templates/ajuda/protocolo_gerar_etiqueta_protocolo.html index 5d43134fe..33132a5d7 100644 --- a/sapl/templates/ajuda/protocolo_gerar_etiqueta_protocolo.html +++ b/sapl/templates/ajuda/protocolo_gerar_etiqueta_protocolo.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/protocolo_legislativo.html b/sapl/templates/ajuda/protocolo_legislativo.html index 5d43134fe..33132a5d7 100644 --- a/sapl/templates/ajuda/protocolo_legislativo.html +++ b/sapl/templates/ajuda/protocolo_legislativo.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/recebimento_proposicao.html b/sapl/templates/ajuda/recebimento_proposicao.html index 24ad025ea..60bc54ab0 100644 --- a/sapl/templates/ajuda/recebimento_proposicao.html +++ b/sapl/templates/ajuda/recebimento_proposicao.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/regime_tramitacao.html b/sapl/templates/ajuda/regime_tramitacao.html index 6b679457d..07e08aeb2 100644 --- a/sapl/templates/ajuda/regime_tramitacao.html +++ b/sapl/templates/ajuda/regime_tramitacao.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/relatorios.html b/sapl/templates/ajuda/relatorios.html index 00c860e12..eee1baa89 100644 --- a/sapl/templates/ajuda/relatorios.html +++ b/sapl/templates/ajuda/relatorios.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/sessao_legislativa.html b/sapl/templates/ajuda/sessao_legislativa.html index 674129fbe..9d174e2c2 100644 --- a/sapl/templates/ajuda/sessao_legislativa.html +++ b/sapl/templates/ajuda/sessao_legislativa.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/sessao_plenaria.html b/sapl/templates/ajuda/sessao_plenaria.html index 3aa513d0b..249f7d3a5 100644 --- a/sapl/templates/ajuda/sessao_plenaria.html +++ b/sapl/templates/ajuda/sessao_plenaria.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/sessao_plenaria_ata.html b/sapl/templates/ajuda/sessao_plenaria_ata.html index e5a7a43f7..1bb5076ca 100644 --- a/sapl/templates/ajuda/sessao_plenaria_ata.html +++ b/sapl/templates/ajuda/sessao_plenaria_ata.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/sessao_plenaria_expedientes.html b/sapl/templates/ajuda/sessao_plenaria_expedientes.html index 525bbe7bd..8eb933531 100644 --- a/sapl/templates/ajuda/sessao_plenaria_expedientes.html +++ b/sapl/templates/ajuda/sessao_plenaria_expedientes.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/sessao_plenaria_lista_presenca_sessao.html b/sapl/templates/ajuda/sessao_plenaria_lista_presenca_sessao.html index d9cfd2354..29bf6f0b5 100644 --- a/sapl/templates/ajuda/sessao_plenaria_lista_presenca_sessao.html +++ b/sapl/templates/ajuda/sessao_plenaria_lista_presenca_sessao.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/sessao_plenaria_materias_expediente.html b/sapl/templates/ajuda/sessao_plenaria_materias_expediente.html index f19047aa1..a6790c02b 100644 --- a/sapl/templates/ajuda/sessao_plenaria_materias_expediente.html +++ b/sapl/templates/ajuda/sessao_plenaria_materias_expediente.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/sessao_plenaria_materias_ordem_dia.html b/sapl/templates/ajuda/sessao_plenaria_materias_ordem_dia.html index 015e5e3cd..d8a0b9b29 100644 --- a/sapl/templates/ajuda/sessao_plenaria_materias_ordem_dia.html +++ b/sapl/templates/ajuda/sessao_plenaria_materias_ordem_dia.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/sessao_plenaria_mesa.html b/sapl/templates/ajuda/sessao_plenaria_mesa.html index d90ef647d..afb5ca453 100644 --- a/sapl/templates/ajuda/sessao_plenaria_mesa.html +++ b/sapl/templates/ajuda/sessao_plenaria_mesa.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/sessao_plenaria_oradores.html b/sapl/templates/ajuda/sessao_plenaria_oradores.html index 634eb46a4..d2de22564 100644 --- a/sapl/templates/ajuda/sessao_plenaria_oradores.html +++ b/sapl/templates/ajuda/sessao_plenaria_oradores.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/sessao_plenaria_oradores_expediente.html b/sapl/templates/ajuda/sessao_plenaria_oradores_expediente.html index 634eb46a4..d2de22564 100644 --- a/sapl/templates/ajuda/sessao_plenaria_oradores_expediente.html +++ b/sapl/templates/ajuda/sessao_plenaria_oradores_expediente.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/sessao_plenaria_oradores_explicacoes_pessoais.html b/sapl/templates/ajuda/sessao_plenaria_oradores_explicacoes_pessoais.html index 634eb46a4..d2de22564 100644 --- a/sapl/templates/ajuda/sessao_plenaria_oradores_explicacoes_pessoais.html +++ b/sapl/templates/ajuda/sessao_plenaria_oradores_explicacoes_pessoais.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/sessao_plenaria_presenca_ordem_dia.html b/sapl/templates/ajuda/sessao_plenaria_presenca_ordem_dia.html index e0572a4b3..cbd9016fc 100644 --- a/sapl/templates/ajuda/sessao_plenaria_presenca_ordem_dia.html +++ b/sapl/templates/ajuda/sessao_plenaria_presenca_ordem_dia.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/sessao_plenaria_votacao.html b/sapl/templates/ajuda/sessao_plenaria_votacao.html index 4a392d378..23c8647c4 100644 --- a/sapl/templates/ajuda/sessao_plenaria_votacao.html +++ b/sapl/templates/ajuda/sessao_plenaria_votacao.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/status_tramitacao.html b/sapl/templates/ajuda/status_tramitacao.html index ca9ddca1a..58902b168 100644 --- a/sapl/templates/ajuda/status_tramitacao.html +++ b/sapl/templates/ajuda/status_tramitacao.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/tipo_afastamento.html b/sapl/templates/ajuda/tipo_afastamento.html index e2aa59883..4a89d84cc 100644 --- a/sapl/templates/ajuda/tipo_afastamento.html +++ b/sapl/templates/ajuda/tipo_afastamento.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/tipo_autor.html b/sapl/templates/ajuda/tipo_autor.html index 8a76bd013..e795eaf34 100644 --- a/sapl/templates/ajuda/tipo_autor.html +++ b/sapl/templates/ajuda/tipo_autor.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/tipo_comissao.html b/sapl/templates/ajuda/tipo_comissao.html index e97b86678..a97d4b5d7 100644 --- a/sapl/templates/ajuda/tipo_comissao.html +++ b/sapl/templates/ajuda/tipo_comissao.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/tipo_dependente.html b/sapl/templates/ajuda/tipo_dependente.html index cae9f9f55..1aed8e252 100644 --- a/sapl/templates/ajuda/tipo_dependente.html +++ b/sapl/templates/ajuda/tipo_dependente.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/tipo_documento.html b/sapl/templates/ajuda/tipo_documento.html index b2215801b..796d9101c 100644 --- a/sapl/templates/ajuda/tipo_documento.html +++ b/sapl/templates/ajuda/tipo_documento.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/tipo_materia_legislativa.html b/sapl/templates/ajuda/tipo_materia_legislativa.html index f72ad5cc6..0d8ff553c 100644 --- a/sapl/templates/ajuda/tipo_materia_legislativa.html +++ b/sapl/templates/ajuda/tipo_materia_legislativa.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/tipo_norma_juridica.html b/sapl/templates/ajuda/tipo_norma_juridica.html index f50caa5a6..1a94f19e1 100644 --- a/sapl/templates/ajuda/tipo_norma_juridica.html +++ b/sapl/templates/ajuda/tipo_norma_juridica.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/tipo_proposicao.html b/sapl/templates/ajuda/tipo_proposicao.html index 0149bfc03..52efc4a8b 100644 --- a/sapl/templates/ajuda/tipo_proposicao.html +++ b/sapl/templates/ajuda/tipo_proposicao.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/tipo_sessao_plenaria.html b/sapl/templates/ajuda/tipo_sessao_plenaria.html index 154c0a16f..d73a9969b 100644 --- a/sapl/templates/ajuda/tipo_sessao_plenaria.html +++ b/sapl/templates/ajuda/tipo_sessao_plenaria.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/tipo_situa_militar.html b/sapl/templates/ajuda/tipo_situa_militar.html index 32f4902b6..b8769ad3c 100644 --- a/sapl/templates/ajuda/tipo_situa_militar.html +++ b/sapl/templates/ajuda/tipo_situa_militar.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/tramitacao_lote.html b/sapl/templates/ajuda/tramitacao_lote.html index 438b204f8..339c9e24e 100644 --- a/sapl/templates/ajuda/tramitacao_lote.html +++ b/sapl/templates/ajuda/tramitacao_lote.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/tramitacao_relatoria.html b/sapl/templates/ajuda/tramitacao_relatoria.html index 3a9c2487f..1c8501bed 100644 --- a/sapl/templates/ajuda/tramitacao_relatoria.html +++ b/sapl/templates/ajuda/tramitacao_relatoria.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/troca_senha.html b/sapl/templates/ajuda/troca_senha.html index 72be948f4..e7bd0a743 100644 --- a/sapl/templates/ajuda/troca_senha.html +++ b/sapl/templates/ajuda/troca_senha.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/ajuda/unidade_tramitacao.html b/sapl/templates/ajuda/unidade_tramitacao.html index c88dba904..cb89799cd 100644 --- a/sapl/templates/ajuda/unidade_tramitacao.html +++ b/sapl/templates/ajuda/unidade_tramitacao.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block base_content %} diff --git a/sapl/templates/audiencia/layouts.yaml b/sapl/templates/audiencia/layouts.yaml index 90433db63..f20a5b1e0 100644 --- a/sapl/templates/audiencia/layouts.yaml +++ b/sapl/templates/audiencia/layouts.yaml @@ -1,4 +1,4 @@ -{% load i18n %} +{% load i18n_sapl %} AudienciaPublica: {% trans 'Audiência Pública' %}: - nome:10 numero diff --git a/sapl/templates/auth/user_form.html b/sapl/templates/auth/user_form.html index 3b19ee162..a228efc2e 100644 --- a/sapl/templates/auth/user_form.html +++ b/sapl/templates/auth/user_form.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n crispy_forms_tags %} +{% load i18n_sapl crispy_forms_tags %} {% block base_content %} diff --git a/sapl/templates/auth/user_list.html b/sapl/templates/auth/user_list.html index b24cb764e..8dc955969 100644 --- a/sapl/templates/auth/user_list.html +++ b/sapl/templates/auth/user_list.html @@ -1,5 +1,5 @@ {% extends "base.html" %} -{% load i18n %} +{% load i18n_sapl %} {% load tz %} {% load common_tags %} {% block base_content %} diff --git a/sapl/templates/base.html b/sapl/templates/base.html index 8c4e24b6c..e10152e9f 100644 --- a/sapl/templates/base.html +++ b/sapl/templates/base.html @@ -1,4 +1,4 @@ -{% load i18n staticfiles sass_tags menus %} +{% load i18n_sapl staticfiles sass_tags menus %} {% load common_tags %} diff --git a/sapl/templates/base/RelatorioAtas_filter.html b/sapl/templates/base/RelatorioAtas_filter.html index e83971d42..15b3d693a 100644 --- a/sapl/templates/base/RelatorioAtas_filter.html +++ b/sapl/templates/base/RelatorioAtas_filter.html @@ -1,5 +1,5 @@ {% extends "crud/list.html" %} -{% load i18n %} +{% load i18n_sapl %} {% load crispy_forms_tags staticfiles %} {% block base_content %} diff --git a/sapl/templates/base/RelatorioDataFimPrazoTramitacao_filter.html b/sapl/templates/base/RelatorioDataFimPrazoTramitacao_filter.html index 1fccf1268..4da8dd443 100644 --- a/sapl/templates/base/RelatorioDataFimPrazoTramitacao_filter.html +++ b/sapl/templates/base/RelatorioDataFimPrazoTramitacao_filter.html @@ -1,5 +1,5 @@ {% extends "crud/list.html" %} -{% load i18n %} +{% load i18n_sapl %} {% load crispy_forms_tags %} {% block base_content %} diff --git a/sapl/templates/base/RelatorioHistoricoTramitacao_filter.html b/sapl/templates/base/RelatorioHistoricoTramitacao_filter.html index 421be8d06..c8527900a 100644 --- a/sapl/templates/base/RelatorioHistoricoTramitacao_filter.html +++ b/sapl/templates/base/RelatorioHistoricoTramitacao_filter.html @@ -1,5 +1,5 @@ {% extends "crud/list.html" %} -{% load i18n %} +{% load i18n_sapl %} {% load crispy_forms_tags %} {% block base_content %} diff --git a/sapl/templates/base/RelatorioMateriasPorAnoAutorTipo_filter.html b/sapl/templates/base/RelatorioMateriasPorAnoAutorTipo_filter.html index 890733053..7d48a85d0 100644 --- a/sapl/templates/base/RelatorioMateriasPorAnoAutorTipo_filter.html +++ b/sapl/templates/base/RelatorioMateriasPorAnoAutorTipo_filter.html @@ -1,5 +1,5 @@ {% extends "crud/list.html" %} -{% load i18n %} +{% load i18n_sapl %} {% load crispy_forms_tags %} {% block base_content %} diff --git a/sapl/templates/base/RelatorioMateriasPorAutor_filter.html b/sapl/templates/base/RelatorioMateriasPorAutor_filter.html index bf0b7702f..1b829a762 100644 --- a/sapl/templates/base/RelatorioMateriasPorAutor_filter.html +++ b/sapl/templates/base/RelatorioMateriasPorAutor_filter.html @@ -1,5 +1,5 @@ {% extends "crud/list.html" %} -{% load i18n %} +{% load i18n_sapl %} {% load crispy_forms_tags %} {% block base_content %} diff --git a/sapl/templates/base/RelatorioMateriasPorTramitacao_filter.html b/sapl/templates/base/RelatorioMateriasPorTramitacao_filter.html index db6065266..1194adb5c 100644 --- a/sapl/templates/base/RelatorioMateriasPorTramitacao_filter.html +++ b/sapl/templates/base/RelatorioMateriasPorTramitacao_filter.html @@ -1,5 +1,5 @@ {% extends "crud/list.html" %} -{% load i18n %} +{% load i18n_sapl %} {% load crispy_forms_tags %} {% block base_content %} diff --git a/sapl/templates/base/RelatorioPresencaSessao_filter.html b/sapl/templates/base/RelatorioPresencaSessao_filter.html index e3e447f8d..c6bd3815c 100644 --- a/sapl/templates/base/RelatorioPresencaSessao_filter.html +++ b/sapl/templates/base/RelatorioPresencaSessao_filter.html @@ -1,5 +1,5 @@ {% extends "crud/list.html" %} -{% load i18n %} +{% load i18n_sapl %} {% load crispy_forms_tags %} {% load common_tags %} diff --git a/sapl/templates/base/alterar_senha.html b/sapl/templates/base/alterar_senha.html index 20956a763..c33d205c1 100644 --- a/sapl/templates/base/alterar_senha.html +++ b/sapl/templates/base/alterar_senha.html @@ -1,5 +1,5 @@ {% extends "crud/detail.html" %} -{% load i18n %} +{% load i18n_sapl %} {% load crispy_forms_tags %} {% block actions %}{% endblock %} {% block detail_content %} diff --git a/sapl/templates/base/autor_form.html b/sapl/templates/base/autor_form.html index b5c16fd9f..c286f4d13 100644 --- a/sapl/templates/base/autor_form.html +++ b/sapl/templates/base/autor_form.html @@ -1,5 +1,5 @@ {% extends "crud/form.html" %} -{% load i18n %} +{% load i18n_sapl %} {% block extra_js %}