Browse Source

Merge branch '3.1.x' into docker-refactoring

pull/3787/head
Edward 2 months ago
committed by GitHub
parent
commit
105ba2861d
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 3
      frontend/src/__global/scss/layouts/_globals.scss
  2. 490
      frontend/webpack-stats.json
  3. 1
      sapl/base/apps.py
  4. 23
      sapl/materia/views.py
  5. 7
      sapl/norma/views.py
  6. 8
      sapl/protocoloadm/views.py
  7. 71
      sapl/relatorios/forms.py
  8. 8
      sapl/relatorios/urls.py
  9. 78
      sapl/relatorios/views.py
  10. 13
      sapl/sessao/models.py
  11. 42
      sapl/sessao/views.py
  12. BIN
      sapl/static/sapl/frontend/css/chunk-vendors.045ec640.css.gz
  13. BIN
      sapl/static/sapl/frontend/css/compilacao.0baf3580.css.gz
  14. 2
      sapl/static/sapl/frontend/css/global.042f6737.css
  15. BIN
      sapl/static/sapl/frontend/css/global.042f6737.css.gz
  16. BIN
      sapl/static/sapl/frontend/css/painel.e2b9504e.css.gz
  17. BIN
      sapl/static/sapl/frontend/fonts/fa-brands-400.5d18d427.ttf.gz
  18. BIN
      sapl/static/sapl/frontend/fonts/fa-regular-400.81482cd4.ttf.gz
  19. BIN
      sapl/static/sapl/frontend/fonts/fa-solid-900.69d3141a.ttf.gz
  20. BIN
      sapl/static/sapl/frontend/fonts/fa-v4compatibility.2c070fd2.ttf.gz
  21. BIN
      sapl/static/sapl/frontend/img/down_arrow_select.jpg.gz
  22. BIN
      sapl/static/sapl/frontend/js/chunk-vendors.e8ab4373.js.LICENSE.txt.gz
  23. BIN
      sapl/static/sapl/frontend/js/chunk-vendors.e8ab4373.js.gz
  24. 0
      sapl/static/sapl/frontend/js/compilacao.148cb66b.js
  25. BIN
      sapl/static/sapl/frontend/js/compilacao.148cb66b.js.gz
  26. BIN
      sapl/static/sapl/frontend/js/global.8ef6e932.js.gz
  27. 2
      sapl/static/sapl/frontend/js/global.bb3e904b.js
  28. 0
      sapl/static/sapl/frontend/js/global.bb3e904b.js.LICENSE.txt
  29. BIN
      sapl/static/sapl/frontend/js/global.bb3e904b.js.gz
  30. 0
      sapl/static/sapl/frontend/js/painel.f3190acc.js
  31. BIN
      sapl/static/sapl/frontend/js/painel.f3190acc.js.gz
  32. 0
      sapl/static/sapl/frontend/js/parlamentar.a1a4b65b.js
  33. BIN
      sapl/static/sapl/frontend/js/parlamentar.a1a4b65b.js.gz
  34. BIN
      sapl/static/sapl/frontend/js/skins/content/dark/content.css.gz
  35. BIN
      sapl/static/sapl/frontend/js/skins/content/dark/content.js.gz
  36. BIN
      sapl/static/sapl/frontend/js/skins/content/dark/content.min.css.gz
  37. BIN
      sapl/static/sapl/frontend/js/skins/content/default/content.css.gz
  38. BIN
      sapl/static/sapl/frontend/js/skins/content/default/content.js.gz
  39. BIN
      sapl/static/sapl/frontend/js/skins/content/default/content.min.css.gz
  40. BIN
      sapl/static/sapl/frontend/js/skins/content/document/content.css.gz
  41. BIN
      sapl/static/sapl/frontend/js/skins/content/document/content.js.gz
  42. BIN
      sapl/static/sapl/frontend/js/skins/content/document/content.min.css.gz
  43. BIN
      sapl/static/sapl/frontend/js/skins/content/tinymce-5-dark/content.css.gz
  44. BIN
      sapl/static/sapl/frontend/js/skins/content/tinymce-5-dark/content.js.gz
  45. BIN
      sapl/static/sapl/frontend/js/skins/content/tinymce-5-dark/content.min.css.gz
  46. BIN
      sapl/static/sapl/frontend/js/skins/content/tinymce-5/content.css.gz
  47. BIN
      sapl/static/sapl/frontend/js/skins/content/tinymce-5/content.js.gz
  48. BIN
      sapl/static/sapl/frontend/js/skins/content/tinymce-5/content.min.css.gz
  49. BIN
      sapl/static/sapl/frontend/js/skins/content/writer/content.css.gz
  50. BIN
      sapl/static/sapl/frontend/js/skins/content/writer/content.js.gz
  51. BIN
      sapl/static/sapl/frontend/js/skins/content/writer/content.min.css.gz
  52. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide-dark/content.css.gz
  53. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide-dark/content.inline.css.gz
  54. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide-dark/content.inline.js.gz
  55. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide-dark/content.inline.min.css.gz
  56. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide-dark/content.js.gz
  57. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide-dark/content.min.css.gz
  58. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide-dark/skin.css.gz
  59. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide-dark/skin.js.gz
  60. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide-dark/skin.min.css.gz
  61. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide-dark/skin.shadowdom.css.gz
  62. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide-dark/skin.shadowdom.js.gz
  63. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide-dark/skin.shadowdom.min.css.gz
  64. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide/content.css.gz
  65. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide/content.inline.css.gz
  66. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide/content.inline.js.gz
  67. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide/content.inline.min.css.gz
  68. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide/content.js.gz
  69. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide/content.min.css.gz
  70. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide/skin.css.gz
  71. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide/skin.js.gz
  72. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide/skin.min.css.gz
  73. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide/skin.shadowdom.css.gz
  74. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide/skin.shadowdom.js.gz
  75. BIN
      sapl/static/sapl/frontend/js/skins/ui/oxide/skin.shadowdom.min.css.gz
  76. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/content.css.gz
  77. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/content.inline.css.gz
  78. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/content.inline.js.gz
  79. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/content.inline.min.css.gz
  80. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/content.js.gz
  81. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/content.min.css.gz
  82. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/skin.css.gz
  83. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/skin.js.gz
  84. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/skin.min.css.gz
  85. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/skin.shadowdom.css.gz
  86. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/skin.shadowdom.js.gz
  87. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/skin.shadowdom.min.css.gz
  88. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5/content.css.gz
  89. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5/content.inline.css.gz
  90. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5/content.inline.js.gz
  91. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5/content.inline.min.css.gz
  92. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5/content.js.gz
  93. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5/content.min.css.gz
  94. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5/skin.css.gz
  95. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5/skin.js.gz
  96. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5/skin.min.css.gz
  97. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5/skin.shadowdom.css.gz
  98. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5/skin.shadowdom.js.gz
  99. BIN
      sapl/static/sapl/frontend/js/skins/ui/tinymce-5/skin.shadowdom.min.css.gz
  100. 2
      sapl/templates/base.html

