diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index 87e3cee96..70907e0a4 100644 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -1448,257 +1448,8 @@ class ResumoView(DetailView): 'decimo_ordenacao': dict_ord_template['oradores_expli']}) return self.render_to_response(context) -class ResumoAtaView(DetailView): +class ResumoAtaView(ResumoView): template_name = 'sessao/resumo_ata.html' - model = SessaoPlenaria - - def get(self, request, *args, **kwargs): - self.object = self.get_object() - context = self.get_context_data(object=self.object) - - # ===================================================================== - # Identificação Básica - data_inicio = self.object.data_inicio - abertura = data_inicio.strftime('%d/%m/%Y') if data_inicio else '' - - data_fim = self.object.data_fim - encerramento = data_fim.strftime('%d/%m/%Y') + ' -' if data_fim else '' - - context.update({'basica': [ - _('Tipo de Sessão: %(tipo)s') % {'tipo': self.object.tipo}, - _('Abertura: %(abertura)s - %(hora_inicio)s') % { - 'abertura': abertura, 'hora_inicio': self.object.hora_inicio}, - _('Encerramento: %(encerramento)s %(hora_fim)s') % { - 'encerramento': encerramento, 'hora_fim': self.object.hora_fim} - ]}) - # ===================================================================== - # Conteúdo Multimídia - if self.object.url_audio: - context.update({'multimidia_audio': - _('Audio: ') + str(self.object.url_audio)}) - else: - context.update({'multimidia_audio': _('Audio: Indisponível')}) - - if self.object.url_video: - context.update({'multimidia_video': - _('Video: ') + str(self.object.url_video)}) - else: - context.update({'multimidia_video': _('Video: Indisponível')}) - - # ===================================================================== - # Mesa Diretora - mesa = IntegranteMesa.objects.filter( - sessao_plenaria=self.object) - - integrantes = [] - for m in mesa: - parlamentar = Parlamentar.objects.get( - id=m.parlamentar_id) - cargo = CargoMesa.objects.get( - id=m.cargo_id) - integrante = {'parlamentar': parlamentar, 'cargo': cargo} - integrantes.append(integrante) - - context.update({'mesa': ordenar_integrantes_por_cargo(integrantes)}) - - # ===================================================================== - # Presença Sessão - presencas = SessaoPlenariaPresenca.objects.filter( - sessao_plenaria_id=self.object.id - ).order_by('parlamentar__nome_parlamentar') - - parlamentares_sessao = [p.parlamentar for p in presencas] - - context.update({'presenca_sessao': parlamentares_sessao}) - - # ===================================================================== - # Expedientes - expediente = ExpedienteSessao.objects.filter( - sessao_plenaria_id=self.object.id).order_by('tipo__nome') - - expedientes = [] - for e in expediente: - tipo = TipoExpediente.objects.get(id=e.tipo_id) - conteudo = e.conteudo - ex = {'tipo': tipo, 'conteudo': conteudo} - expedientes.append(ex) - context.update({'expedientes': expedientes}) - - # ===================================================================== - # Matérias Expediente - materias = ExpedienteMateria.objects.filter( - sessao_plenaria_id=self.object.id) - - materias_expediente = [] - for m in materias: - - ementa = m.materia.ementa - titulo = m.materia - numero = m.numero_ordem - tramitacao = m.materia.tramitacao_set.last() - turno = None - if tramitacao: - turno = get_turno(tramitacao.turno) - - rv = m.registrovotacao_set.first() - if rv: - resultado = rv.tipo_resultado_votacao.nome - resultado_observacao = rv.observacao - - else: - resultado = _('Matéria não votada') - resultado_observacao = _(' ') - - autoria = Autoria.objects.filter(materia_id=m.materia_id) - autor = [str(x.autor) for x in autoria] - - mat = {'ementa': ementa, - 'titulo': titulo, - 'numero': numero, - 'turno': turno, - 'resultado': resultado, - 'resultado_observacao': resultado_observacao, - 'autor': autor, - 'numero_protocolo': m.materia.numero_protocolo, - 'numero_processo': m.materia.numeracao_set.last() - } - materias_expediente.append(mat) - - context.update({'materia_expediente': materias_expediente}) - - # ===================================================================== - # Oradores Expediente - oradores = [] - for orador in OradorExpediente.objects.filter( - sessao_plenaria_id=self.object.id).order_by('numero_ordem'): - numero_ordem = orador.numero_ordem - url_discurso = orador.url_discurso - observacao = orador.observacao - parlamentar = Parlamentar.objects.get( - id=orador.parlamentar_id) - ora = {'numero_ordem': numero_ordem, - 'url_discurso': url_discurso, - 'parlamentar': parlamentar, - 'observacao' : observacao - } - oradores.append(ora) - - context.update({'oradores': oradores}) - - # ===================================================================== - # Presença Ordem do Dia - presencas = PresencaOrdemDia.objects.filter( - sessao_plenaria_id=self.object.id - ).order_by('parlamentar__nome_parlamentar') - - parlamentares_ordem = [p.parlamentar for p in presencas] - - context.update({'presenca_ordem': parlamentares_ordem}) - - # ===================================================================== - # Matérias Ordem do Dia - ordem = OrdemDia.objects.filter( - sessao_plenaria_id=self.object.id) - materias_ordem = [] - for o in ordem: - ementa = o.materia.ementa - titulo = o.materia - numero = o.numero_ordem - tramitacao = o.materia.tramitacao_set.last() - turno = None - if tramitacao: - turno = get_turno(tramitacao.turno) - - # Verificar resultado - rv = o.registrovotacao_set.filter(materia=o.materia).first() - if rv: - resultado = rv.tipo_resultado_votacao.nome - resultado_observacao = rv.observacao - else: - resultado = _('Matéria não votada') - resultado_observacao = _(' ') - - autoria = Autoria.objects.filter( - materia_id=o.materia_id) - autor = [str(x.autor) for x in autoria] - - mat = {'ementa': ementa, - 'titulo': titulo, - 'numero': numero, - 'turno': turno, - 'resultado': resultado, - 'resultado_observacao': resultado_observacao, - 'autor': autor, - 'numero_protocolo': o.materia.numero_protocolo, - 'numero_processo': o.materia.numeracao_set.last() - } - materias_ordem.append(mat) - - context.update({'materias_ordem': materias_ordem}) - - # ===================================================================== - # Oradores nas Explicações Pessoais - oradores_explicacoes = [] - for orador in Orador.objects.filter( - sessao_plenaria_id=self.object.id).order_by('numero_ordem'): - for parlamentar in Parlamentar.objects.filter( - id=orador.parlamentar.id): - partido_sigla = Filiacao.objects.filter( - parlamentar=parlamentar).last() - if not partido_sigla: - sigla = '' - else: - sigla = partido_sigla.partido.sigla - oradores = { - 'numero_ordem': orador.numero_ordem, - 'parlamentar': parlamentar, - 'sgl_partido': sigla - } - oradores_explicacoes.append(oradores) - context.update({'oradores_explicacoes': oradores_explicacoes}) - - # ===================================================================== - # Indica a ordem com a qual o template será renderizado - ordenacao = ResumoOrdenacao.objects.first() - dict_ord_template = { - 'cont_mult': 'conteudo_multimidia.html', - 'exp': 'expedientes.html', - 'id_basica': 'identificacao_basica.html', - 'lista_p': 'lista_presenca.html', - 'lista_p_o_d': 'lista_presenca_ordem_dia.html', - 'mat_exp': 'materias_expediente.html', - 'mat_o_d': 'materias_ordem_dia.html', - 'mesa_d': 'mesa_diretora.html', - 'oradores_exped': 'oradores_expediente.html', - 'oradores_expli': 'oradores_explicacoes.html' - } - - if ordenacao: - context.update( - {'primeiro_ordenacao': dict_ord_template[ordenacao.primeiro], - 'segundo_ordenacao': dict_ord_template[ordenacao.segundo], - 'terceiro_ordenacao': dict_ord_template[ordenacao.terceiro], - 'quarto_ordenacao': dict_ord_template[ordenacao.quarto], - 'quinto_ordenacao': dict_ord_template[ordenacao.quinto], - 'sexto_ordenacao': dict_ord_template[ordenacao.sexto], - 'setimo_ordenacao': dict_ord_template[ordenacao.setimo], - 'oitavo_ordenacao': dict_ord_template[ordenacao.oitavo], - 'nono_ordenacao': dict_ord_template[ordenacao.nono], - 'decimo_ordenacao': dict_ord_template[ordenacao.decimo]}) - else: - context.update( - {'primeiro_ordenacao': dict_ord_template['id_basica'], - 'segundo_ordenacao': dict_ord_template['cont_mult'], - 'terceiro_ordenacao': dict_ord_template['mesa_d'], - 'quarto_ordenacao': dict_ord_template['lista_p'], - 'quinto_ordenacao': dict_ord_template['exp'], - 'sexto_ordenacao': dict_ord_template['mat_exp'], - 'setimo_ordenacao': dict_ord_template['oradores_exped'], - 'oitavo_ordenacao': dict_ord_template['lista_p_o_d'], - 'nono_ordenacao': dict_ord_template['mat_o_d'], - 'decimo_ordenacao': dict_ord_template['oradores_expli']}) - - return self.render_to_response(context) class ExpedienteView(FormMixin, DetailView): template_name = 'sessao/expediente.html' diff --git a/sapl/templates/sessao/blocos_ata/expedientes.html b/sapl/templates/sessao/blocos_ata/expedientes.html index d5838cbe8..b0a13ccc4 100644 --- a/sapl/templates/sessao/blocos_ata/expedientes.html +++ b/sapl/templates/sessao/blocos_ata/expedientes.html @@ -2,7 +2,7 @@
Expedientes: {% for e in expedientes %} {{e.tipo}}: - {{e.conteudo}} + {{e.conteudo|striptags}} {% endfor %}
\ No newline at end of file