mirror of https://github.com/interlegis/sapl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
236 lines
13 KiB
236 lines
13 KiB
{% extends "crud/detail.html" %}
|
|
{% load i18n common_tags %}
|
|
{% load render_bundle from webpack_loader %}
|
|
|
|
{% block title %}
|
|
<h2 class="page-header">Sistema de Deliberação Remota (SDR)</h2>
|
|
{% endblock %}
|
|
|
|
{% block base_content %}
|
|
{{ block.super }}
|
|
{% if object %}
|
|
<div id="content">
|
|
<h4><b>Título:</b> {{ object.titulo }}<br/></h4>
|
|
<h4><b>Descrição:</b> {% if object.descricao %}{{ object.descricao }}{% else %}Sem descrição.{% endif %}<br/></h4>
|
|
<h5><b>ID:</b> {{ object.chat_id }}</h5><br/>
|
|
{% if is_parlamentar %}
|
|
<h4><b>Parlamentar:</b> {{ parlamentar.nome_parlamentar }}</h4><br/>
|
|
{% else %}
|
|
<h4><b>Usuário:</b> {{ nome_usuario }}</h4><br/>
|
|
{% endif %}
|
|
</div>
|
|
<div class="container">
|
|
{% if not object.finalizada %}
|
|
<div id="meet" class="col-md"></div>
|
|
{% else %}
|
|
<font size="3"><p align="center"><b>Atenção! Deliberação Remota finalizada.</b></p></font>
|
|
{% endif %}
|
|
<div id="painel" class="col-md">
|
|
{% if object.sessao_plenaria %}
|
|
<div class="row"><div id="dados_basicos" class="sm-12" style="margin-right:60px"></div></div>
|
|
<div class="row"><div id="titulo_expediente" class="sm-12" style="margin-right:60px"></div></div>
|
|
<div class="row">
|
|
<div id="presenca_sessao" class="sm-6" style="margin-top: 6px; margin-right:60px"></div>
|
|
<div id="oradores_expediente" class="sm-6" style="margin-top: 6px; margin-right:60px"></div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="sm-12">
|
|
<table class="table table-striped table-hover">
|
|
<thead id="thead_tabela_expediente"></thead>
|
|
<tbody id="materias_expediente"></tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="row"><div id="titulo_ordemdia" class="sm-12" style="margin-right:60px"></div></div>
|
|
<div class="row">
|
|
<div id="presenca_ordemdia" class="sm-6" style="margin-top: 6px; margin-right:60px"></div>
|
|
<div id="oradores_ordemdia" class="sm-6" style="margin-top: 6px; margin-right:60px"></div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="sm-12">
|
|
<table class="table table-striped table-hover">
|
|
<thead id="thead_tabela_ordemdia"></thead>
|
|
<tbody id=materias_ordemdia></tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% else %}
|
|
<font size="5"><p align="center"><b>Erro! Deliberação Remota não encontrada.</b></p></font>
|
|
{% endif %}
|
|
<br/>
|
|
{% endblock base_content %}
|
|
|
|
{% block extra_js %}
|
|
{{ block.super }}
|
|
<script src='https://meet.jit.si/external_api.js'></script>
|
|
<script language="Javascript">
|
|
api = undefined;
|
|
$(document).ready(function() {
|
|
const domain = 'meet.jit.si';
|
|
const options= {
|
|
roomName: '{{ object.chat_id }}',
|
|
// width: 700,
|
|
height: 700,
|
|
configOverwrite: { defaultLanguage: 'ptBR' },
|
|
parentNode: document.querySelector('#meet'),
|
|
interfaceConfigOverwrite: {TOOLBAR_BUTTONS: [
|
|
'microphone', 'camera', 'hangup', 'chat', 'recording', 'livestreaming', 'raisehand', 'videoquality', 'shortcuts', 'tileview'
|
|
]}
|
|
};
|
|
|
|
api = new JitsiMeetExternalAPI(domain, options);
|
|
|
|
api.executeCommand('toggleTileView');
|
|
// api.executeCommand('toggleChat');
|
|
api.executeCommand('subject', '{{ object.titulo }}');
|
|
api.executeCommand('displayName', '{{ nome_usuario }}');
|
|
|
|
// api.addEventListener('videoConferenceJoined', (response) => {
|
|
// api.executeCommand('password', {{ password }});
|
|
// });
|
|
|
|
api.on('readyToClose', () => {
|
|
console.log('Closed session');
|
|
window.location.href = "{% url 'sapl.sdr:deliberacaoremota_list' %}";
|
|
});
|
|
});
|
|
</script>
|
|
|
|
<script language="Javascript">
|
|
$(document).ready(function() { (function poll() {
|
|
"{% if user.is_anonymous %}"
|
|
window.location.href = "{% url 'sapl.base:login' %}?next=/sdr/chat/{{object.id}}"
|
|
"{% endif %}"
|
|
|
|
"{% if object.sessao_plenaria %}"
|
|
$.ajax({
|
|
url: "{% url 'sapl.sdr:dados_deliberacao_remota' object.sessao_plenaria.id %}",
|
|
type: "GET",
|
|
success: function(data) {
|
|
$("#dados_basicos").html(
|
|
"<br/><h3><b>Dados Básicos</b></h3>Sessão: " + data["sessao_plenaria"] + "<br/>Data Início: " + data["sessao_plenaria_data"] + "<br/>Hora Início: " +
|
|
data["sessao_plenaria_hora_inicio"] + "<br/>Iniciada: " + data["sessao_plenaria_iniciada"] + "<br/>"
|
|
);
|
|
|
|
if (data["f_em"]){
|
|
$("#titulo_expediente").html(
|
|
"<br/><h3><b>Expediente</b></h3>"
|
|
);
|
|
|
|
let presencas = "";
|
|
data["sessao_plenaria_presenca"].forEach(presenca => {
|
|
p = "<li>" + presenca + "</li>";
|
|
presencas = presencas + p;
|
|
});
|
|
if (!presencas){
|
|
presencas = "<li>Nenhum parlamentar presente.</li>";
|
|
}
|
|
$("#presenca_sessao").html("<h3>Presença</h3><ul>" + presencas + "<br/></ul>");
|
|
|
|
let oradores_expediente = "";
|
|
data["oradores_expediente"].forEach(orador => {
|
|
o = "<li>" + orador + "</li>";
|
|
oradores_expediente = oradores_expediente + o;
|
|
});
|
|
if (!oradores_expediente){
|
|
oradores_expediente = "<li>Nenhum orador nessa sessão.</li>";
|
|
}
|
|
$("#oradores_expediente").html("<h3>Oradores</h3>" + "<ul>" + oradores_expediente + "<br/></ul>");
|
|
|
|
$("#thead_tabela_expediente").html(
|
|
"<tr><th>Número Ordem</th><th>Matéria</th><th>Ementa</th><th>Resultado</th></tr>"
|
|
);
|
|
|
|
let materias_expediente = "";
|
|
data["materias_expediente"].forEach(materia_expediente => {
|
|
if (materia_expediente[3] === "Matéria sendo Lida" || materia_expediente[3] === "Matéria em Votação"){
|
|
expediente_1 = "<tr><td><font color='green'><b>" + materia_expediente[0] + "</b></font></td><td><font color='green'><b>" + materia_expediente[1];
|
|
expediente_2 = "</b></font></td><td><font color='green'><b>" + materia_expediente[2] + "</b></font></td><td><font color='green'><b>";
|
|
expediente_3 = materia_expediente[3] + "</b></font></td></tr>";
|
|
materias_expediente = materias_expediente + expediente_1 + expediente_2 + expediente_3;
|
|
} else {
|
|
expediente_1 = "<tr><td>" + materia_expediente[0] + "</td><td>" + materia_expediente[1] + "</td><td>" + materia_expediente[2] + "</td><td><b>";
|
|
expediente_2 = materia_expediente[3] + "</b></td></tr>";
|
|
materias_expediente = materias_expediente + expediente_1 + expediente_2;
|
|
}
|
|
});
|
|
if (!materias_expediente){
|
|
materias_expediente = "Nenhum registro encontrado.";
|
|
}
|
|
$("#materias_expediente").html(materias_expediente);
|
|
} else {
|
|
$("#titulo_expediente").html("");
|
|
$("#presenca_sessao").html("");
|
|
$("#oradores_expediente").html("");
|
|
$("#thead_tabela_expediente").html("");
|
|
$("#materias_expediente").html("");
|
|
}
|
|
|
|
if (data["f_od"]){
|
|
$("#titulo_ordemdia").html(
|
|
" <br/><h3><b>Ordem do Dia</b></h3>"
|
|
);
|
|
|
|
let presencas_ordemdia = "";
|
|
data["ordemdia_presenca"].forEach(presenca => {
|
|
p = "<li>" + presenca + "</li>";
|
|
presencas_ordemdia = presencas_ordemdia + p;
|
|
});
|
|
if (!presencas_ordemdia){
|
|
presencas_ordemdia = "<li>Nenhum parlamentar presente.</li>";
|
|
}
|
|
$("#presenca_ordemdia").html("<h3>Presença</h3><ul>" + presencas_ordemdia + "<br/></ul>");
|
|
|
|
let oradores_ordemdia = "";
|
|
data["oradores_ordemdia"].forEach(orador => {
|
|
o = "<li>" + orador + "</li>";
|
|
oradores_ordemdia = oradores_ordemdia + o;
|
|
});
|
|
if (!oradores_ordemdia){
|
|
oradores_ordemdia = "<li>Nenhum orador nessa sessão.</li>";
|
|
}
|
|
$("#oradores_ordemdia").html("<h3>Oradores</h3>" + "<ul>" + oradores_ordemdia + "<br/></ul>");
|
|
|
|
$("#thead_tabela_ordemdia").html(
|
|
"<tr><th>Número Ordem</th><th>Matéria</th><th>Ementa</th><th>Resultado</th></tr>"
|
|
);
|
|
|
|
let materias_ordemdia = "";
|
|
data["materias_ordemdia"].forEach(materia_ordemdia => {
|
|
if (materia_ordemdia[3] === "Matéria sendo Lida" || materia_ordemdia[3] === "Matéria em Votação"){
|
|
ordemdia_1 = "<tr><td><font color='green'><b>" + materia_ordemdia[0] + "</b></font></td><td><font color='green'><b>" + materia_ordemdia[1];
|
|
ordemdia_2 = "</b></font></td><td><font color='green'><b>" + materia_ordemdia[2] + "</b></font></td><td><font color='green'><b>";
|
|
ordemdia_3 = materia_ordemdia[3] + "</b></font></td></tr>";
|
|
materias_ordemdia = materias_ordemdia + ordemdia_1 + ordemdia_2 + ordemdia_3;
|
|
} else {
|
|
ordemdia_1 = "<tr><td>" + materia_ordemdia[0] + "</td><td>" + materia_ordemdia[1] + "</td><td>" + materia_ordemdia[2] + "</td><td><b>";
|
|
ordemdia_2 = materia_ordemdia[3] + "</b></td></tr>";
|
|
materias_ordemdia = materias_ordemdia + ordemdia_1 + ordemdia_2;
|
|
}
|
|
});
|
|
if (!materias_ordemdia){
|
|
materias_ordemdia = "Nenhum registro encontrado."
|
|
}
|
|
$("#materias_ordemdia").html(materias_ordemdia);
|
|
} else {
|
|
$("#titulo_ordemdia").html("");
|
|
$("#presenca_ordemdia").html("");
|
|
$("#oradores_ordemdia").html("");
|
|
$("#thead_tabela_ordemdia").html("");
|
|
$("#materias_ordemdia").html("");
|
|
}
|
|
},
|
|
error: function(err) {
|
|
console.error(err);
|
|
},
|
|
dataType: "json",
|
|
complete: setTimeout(function() {poll()}, 500),
|
|
timeout: 20000 // TODO: decrease
|
|
})
|
|
"{% endif %}"
|
|
} )(); });
|
|
</script>
|
|
{% endblock extra_js %}
|
|
|