3
frontend/src/__global/scss/layouts/_globals.scss

@ -187,4 +187,7 @@ small {
a[href]:after {
content: none !important;
}
.btn-vlibras {
display: none !important;
}
}

490
frontend/webpack-stats.json

File diff suppressed because it is too large

1
sapl/base/apps.py

@ -1,4 +1,3 @@
import django
from django.utils.translation import ugettext_lazy as _

23
sapl/materia/views.py

@ -2045,22 +2045,29 @@ class MateriaLegislativaPesquisaView(MultiFormatOutputMixin, FilterView):
filterset_class = MateriaLegislativaFilterSet
paginate_by = 50
fields_base_report = [
'id', 'ano', 'numero', 'tipo__sigla', 'tipo__descricao', 'autoria__autor__nome', 'texto_original', 'ementa'
export_fields = [
'id', 'ano', 'numero', 'tipo__sigla', 'tipo__descricao', 'autoria', 'texto_original', 'ementa'
]
fields_report = {
'csv': fields_base_report,
'xlsx': fields_base_report,
'json': fields_base_report,
}
def hook_texto_original(self, obj):
url = self.request.build_absolute_uri('/')[:-1]
texto_original = obj.texto_original if not isinstance(
obj, dict) else obj["texto_original"]
return f'{url}/media/{texto_original}'
def hook_autoria(self, obj):
"""
Hook específico para pegar nomes dos autores (reverse query)
"""
try:
autores = [
str(autoria.autor.nome)
for autoria in obj.autoria_set.select_related('autor').all()
]
return ', '.join(autores)
except AttributeError:
return ''
def get_filterset_kwargs(self, filterset_class):
super().get_filterset_kwargs(filterset_class)

7
sapl/norma/views.py

@ -152,14 +152,9 @@ class NormaPesquisaView(MultiFormatOutputMixin, FilterView):
filterset_class = NormaFilterSet
paginate_by = 50
fields_base_report = [
export_fields = [
'id', 'ano', 'numero', 'tipo__sigla', 'tipo__descricao', 'texto_integral', 'ementa'
]
fields_report = {
'csv': fields_base_report,
'xlsx': fields_base_report,
'json': fields_base_report,
}
def hook_texto_integral(self, obj):
url = self.request.build_absolute_uri('/')[:-1]

8
sapl/protocoloadm/views.py

@ -992,7 +992,6 @@ class ProtocoloMateriaView(PermissionRequiredMixin, CreateView):
def get_context_data(self, **kwargs):
context = super(CreateView, self).get_context_data(**kwargs)
autores_ativos = self.autores_ativos()
autores = []
autores.append(['0', '------'])
for a in autores_ativos:
@ -1042,14 +1041,9 @@ class PesquisarDocumentoAdministrativoView(DocumentoAdministrativoMixin,
paginate_by = 10
permission_required = ('protocoloadm.list_documentoadministrativo', )
fields_base_report = [
export_fields = [
'id', 'ano', 'numero', 'tipo__sigla', 'tipo__descricao', 'assunto'
]
fields_report = {
'csv': fields_base_report,
'xlsx': fields_base_report,
'json': fields_base_report,
}
def get_filterset_kwargs(self, filterset_class):
super(PesquisarDocumentoAdministrativoView,

71
sapl/relatorios/forms.py

@ -3,17 +3,19 @@ from crispy_forms.bootstrap import (FormActions)
from crispy_forms.layout import (HTML, Button, Fieldset,
Layout, Submit)
from django import forms
from django.forms import ModelChoiceField
from django.utils.translation import ugettext_lazy as _
from django.db.models import Q
from sapl.audiencia.models import AudienciaPublica
from sapl.base.models import Autor
from sapl.comissoes.models import Reuniao
from sapl.crispy_layout_mixin import SaplFormHelper, to_row, form_actions
from sapl.materia.models import DocumentoAcessorio, MateriaLegislativa, MateriaEmTramitacao, UnidadeTramitacao, \
StatusTramitacao
StatusTramitacao, TipoMateriaLegislativa
from sapl.norma.models import NormaJuridica
from sapl.protocoloadm.models import DocumentoAdministrativo
from sapl.sessao.models import SessaoPlenaria
from sapl.sessao.models import SessaoPlenaria, VotoParlamentar, RegistroVotacao
from sapl.utils import FilterOverridesMetaMixin, choice_anos_com_normas, qs_override_django_filter, \
choice_anos_com_materias, choice_tipos_normas, autor_label, autor_modal
@ -68,6 +70,71 @@ class RelatorioDocumentosAcessoriosFilterSet(django_filters.FilterSet):
)
class RelatorioVotacoesNominaisFilterSet(django_filters.FilterSet):
tipo_id = django_filters.ModelChoiceFilter(
queryset=TipoMateriaLegislativa.objects.all(),
method='ordem_or_expediente',
label='Tipo de Matéria',
empty_label="---------"
)
numero = django_filters.NumberFilter(
widget=forms.NumberInput(attrs={'class': 'form-control', 'step': 'any'}),
method='ordem_or_expediente',
label='Número'
)
ano = django_filters.ChoiceFilter(
choices=list(choice_anos_com_materias()),
widget=forms.Select(attrs={'class': 'form-control'}),
method='ordem_or_expediente',
label='Ano da Matéria'
)
def ordem_or_expediente(self, queryset, name, value):
if value is None:
return queryset
value = getattr(value, "pk", value)
ordem_q = f"ordem__materia__{name}"
expediente_q = f"expediente__materia__{name}"
return queryset.filter(Q(**{ordem_q: val})|Q(**{expediente_q: val}))
return queryset
class Meta(FilterOverridesMetaMixin):
model = RegistroVotacao
fields = ['data_hora']
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.filters['data_hora'].label = 'Período (Data Inicial - Data Final)'
row0= to_row([('tipo_id', 6), ('numero', 3), ('ano', 3)])
row1 = to_row([('data_hora', 12)])
buttons = FormActions(
*[
HTML("""
<div class="form-check">
<input name="relatorio" type="checkbox" class="form-check-input" id="relatorio">
<label class="form-check-label" for="relatorio">Gerar relatório PDF</label>
</div>
""")
],
Submit('pesquisar', _('Pesquisar'), css_class='float-right',
onclick='return true;'),
css_class='form-group row justify-content-between',
)
self.form.helper = SaplFormHelper()
self.form.helper.form_method = 'GET'
self.form.helper.layout = Layout(
Fieldset(_('Pesquisa'),
row0, row1,
buttons)
)
class RelatorioAtasFilterSet(django_filters.FilterSet):
class Meta(FilterOverridesMetaMixin):
model = SessaoPlenaria

8
sapl/relatorios/urls.py

@ -11,7 +11,7 @@ from .views import (relatorio_capa_processo,
RelatorioMateriasTramitacaoView, RelatorioMateriaAnoAssuntoView, RelatorioHistoricoTramitacaoView,
RelatorioDataFimPrazoTramitacaoView, RelatorioPresencaSessaoView, RelatorioAtasView,
RelatorioReuniaoView, RelatorioAudienciaView, RelatorioHistoricoTramitacaoAdmView,
RelatorioDocumentosAcessoriosView, RelatorioNormasPorAutorView)
RelatorioDocumentosAcessoriosView, RelatorioNormasPorAutorView, RelatorioVotacoesNominaisView)
from ..base.views import EstatisticasAcessoNormas
app_name = AppConfig.name
@ -95,6 +95,10 @@ urlpatterns = [
url(r'^sistema/relatorios/documentos_acessorios$',
RelatorioDocumentosAcessoriosView.as_view(),
name='relatorio_documentos_acessorios'),
url(r'^sistema/relatorios/votacoes_nominais$',
RelatorioVotacoesNominaisView.as_view(),
name='relatorio_votacoes_nominais'),
url(r'^sistema/relatorios/normas-por-autor$',
RelatorioNormasPorAutorView.as_view(), name='normas_por_autor'),
]
]

78
sapl/relatorios/views.py

@ -31,7 +31,8 @@ from sapl.relatorios.forms import RelatorioNormasPorAutorFilterSet, RelatorioHis
RelatorioNormasVigenciaFilterSet, RelatorioNormasMesFilterSet, RelatorioMateriasPorAutorFilterSet, \
RelatorioMateriasPorAnoAutorTipoFilterSet, RelatorioMateriasTramitacaoFilterSet, RelatorioAudienciaFilterSet, \
RelatorioReuniaoFilterSet, RelatorioDataFimPrazoTramitacaoFilterSet, RelatorioHistoricoTramitacaoFilterSet, \
RelatorioPresencaSessaoFilterSet, RelatorioAtasFilterSet, RelatorioDocumentosAcessoriosFilterSet
RelatorioPresencaSessaoFilterSet, RelatorioAtasFilterSet, RelatorioDocumentosAcessoriosFilterSet, \
RelatorioVotacoesNominaisFilterSet
from sapl.sessao.models import (ExpedienteMateria, ExpedienteSessao,
IntegranteMesa, JustificativaAusencia,
Orador, OradorExpediente,
@ -50,7 +51,7 @@ from sapl.sessao.views import (get_identificacao_basica, get_mesa_diretora,
from sapl.settings import MEDIA_URL
from sapl.settings import STATIC_ROOT
from sapl.utils import LISTA_DE_UFS, TrocaTag, filiacao_data, create_barcode, show_results_filter_set, \
num_materias_por_tipo, parlamentares_ativos
num_materias_por_tipo, parlamentares_ativos, MultiFormatOutputMixin
from .templates import (pdf_capa_processo_gerar,
pdf_documento_administrativo_gerar, pdf_espelho_gerar,
pdf_etiqueta_protocolo_gerar, pdf_materia_gerar,
@ -1560,6 +1561,10 @@ def relatorio_documento_acessorio(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_documento_acessorio.html')
def relatorio_votacao_nominal(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_votacao_nominal.html')
def relatorio_normas_por_autor(obj, request, context):
return cria_relatorio(request, context, 'relatorios/relatorio_normas_por_autor.html')
@ -1880,6 +1885,75 @@ class RelatorioDocumentosAcessoriosView(RelatorioMixin, FilterView):
return context
class RelatorioVotacoesNominaisView(RelatorioMixin, MultiFormatOutputMixin, FilterView):
model = VotoParlamentar
filterset_class = RelatorioVotacoesNominaisFilterSet
template_name = 'relatorios/RelatorioVotacoesNominais_filter.html'
relatorio = relatorio_votacao_nominal
paginate_by = 20
export_fields = [
'votacao_id', 'votacao', 'parlamentar__nome_parlamentar', 'voto'
]
def get_queryset(self):
query_params = Q(ordem__tipo_votacao=2)|Q(expediente__tipo_votacao=2)
if 'format' in self.request.GET:
order_fields = ['-votacao_id', 'parlamentar']
qs = VotoParlamentar.objects.filter(query_params).order_by(*order_fields)
else:
order_fields = ['-id']
qs = RegistroVotacao.objects.filter(query_params).order_by(*order_fields)
return qs
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['title'] = _('Votações Nominais')
if not self.filterset.form.is_valid():
return context
query_dict = self.request.GET.copy()
if 'page' in query_dict:
del query_dict['page']
context['filter_url'] = f"&{query_dict.urlencode()}" if query_dict else ''
context['show_results'] = show_results_filter_set(query_dict)
data_inicial = self.request.GET.get('data_hora_0', '')
data_final = self.request.GET.get('data_hora_1', '')
if not data_inicial:
data_inicial = "Data Inicial não definida"
if not data_final:
data_final = "Data Final não definida"
context['periodo'] = f"{data_inicial} - {data_final}"
tipo_id = self.request.GET.get('tipo_id')
numero = self.request.GET.get('numero')
ano = self.request.GET.get('ano')
if tipo_id:
context['tipo_materia'] = TipoMateriaLegislativa.objects.get(id=tipo_id)
if numero:
context['numero'] = int(numero)
if ano:
context['ano'] = ano
if 'relatorio' not in self.request.GET:
paginator = context['paginator']
page_obj = context['page_obj']
context['page_range'] = make_pagination(
page_obj.number, paginator.num_pages)
context['qtde_votacoes'] = paginator.count
else:
self.paginate_by = None
context['qtde_votacoes'] = len(context['object_list'])
return context
class RelatorioAtasView(RelatorioMixin, FilterView):
model = SessaoPlenaria
filterset_class = RelatorioAtasFilterSet

13
sapl/sessao/models.py

@ -641,11 +641,14 @@ class RegistroVotacao(models.Model):
ordering = ('id',)
def __str__(self):
return _('Ordem: %(ordem)s - Votação: %(votacao)s - '
'Matéria: %(materia)s') % {
'ordem': self.ordem,
'votacao': self.tipo_resultado_votacao,
'materia': self.materia}
if self.ordem:
return _('Ordem: %(ordem)s - Votação: %(votacao)s') % {
'ordem': self.ordem,
'votacao': self.tipo_resultado_votacao}
else:
return _('Expediente: %(expediente)s - Votação: %(votacao)s') % {
'expediente': self.expediente,
'votacao': self.tipo_resultado_votacao}
def clean(self):
"""Exatamente um dos campos ordem ou expediente deve estar preenchido.

42
sapl/sessao/views.py

@ -3813,22 +3813,23 @@ class PautaSessaoDetailView(PautaMultiFormatOutputMixin, DetailView):
template_name = "sessao/pauta_sessao_detail.html"
model = SessaoPlenaria
queryset_values_for_formats = False
export_fields = (
('id', 'ID'),
('periodo', 'Período'),
('titulo', 'Matéria'),
('autor', 'Autor'),
('ementa', 'Ementa'),
('situacao', 'Situação')
)
fields_base_report = [
[('id', 'ID'), ('titulo', 'Matéria'), ('autor', 'Autor'), ('ementa', 'Ementa'), ('situacao', 'Situação')],
[('id', 'ID'), ('titulo', 'Matéria'), ('autor', 'Autor'), ('ementa', 'Ementa'), ('situacao', 'Situação')]
]
fields_report = {
'csv': fields_base_report,
'xlsx': fields_base_report,
'json': fields_base_report,
}
def hook_autor(self, obj):
return ','.join(obj['autor'])
def hook_titulo(self, obj):
return str(obj['titulo'])
item_context = [
('materia_expediente', 'Matérias do Expediente'),
('materias_ordem', 'Matérias da Ordem do Dia')
]
def hook_situacao(self, obj):
return str(obj['situacao'])
def get(self, request, *args, **kwargs):
from sapl.relatorios.views import relatorio_pauta_sessao_weasy # Evitar import ciclico
@ -3888,7 +3889,8 @@ class PautaSessaoDetailView(PautaMultiFormatOutputMixin, DetailView):
'situacao': ultima_tramitacao.status if ultima_tramitacao else _("Não informada"),
'processo': f'{str(numeracao.numero_materia)}/{str(numeracao.ano_materia)}' if numeracao else '-',
'autor': [str(x.autor) for x in m.materia.autoria_set.select_related('autor').all()],
'turno': get_turno(ultima_tramitacao.turno) if ultima_tramitacao else ''
'turno': get_turno(ultima_tramitacao.turno) if ultima_tramitacao else '',
'periodo': 'expediente',
})
context.update({'materia_expediente': materias_expediente})
@ -3972,7 +3974,8 @@ class PautaSessaoDetailView(PautaMultiFormatOutputMixin, DetailView):
'situacao': ultima_tramitacao.status if ultima_tramitacao else _("Não informada"),
'processo': f'{str(numeracao.numero_materia)}/{str(numeracao.ano_materia)}' if numeracao else '-',
'autor': [str(x.autor) for x in Autoria.objects.select_related("autor").filter(materia_id=o.materia_id)],
'turno': get_turno(ultima_tramitacao.turno) if ultima_tramitacao else ''
'turno': get_turno(ultima_tramitacao.turno) if ultima_tramitacao else '',
'periodo': 'ordem dia',
})
context.update({
@ -3998,14 +4001,9 @@ class PesquisarSessaoPlenariaView(MultiFormatOutputMixin, FilterView):
queryset_values_for_formats = False
fields_base_report = [
export_fields = [
'id', 'data_inicio', 'hora_inicio', 'data_fim', 'hora_fim', '',
]
fields_report = {
'csv': fields_base_report,
'xlsx': fields_base_report,
'json': fields_base_report,
}
def get_filterset_kwargs(self, filterset_class):
super().get_filterset_kwargs(filterset_class)

BIN
sapl/static/sapl/frontend/css/chunk-vendors.045ec640.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/css/compilacao.0baf3580.css.gz

Binary file not shown.

2
sapl/static/sapl/frontend/css/global.45591136.css → sapl/static/sapl/frontend/css/global.042f6737.css

File diff suppressed because one or more lines are too long

BIN
sapl/static/sapl/frontend/css/global.45591136.css.gz → sapl/static/sapl/frontend/css/global.042f6737.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/css/painel.e2b9504e.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/fonts/fa-brands-400.5d18d427.ttf.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/fonts/fa-regular-400.81482cd4.ttf.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/fonts/fa-solid-900.69d3141a.ttf.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/fonts/fa-v4compatibility.2c070fd2.ttf.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/img/down_arrow_select.jpg.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/chunk-vendors.e8ab4373.js.LICENSE.txt.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/chunk-vendors.e8ab4373.js.gz

Binary file not shown.

0
sapl/static/sapl/frontend/js/compilacao.d3adb1c1.js → sapl/static/sapl/frontend/js/compilacao.148cb66b.js

BIN
sapl/static/sapl/frontend/js/compilacao.d3adb1c1.js.gz → sapl/static/sapl/frontend/js/compilacao.148cb66b.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/global.8ef6e932.js.gz

Binary file not shown.

2
sapl/static/sapl/frontend/js/global.8ef6e932.js → sapl/static/sapl/frontend/js/global.bb3e904b.js

File diff suppressed because one or more lines are too long

0
sapl/static/sapl/frontend/js/global.8ef6e932.js.LICENSE.txt → sapl/static/sapl/frontend/js/global.bb3e904b.js.LICENSE.txt

BIN
sapl/static/sapl/frontend/js/global.bb3e904b.js.gz

Binary file not shown.

0
sapl/static/sapl/frontend/js/painel.73a4fb17.js → sapl/static/sapl/frontend/js/painel.f3190acc.js

BIN
sapl/static/sapl/frontend/js/painel.73a4fb17.js.gz → sapl/static/sapl/frontend/js/painel.f3190acc.js.gz

Binary file not shown.

0
sapl/static/sapl/frontend/js/parlamentar.f0710dca.js → sapl/static/sapl/frontend/js/parlamentar.a1a4b65b.js

BIN
sapl/static/sapl/frontend/js/parlamentar.f0710dca.js.gz → sapl/static/sapl/frontend/js/parlamentar.a1a4b65b.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/dark/content.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/dark/content.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/dark/content.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/default/content.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/default/content.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/default/content.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/document/content.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/document/content.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/document/content.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/tinymce-5-dark/content.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/tinymce-5-dark/content.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/tinymce-5-dark/content.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/tinymce-5/content.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/tinymce-5/content.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/tinymce-5/content.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/writer/content.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/writer/content.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/content/writer/content.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide-dark/content.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide-dark/content.inline.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide-dark/content.inline.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide-dark/content.inline.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide-dark/content.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide-dark/content.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide-dark/skin.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide-dark/skin.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide-dark/skin.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide-dark/skin.shadowdom.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide-dark/skin.shadowdom.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide-dark/skin.shadowdom.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide/content.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide/content.inline.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide/content.inline.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide/content.inline.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide/content.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide/content.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide/skin.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide/skin.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide/skin.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide/skin.shadowdom.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide/skin.shadowdom.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/oxide/skin.shadowdom.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/content.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/content.inline.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/content.inline.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/content.inline.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/content.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/content.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/skin.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/skin.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/skin.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/skin.shadowdom.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/skin.shadowdom.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5-dark/skin.shadowdom.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5/content.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5/content.inline.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5/content.inline.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5/content.inline.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5/content.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5/content.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5/skin.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5/skin.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5/skin.min.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5/skin.shadowdom.css.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5/skin.shadowdom.js.gz

Binary file not shown.

BIN
sapl/static/sapl/frontend/js/skins/ui/tinymce-5/skin.shadowdom.min.css.gz

Binary file not shown.

2
sapl/templates/base.html

@ -251,7 +251,7 @@
{% endblock footer_container %}
{% endif %}
<div vw class="enabled">
<div vw class="enabled btn-vlibras">
<div vw-access-button class="active"></div>
<div vw-plugin-wrapper>
<div class="vw-plugin-top-wrapper"></div>

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

Loading…
Cancel
Save