From bd2bc3a4f7d71f6f7b387f13694defcebaca93ea Mon Sep 17 00:00:00 2001 From: Leandro Roberto Date: Sat, 5 Jan 2019 04:39:39 -0200 Subject: [PATCH 01/20] bump django para 1.11 --- requirements/requirements.txt | 17 +++++++++-------- setup.py | 11 ++++++----- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 3c4d2e135..69cb803f5 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -1,18 +1,19 @@ +django>=1.11,<2.0 +django-haystack==2.8.1 +django-bootstrap3==11.0.0 +django-filter==2.0.0 +djangorestframework==3.9.0 + dj-database-url==0.4.1 -django-haystack==2.6.0 -django>=1.10,<1.11 -django-bootstrap3==7.0.1 django-bower==5.2.0 django-braces==1.9.0 django-compressor==2.0 django-crispy-forms==1.6.1 django-extensions==1.9.8 django-extra-views==0.11.0 -django-filter==1.0.0 django-floppyforms==1.6.2 django-model-utils==3.1.1 django-sass-processor==0.5.8 -djangorestframework==3.4.0 easy-thumbnails==2.5 django-image-cropping==1.2 libsass==0.11.1 @@ -32,6 +33,6 @@ whoosh==2.7.4 django-speedinfo==1.3.5 django-reversion-compare==0.8.4 -git+git://github.com/interlegis/trml2pdf.git -git+git://github.com/jasperlittle/django-rest-framework-docs -git+git://github.com/rubgombar1/django-admin-bootstrapped.git \ No newline at end of file +#git+git://github.com/interlegis/trml2pdf.git +#git+git://github.com/jasperlittle/django-rest-framework-docs +#git+git://github.com/rubgombar1/django-admin-bootstrapped.git \ No newline at end of file diff --git a/setup.py b/setup.py index 61de04956..a64217d42 100644 --- a/setup.py +++ b/setup.py @@ -9,21 +9,22 @@ with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as readme: os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir))) install_requires = [ + 'django>=1.11,<2.0', + 'django-haystack==2.8.1', + 'django-bootstrap3==11.0.0', + 'django-filter==2.0.0', + 'djangorestframework==3.9.0', + 'dj-database-url==0.4.1', - 'django-haystack==2.6.0', - 'django>=1.10,<1.11', - 'django-bootstrap3==7.0.1', 'django-bower==5.2.0', 'django-braces==1.9.0', 'django-compressor==2.0', 'django-crispy-forms==1.6.1', 'django-extensions==1.9.8', 'django-extra-views==0.11.0', - 'django-filter==0.15.3', 'django-floppyforms==1.6.2', 'django-model-utils==3.1.1', 'django-sass-processor==0.5.8', - 'djangorestframework==3.4.0', 'drfdocs', 'easy-thumbnails==2.5', 'django-image-cropping==1.1.0', From 55963883265c9165aa62a8bf62e030395eb7d80b Mon Sep 17 00:00:00 2001 From: Leandro Roberto Date: Sat, 5 Jan 2019 04:40:44 -0200 Subject: [PATCH 02/20] =?UTF-8?q?altera=C3=A7=C3=B5es=20m=C3=ADnimas=20par?= =?UTF-8?q?a=20executar=20manage=20check?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/api/forms.py | 2 +- sapl/api/views.py | 5 +++-- sapl/settings.py | 7 ++++--- sapl/utils.py | 21 ++++++++++----------- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/sapl/api/forms.py b/sapl/api/forms.py index fecfbf598..0c8a1889f 100644 --- a/sapl/api/forms.py +++ b/sapl/api/forms.py @@ -6,8 +6,8 @@ from django.forms.widgets import MultiWidget, TextInput from django.utils import timezone from django.utils.translation import ugettext_lazy as _ from django_filters.filters import CharFilter, ModelChoiceFilter, DateFilter +from django_filters.rest_framework.filterset import FilterSet from rest_framework import serializers -from rest_framework.filters import FilterSet from sapl.base.models import Autor, TipoAutor from sapl.parlamentares.models import Legislatura diff --git a/sapl/api/views.py b/sapl/api/views.py index b8cafc1dd..336bb23d7 100644 --- a/sapl/api/views.py +++ b/sapl/api/views.py @@ -1,9 +1,10 @@ import logging + 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 rest_framework.filters import DjangoFilterBackend +from django_filters.rest_framework.backends import DjangoFilterBackend from rest_framework.generics import ListAPIView from rest_framework.mixins import ListModelMixin, RetrieveModelMixin from rest_framework.permissions import (AllowAny, IsAuthenticated, @@ -175,7 +176,7 @@ class AutoresProvaveisListView(ListAPIView): serializer_class = ChoiceSerializer def get_queryset(self): - + params = {'content_type__isnull': False} username = self.request.user.username tipo = '' diff --git a/sapl/settings.py b/sapl/settings.py index 80bf18273..63f18e325 100755 --- a/sapl/settings.py +++ b/sapl/settings.py @@ -90,6 +90,7 @@ INSTALLED_APPS = ( 'haystack', 'sass_processor', 'rest_framework', + 'django_filters', 'reversion', 'reversion_compare', 'whoosh', @@ -110,7 +111,7 @@ SOLR_URL = config('SOLR_URL', cast=str, default='http://localhost:8983') SOLR_COLLECTION = config('SOLR_COLLECTION', cast=str, default='sapl') if USE_SOLR: - HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor' #enable auto-index + HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor' # enable auto-index SEARCH_BACKEND = 'haystack.backends.solr_backend.SolrEngine' SEARCH_URL = ('URL', '{}/solr/{}'.format(SOLR_URL, SOLR_COLLECTION)) @@ -118,7 +119,7 @@ if USE_SOLR: HAYSTACK_CONNECTIONS = { 'default': { 'ENGINE': SEARCH_BACKEND, - SEARCH_URL[0]: SEARCH_URL[1], + SEARCH_URL[0]: SEARCH_URL[1], 'BATCH_SIZE': 1000, 'TIMEOUT': 60, }, @@ -166,7 +167,7 @@ REST_FRAMEWORK = { "DEFAULT_PAGINATION_CLASS": "sapl.api.pagination.StandardPagination", "DEFAULT_FILTER_BACKENDS": ( "rest_framework.filters.SearchFilter", - "rest_framework.filters.DjangoFilterBackend", + 'django_filters.rest_framework.DjangoFilterBackend', ), } diff --git a/sapl/utils.py b/sapl/utils.py index def839eb1..c884a8c48 100644 --- a/sapl/utils.py +++ b/sapl/utils.py @@ -21,7 +21,6 @@ from django.db.models import Q from django.utils import six, timezone from django.utils.translation import ugettext_lazy as _ import django_filters -from django_filters.filterset import STRICTNESS from easy_thumbnails import source_generators from floppyforms import ClearableFileInput import magic @@ -685,12 +684,12 @@ def qs_override_django_filter(self): valid = self.is_bound and self.form.is_valid() if self.is_bound and not valid: - if self.strict == STRICTNESS.RAISE_VALIDATION_ERROR: + """if self.strict == STRICTNESS.RAISE_VALIDATION_ERROR: raise forms.ValidationError(self.form.errors) - elif bool(self.strict) == STRICTNESS.RETURN_NO_RESULTS: - self._qs = self.queryset.none() - return self._qs - # else STRICTNESS.IGNORE... ignoring + elif bool(self.strict) == STRICTNESS.RETURN_NO_RESULTS:""" + self._qs = self.queryset.none() + return self._qs + # else STRICTNESS.IGNORE... ignoring # start with all the results and filter from there qs = self.queryset.all() @@ -703,12 +702,12 @@ def qs_override_django_filter(self): try: value = self.form.fields[name].clean(raw_value) except forms.ValidationError: - if self.strict == STRICTNESS.RAISE_VALIDATION_ERROR: + """if self.strict == STRICTNESS.RAISE_VALIDATION_ERROR: raise - elif bool(self.strict) == STRICTNESS.RETURN_NO_RESULTS: - self._qs = self.queryset.none() - return self._qs - # else STRICTNESS.IGNORE... ignoring + elif bool(self.strict) == STRICTNESS.RETURN_NO_RESULTS:""" + self._qs = self.queryset.none() + return self._qs + # else STRICTNESS.IGNORE... ignoring if value is not None: # valid & clean data qs = qs._next_is_sticky() From b4666807ab6c9f16101a2dd5cc832d580ef06c01 Mon Sep 17 00:00:00 2001 From: Leandro Roberto Date: Sat, 5 Jan 2019 04:52:22 -0200 Subject: [PATCH 03/20] =?UTF-8?q?adequa=C3=A7=C3=A3o=20de=20c=C3=B3digo=20?= =?UTF-8?q?na=20chamada=20do=20render=20de=20templates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/base/email_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sapl/base/email_utils.py b/sapl/base/email_utils.py index 024045edd..b41c68402 100644 --- a/sapl/base/email_utils.py +++ b/sapl/base/email_utils.py @@ -18,7 +18,7 @@ def load_email_templates(templates, context={}): emails = [] for t in templates: tpl = loader.get_template(t) - email = tpl.render(Context(context)) + email = tpl.render(context) if t.endswith(".html"): email = email.replace('\n', '').replace('\r', '') emails.append(email) From 243f984a13a60ef441daff8fef9dc8603be773a1 Mon Sep 17 00:00:00 2001 From: Leandro Roberto Date: Sun, 6 Jan 2019 16:21:20 -0200 Subject: [PATCH 04/20] remove django-compressor --- requirements/requirements.txt | 11 ++++++----- sapl/base/templatetags/common_tags.py | 15 ++++++++++----- sapl/crud/base.py | 15 +++++++++------ setup.py | 9 +++++---- 4 files changed, 30 insertions(+), 20 deletions(-) diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 69cb803f5..944b300d7 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -1,13 +1,12 @@ django>=1.11,<2.0 -django-haystack==2.8.1 django-bootstrap3==11.0.0 +django-haystack==2.8.1 django-filter==2.0.0 djangorestframework==3.9.0 - -dj-database-url==0.4.1 +dj-database-url==0.5.0 django-bower==5.2.0 django-braces==1.9.0 -django-compressor==2.0 + django-crispy-forms==1.6.1 django-extensions==1.9.8 django-extra-views==0.11.0 @@ -35,4 +34,6 @@ django-reversion-compare==0.8.4 #git+git://github.com/interlegis/trml2pdf.git #git+git://github.com/jasperlittle/django-rest-framework-docs -#git+git://github.com/rubgombar1/django-admin-bootstrapped.git \ No newline at end of file +#git+git://github.com/rubgombar1/django-admin-bootstrapped.git + +#django-compressor==2.2 \ No newline at end of file diff --git a/sapl/base/templatetags/common_tags.py b/sapl/base/templatetags/common_tags.py index 89f781558..884a6968f 100644 --- a/sapl/base/templatetags/common_tags.py +++ b/sapl/base/templatetags/common_tags.py @@ -1,8 +1,4 @@ -import logging - -from compressor.utils import get_class from django import template -from django.conf import settings from django.template.defaultfilters import stringfilter from sapl.base.models import AppConfig @@ -15,6 +11,15 @@ from sapl.utils import filiacao_data, SEPARADOR_HASH_PROPOSICAO register = template.Library() +def get_class(class_string): + if not hasattr(class_string, '__bases__'): + class_string = str(class_string) + dot = class_string.rindex('.') + mod_name, class_name = class_string[:dot], class_string[dot + 1:] + if class_name: + return getattr(__import__(mod_name, {}, {}, [str('')]), class_name) + + @register.simple_tag def define(arg): return arg @@ -228,7 +233,7 @@ def file_extension(value): def cronometro_to_seconds(value): if not AppConfig.attr('cronometro_' + value): return 0 - + return AppConfig.attr('cronometro_' + value).seconds diff --git a/sapl/crud/base.py b/sapl/crud/base.py index e720b36cd..faa0e1287 100644 --- a/sapl/crud/base.py +++ b/sapl/crud/base.py @@ -1,6 +1,6 @@ import logging + from braces.views import FormMessagesMixin -from compressor.utils.decorators import cached_property from crispy_forms.bootstrap import FieldWithButtons, StrictButton from crispy_forms.helper import FormHelper from crispy_forms.layout import Field, Layout @@ -16,6 +16,7 @@ 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.functional import cached_property from django.utils.translation import string_concat from django.utils.translation import ugettext_lazy as _ from django.views.generic import (CreateView, DeleteView, DetailView, ListView, @@ -29,6 +30,7 @@ from sapl.rules.map_rules import (RP_ADD, RP_CHANGE, RP_DELETE, RP_DETAIL, from sapl.settings import BASE_DIR from sapl.utils import normalize + ACTION_LIST, ACTION_CREATE, ACTION_DETAIL, ACTION_UPDATE, ACTION_DELETE = \ 'list', 'create', 'detail', 'update', 'delete' @@ -558,7 +560,8 @@ class CrudListView(PermissionRequiredContainerCrudMixin, ListView): fm = model._meta.get_field(fo) except Exception as e: username = self.request.user.username - self.logger.error("user=" + username + ". " + str(e)) + self.logger.error( + "user=" + username + ". " + str(e)) pass if fm and hasattr(fm, 'related_model')\ @@ -824,7 +827,7 @@ class CrudUpdateView(PermissionRequiredContainerCrudMixin, logger = logging.getLogger(__name__) def form_valid(self, form): - + self.object = form.instance try: self.object.modifier = self.request.user @@ -882,12 +885,12 @@ class CrudDeleteView(PermissionRequiredContainerCrudMixin, error_msg2 += '{} - {}, '.format( i._meta.verbose_name, i ) - error_msg2 = error_msg2[:len(error_msg2)-2] + '.' + error_msg2 = error_msg2[:len(error_msg2) - 2] + '.' error_msg += '' - + username = request.user.username self.logger.error("user=" + username + ". Registro não pode ser removido, pois " - "é referenciado por outros registros: " + error_msg2) + "é referenciado por outros registros: " + error_msg2) messages.add_message(request, messages.ERROR, error_msg) diff --git a/setup.py b/setup.py index a64217d42..e44ded347 100644 --- a/setup.py +++ b/setup.py @@ -10,15 +10,14 @@ os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir))) install_requires = [ 'django>=1.11,<2.0', - 'django-haystack==2.8.1', 'django-bootstrap3==11.0.0', + 'django-haystack==2.8.1', 'django-filter==2.0.0', 'djangorestframework==3.9.0', - - 'dj-database-url==0.4.1', + 'dj-database-url==0.5.0', 'django-bower==5.2.0', 'django-braces==1.9.0', - 'django-compressor==2.0', + 'django-crispy-forms==1.6.1', 'django-extensions==1.9.8', 'django-extra-views==0.11.0', @@ -47,6 +46,8 @@ install_requires = [ # 'git+git://github.com/interlegis/trml2pdf.git', # 'git+git://github.com/jasperlittle/django-rest-framework-docs' # 'git+git://github.com/rubgombar1/django-admin-bootstrapped.git'' + + #'django-compressor==2.2', ] setup( name='interlegis-sapl', From 22b87f36ebc8659a6ecaf8831ab0f425206b0993 Mon Sep 17 00:00:00 2001 From: Leandro Roberto Date: Sun, 6 Jan 2019 16:49:40 -0200 Subject: [PATCH 05/20] =?UTF-8?q?bump=20django-crispy-forms=20e=20ajustes?= =?UTF-8?q?=20de=20c=C3=B3digo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements/requirements.txt | 2 +- sapl/utils.py | 16 ++++++++++++---- setup.py | 4 ++-- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 944b300d7..7b6dc25c1 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -6,8 +6,8 @@ djangorestframework==3.9.0 dj-database-url==0.5.0 django-bower==5.2.0 django-braces==1.9.0 +django-crispy-forms==1.7.2 -django-crispy-forms==1.6.1 django-extensions==1.9.8 django-extra-views==0.11.0 django-floppyforms==1.6.2 diff --git a/sapl/utils.py b/sapl/utils.py index c884a8c48..706d5cb65 100644 --- a/sapl/utils.py +++ b/sapl/utils.py @@ -208,19 +208,27 @@ class RangeWidgetOverride(forms.MultiWidget): def __init__(self, attrs=None): widgets = (forms.DateInput(format='%d/%m/%Y', - attrs={'class': 'dateinput', + attrs={'class': 'dateinput form-control', 'placeholder': 'Inicial'}), forms.DateInput(format='%d/%m/%Y', - attrs={'class': 'dateinput', + attrs={'class': 'dateinput form-control', 'placeholder': 'Final'})) super(RangeWidgetOverride, self).__init__(widgets, attrs) def decompress(self, value): if value: return [value.start, value.stop] - return [None, None] + return [] + + def render(self, name, value, attrs=None, renderer=None): + rendered_widgets = [] + for i, x in enumerate(self.widgets): + rendered_widgets.append( + x.render( + '%s_%d' % (name, i), value[i] if value else '' + ) + ) - def format_output(self, rendered_widgets): html = '
%s
%s
'\ % tuple(rendered_widgets) return '
%s
' % html diff --git a/setup.py b/setup.py index e44ded347..018ff1002 100644 --- a/setup.py +++ b/setup.py @@ -17,8 +17,8 @@ install_requires = [ 'dj-database-url==0.5.0', 'django-bower==5.2.0', 'django-braces==1.9.0', + 'django-crispy-forms==1.7.2', - 'django-crispy-forms==1.6.1', 'django-extensions==1.9.8', 'django-extra-views==0.11.0', 'django-floppyforms==1.6.2', @@ -46,7 +46,7 @@ install_requires = [ # 'git+git://github.com/interlegis/trml2pdf.git', # 'git+git://github.com/jasperlittle/django-rest-framework-docs' # 'git+git://github.com/rubgombar1/django-admin-bootstrapped.git'' - + #'django-compressor==2.2', ] setup( From ca684e006734a94e10af7da367cba0c0db5747f8 Mon Sep 17 00:00:00 2001 From: Leandro Roberto Date: Sun, 6 Jan 2019 17:08:34 -0200 Subject: [PATCH 06/20] descomenta libs do requirements --- requirements/requirements.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 7b6dc25c1..4b869decc 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -32,8 +32,8 @@ whoosh==2.7.4 django-speedinfo==1.3.5 django-reversion-compare==0.8.4 -#git+git://github.com/interlegis/trml2pdf.git -#git+git://github.com/jasperlittle/django-rest-framework-docs -#git+git://github.com/rubgombar1/django-admin-bootstrapped.git +git+git://github.com/interlegis/trml2pdf.git +git+git://github.com/jasperlittle/django-rest-framework-docs +git+git://github.com/rubgombar1/django-admin-bootstrapped.git #django-compressor==2.2 \ No newline at end of file From 82fb5613c39f991a985f0291af0d6d95c86754d3 Mon Sep 17 00:00:00 2001 From: Leandro Roberto Date: Mon, 7 Jan 2019 00:43:54 -0200 Subject: [PATCH 07/20] bump django-floppyforms --- requirements/requirements.txt | 2 +- sapl/sessao/forms.py | 8 +++----- sapl/settings.py | 19 ++++++++++++------- sapl/static/styles/app.scss | 3 +++ .../parlamentares/parlamentares_list.html | 6 ++++-- setup.py | 4 ++-- 6 files changed, 25 insertions(+), 17 deletions(-) diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 4b869decc..524549446 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -7,10 +7,10 @@ dj-database-url==0.5.0 django-bower==5.2.0 django-braces==1.9.0 django-crispy-forms==1.7.2 +django-floppyforms==1.7.0 django-extensions==1.9.8 django-extra-views==0.11.0 -django-floppyforms==1.6.2 django-model-utils==3.1.1 django-sass-processor==0.5.8 easy-thumbnails==2.5 diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py index 35d49e277..68f6d3222 100644 --- a/sapl/sessao/forms.py +++ b/sapl/sessao/forms.py @@ -3,7 +3,6 @@ from datetime import datetime from crispy_forms.helper import FormHelper from crispy_forms.layout import HTML, Button, Fieldset, Layout from django import forms -from django.contrib import messages from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ObjectDoesNotExist, ValidationError from django.db import transaction @@ -12,22 +11,21 @@ from django.forms import ModelForm from django.forms.widgets import CheckboxSelectMultiple from django.utils.translation import ugettext_lazy as _ import django_filters -from floppyforms import widgets from sapl.base.models import Autor, TipoAutor from sapl.crispy_layout_mixin import form_actions, to_row, SaplFormLayout from sapl.materia.forms import MateriaLegislativaFilterSet from sapl.materia.models import (MateriaLegislativa, StatusTramitacao, TipoMateriaLegislativa) -from sapl.parlamentares.models import Parlamentar, Legislatura, Mandato +from sapl.parlamentares.models import Parlamentar, Mandato from sapl.utils import (RANGE_DIAS_MES, RANGE_MESES, MateriaPesquisaOrderingFilter, autor_label, autor_modal, timezone, choice_anos_com_sessaoplenaria) from .models import (Bancada, Bloco, ExpedienteMateria, JustificativaAusencia, Orador, OradorExpediente, OrdemDia, PresencaOrdemDia, SessaoPlenaria, - SessaoPlenariaPresenca, TipoJustificativa, TipoResultadoVotacao, - OcorrenciaSessao, RegistroVotacao, RetiradaPauta, TipoRetiradaPauta) + SessaoPlenariaPresenca, TipoResultadoVotacao, + OcorrenciaSessao, RetiradaPauta, TipoRetiradaPauta) MES_CHOICES = RANGE_MESES diff --git a/sapl/settings.py b/sapl/settings.py index 63f18e325..fbc19f53f 100755 --- a/sapl/settings.py +++ b/sapl/settings.py @@ -79,20 +79,25 @@ INSTALLED_APPS = ( 'django.contrib.messages', 'django.contrib.staticfiles', - # more - 'django_extensions', 'djangobower', - 'bootstrap3', # basically for django_admin_bootstrapped + 'bootstrap3', 'crispy_forms', - 'easy_thumbnails', - 'image_cropping', 'floppyforms', - 'haystack', - 'sass_processor', + 'rest_framework', 'django_filters', + + + + 'django_extensions', + 'easy_thumbnails', + 'image_cropping', + 'sass_processor', + 'reversion', 'reversion_compare', + + 'haystack', 'whoosh', 'speedinfo', diff --git a/sapl/static/styles/app.scss b/sapl/static/styles/app.scss index a0540b8e1..f05189142 100644 --- a/sapl/static/styles/app.scss +++ b/sapl/static/styles/app.scss @@ -451,6 +451,9 @@ nav { overflow-x: auto; } } +.lista-parlamentares .table td { + vertical-align: middle; +} @media (min-width: 1092px) and (max-width: 1199px) { .container { diff --git a/sapl/templates/parlamentares/parlamentares_list.html b/sapl/templates/parlamentares/parlamentares_list.html index bc3955b06..43627a9ad 100644 --- a/sapl/templates/parlamentares/parlamentares_list.html +++ b/sapl/templates/parlamentares/parlamentares_list.html @@ -21,7 +21,7 @@ {% if not rows %}

{{ NO_ENTRIES_MSG }}

{% else %} -
+
{% blocktrans with verbose_name_plural=view.verbose_name_plural %}Total de {{ verbose_name_plural }}: {{count}}{% endblocktrans %}
@@ -43,7 +43,9 @@ {% for value, href, obj in value_list %} {% if forloop.first %} {% endif %}