mirror of https://github.com/interlegis/sigi.git
Sesostris Vieira
3 years ago
28 changed files with 1569 additions and 114 deletions
File diff suppressed because one or more lines are too long
@ -0,0 +1,12 @@ |
|||
from django.urls import path |
|||
from sigi.apps.ocorrencias import views |
|||
|
|||
urlpatterns = [ |
|||
path("painel/", views.painel_ocorrencias, name="painel-ocorrencias"), |
|||
path("convenio/painel/", views.painel_convenio, name="painel-convenio"), |
|||
path( |
|||
"convenio/painel/<int:ocorrencia_id>/", |
|||
views.painel_convenio, |
|||
name="painel-convenio", |
|||
), |
|||
] |
@ -0,0 +1,60 @@ |
|||
# Generated by Django 4.0.5 on 2022-07-07 21:51 |
|||
|
|||
import django.core.serializers.json |
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('convenios', '0031_alter_projeto_modelo_minuta_and_more'), |
|||
('ocorrencias', '0008_remove_categoria_setor_responsavel'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterModelOptions( |
|||
name='comentario', |
|||
options={'ordering': ['-data_criacao'], 'verbose_name': 'comentário', 'verbose_name_plural': 'comentários'}, |
|||
), |
|||
migrations.AddField( |
|||
model_name='categoria', |
|||
name='projeto', |
|||
field=models.ForeignKey(blank=True, limit_choices_to=models.Q(models.Q(('texto_oficio', ''), _negated=True), models.Q(('modelo_minuta', ''), _negated=True)), null=True, on_delete=django.db.models.deletion.PROTECT, to='convenios.projeto', verbose_name='projeto'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='categoria', |
|||
name='tipo', |
|||
field=models.CharField(choices=[('C', 'Solicitação de convênio (ACT)'), ('O', 'Outras')], default='O', max_length=1, verbose_name='Tipo de solicitação'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='comentario', |
|||
name='interno', |
|||
field=models.BooleanField(default=False, verbose_name='Comentário interno'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='ocorrencia', |
|||
name='casa_brasao', |
|||
field=models.ImageField(blank=True, null=True, upload_to='ocorrencias/img/', verbose_name='brasão da casa'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='ocorrencia', |
|||
name='casa_foto', |
|||
field=models.ImageField(blank=True, editable=False, null=True, upload_to='ocorrencias/img/', verbose_name='foto da Casa'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='ocorrencia', |
|||
name='infos', |
|||
field=models.JSONField(blank=True, editable=False, encoder=django.core.serializers.json.DjangoJSONEncoder, null=True, verbose_name='dados estruturados'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='ocorrencia', |
|||
name='processo_sigad', |
|||
field=models.CharField(blank=True, max_length=20, verbose_name='Nº processo SIGAD'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='tipocontato', |
|||
name='ind_site', |
|||
field=models.BooleanField(default=False, verbose_name='Contato pelo SIGI'), |
|||
), |
|||
] |
@ -0,0 +1,69 @@ |
|||
#content { |
|||
display: block; |
|||
} |
|||
|
|||
#container.indent { |
|||
padding-left: unset; |
|||
} |
|||
|
|||
.main-content { |
|||
margin-top: 24px; |
|||
} |
|||
|
|||
.card .card-content p { |
|||
margin: 0 0 1em 0; |
|||
} |
|||
|
|||
.search-result { |
|||
padding: 3em; |
|||
} |
|||
|
|||
.search-result-item { |
|||
display: list-item; |
|||
list-style-type: none; |
|||
padding: 3px 3px 3px 20px; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
.tab-panel { |
|||
background-color: #fff; |
|||
height: 100%; |
|||
} |
|||
|
|||
.tab-content { |
|||
padding: 10px 24px; |
|||
height: 100%; |
|||
overflow-y: auto; |
|||
scrollbar-width: thin; |
|||
} |
|||
|
|||
.tab-content::-webkit-scrollbar { |
|||
width: 3px; |
|||
background-color: #fff; |
|||
} |
|||
|
|||
.tab-content::-webkit-scrollbar-track { |
|||
-webkit-box-shadow: inset 0 0 2px #fff; |
|||
background-color: #fff; |
|||
border-radius: 10px; |
|||
} |
|||
|
|||
.tab-content::-webkit-scrollbar-thumb { |
|||
border-radius: 10px; |
|||
-webkit-box-shadow: inset 0 0 2px var(--main-hover-color); |
|||
background-color: var(--main-hover-color); |
|||
} |
|||
|
|||
span.title { |
|||
color: var(--main-bg-color); |
|||
border-color: var(--main-bg-color); |
|||
display: block; |
|||
line-height: 32px; |
|||
margin-bottom: 8px; |
|||
font-size: 24px; |
|||
font-weight: 300; |
|||
} |
|||
|
|||
.dropdown-content.select-dropdown { |
|||
top: 0px !important; |
|||
} |
@ -0,0 +1,53 @@ |
|||
{% extends "ocorrencias/convenio/base_convenio.html" %} |
|||
{% load static i18n %} |
|||
|
|||
{% block content %} |
|||
<div class="main-content"> |
|||
<div class="row"> |
|||
<div class="col s12"> |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans "Solicitar convênio" %}</span> |
|||
{% blocktrans %} |
|||
<p>Para que uma Casa Legislativa possa utilizar, gratuitamente, os |
|||
serviços do Interlegis / Senado Federal, é necessário formalizar |
|||
um convênio, na forma de um Acordo de Cooperação Técnica (ACT), |
|||
na forma da lei <a href="http://www.planalto.gov.br/ccivil_03/_ato2019-2022/2021/lei/L14133.htm">Lei Nº 14.133/2021</a> |
|||
e da lei <a href="http://www.planalto.gov.br/ccivil_03/leis/l8666cons.htm">Lei Nº 8.666/1993</a>. |
|||
</p> |
|||
<p>Para solicitar o ACT, serão necessárias as seguintes informações:</p> |
|||
<ul class="browser-default"> |
|||
<li>Dados cadastrais da Casa Legislativa, como CNPJ, endereço, e-mail, telefone.</li> |
|||
<li>Dados cadastrais do Presidente, como nome, CPF, identidade, e-mail, telefone, redes sociais.</li> |
|||
<li>Designação de um servidor como Contato Interlegis.</li> |
|||
</ul> |
|||
{% endblocktrans %} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="row"> |
|||
<div class="col s12"> |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans "Identifique sua Casa Legislativa" %}</span> |
|||
<p>{% trans "Informe o nome do município ou Estado da sua Casa Legislativa" %}:</p> |
|||
<div class="input-field"> |
|||
<i class="material-icons prefix">search</i> |
|||
<input type="text" class="search-text" placeholder="{% trans "Procurar" %}" aria-label="{% trans "Procurar" %}" data-source="{% url 'openmapsearch' %}" data-param="q"> |
|||
<div class="search-result hide" data-item-click="seleciona_casa"></div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{% endblock %} |
|||
|
|||
{% block footer %} |
|||
{{ block.super }} |
|||
<script> |
|||
function seleciona_casa(data) { |
|||
$(location).attr("href", `{% url 'ocorrencias-seleciona-casa' %}?casa_id=${data.id}`); |
|||
} |
|||
</script> |
|||
{% endblock %} |
@ -0,0 +1,48 @@ |
|||
{% extends "admin/index.html" %} |
|||
{% load static i18n %} |
|||
|
|||
{% block extrastyle %} |
|||
{{ block.super }} |
|||
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.0/themes/smoothness/jquery-ui.css" /> |
|||
<link rel="stylesheet" href="{% static "admin/css/changelists.css" %}" type="text/css" /> |
|||
<link rel="stylesheet" href="{% static 'ocorrencias/css/ocorrencia.css' %}" type="text/css" /> |
|||
{% endblock %} |
|||
|
|||
{% block extrahead %} |
|||
{{ block.super }} |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
|||
<meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" /> |
|||
<meta name="robots" content="NONE,NOARCHIVE" /> |
|||
<script type="text/javascript"> |
|||
//<![CDATA[ |
|||
window.__admin_media_prefix__ = "{% filter escapejs %}{% static "admin / " %}{% endfilter %}"; |
|||
//]]> |
|||
</script> |
|||
<script src="https://code.jquery.com/jquery-3.6.0.min.js" |
|||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script> |
|||
<script src="https://code.jquery.com/ui/1.13.1/jquery-ui.min.js" integrity="sha256-eTyxS0rkjpLEo16uXTS0uVCS4815lc40K2iVpWDvdSY=" crossorigin="anonymous"></script> |
|||
<script type="text/javascript" src="{% static "admin/js/core.js" %}"></script> |
|||
{% endblock %} |
|||
|
|||
{% block usertools %} |
|||
<div id="user-tools"> |
|||
<a href="/">{% trans "Início" %}</a> |
|||
<a href="{% url 'admin:index' %}">{% trans "Entrar" %}</a> |
|||
</div> |
|||
{% endblock %} |
|||
|
|||
{% block side_nav %} |
|||
{% endblock %} |
|||
|
|||
{% block content %} |
|||
<div id="content"> |
|||
<!-- content_page --> |
|||
</div> |
|||
{% endblock %} |
|||
|
|||
{% block sidebar %}{% endblock %} |
|||
|
|||
{% block footer %} |
|||
{{ block.super }} |
|||
<script type="text/javascript" src="{% static 'js/search.js' %}"></script> |
|||
{% endblock %} |
@ -0,0 +1,216 @@ |
|||
{% extends "ocorrencias/convenio/base_convenio.html" %} |
|||
{% load static i18n %} |
|||
|
|||
{% block content %} |
|||
<div class="main-content"> |
|||
<div class="row"> |
|||
<div class="col s12"> |
|||
<span class="title">{{ ocorrencia.assunto }}</span> |
|||
<p>{% blocktrans with name=ocorrencia.casa_legislativa.nome %}A solicitação da {{ name }} está na nossa base de dados {% endblocktrans %}</p> |
|||
</div> |
|||
</div> |
|||
<div class="row"> |
|||
<div class="col s12"> |
|||
<ul class="tabs"> |
|||
{% if 'casa_legislativa' not in infos.aplicados %}<li class="tab col"><a href="#casa"{% if 'casa_legislativa' not in infos %} class="active"{% endif %}>{% trans "Casa legislativa" %}</a></li>{% endif %} |
|||
{% if 'presidente' not in infos.aplicados %}<li class="tab col"><a href="#presidente"{% if 'presidente' not in infos %} class="active"{% endif %}>{% trans "Presidente" %}</a></li>{% endif %} |
|||
{% if 'contato' not in infos.aplicados %}<li class="tab col"><a href="#contato"{% if 'contato' not in infos %} class="active"{% endif %}>{% trans "Contato Interlegis" %}</a></li>{% endif %} |
|||
<li class="tab col"><a href="#documentos"{% if 'documento' not in infos %} class="active"{% endif %}>{% trans "Documentos" %}</a></li> |
|||
<li class="tab col"><a href="#resumo"{% if 'documento' in infos %} class="active"{% endif %}>{% trans "Resumo" %}</a></li> |
|||
</ul> |
|||
</div> |
|||
{% if 'casa_legislativa' not in infos.aplicados %} |
|||
<div id="casa" class="col s12"> |
|||
<div class="tab-panel"> |
|||
<div class="tab-content"> |
|||
<form action="" method="post" name="casa_legislativa" enctype="multipart/form-data"> |
|||
{% csrf_token %} |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title"> |
|||
{% trans "Atualizar as informações cadastrais da Casa" %} |
|||
</span> |
|||
{{ casa_form }} |
|||
<div class="card-action"> |
|||
<button class="btn waves-effect waves-light" type="submit" name="salva_casa"> |
|||
{% trans "Save" %} |
|||
<i class="material-icons right">send</i> |
|||
</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{% endif %} |
|||
{% if 'presidente' not in infos.aplicados %} |
|||
<div id="presidente" class="col s12"> |
|||
<div class="tab-panel"> |
|||
<div class="tab-content"> |
|||
<form action="" method="post" name="presidente"> |
|||
{% csrf_token %} |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title"> |
|||
{% trans "Selecionar e atualizar o presidente" %} |
|||
</span> |
|||
{{ presidente_form }} |
|||
<div class="card-action"> |
|||
<button class="btn waves-effect waves-light" type="submit" name="salva_presidente"> |
|||
{% trans "Save" %} |
|||
<i class="material-icons right">send</i> |
|||
</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{% endif %} |
|||
{% if 'contato' not in infos.aplicados %} |
|||
<div id="contato" class="col s12 tabpanel"> |
|||
<div class="tab-panel"> |
|||
<div class="tab-content"> |
|||
<form action="" method="post" name="presidente"> |
|||
{% csrf_token %} |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans "Contato Interlegis" %}</span> |
|||
<p>Designe um servidor da Casa Legislativa para ser o contato técnico junto ao Interlegis.</p> |
|||
<p>Este servidor será o responsável por acompanhar a formalização do ACT, prestar informações e esclarecimentos, e solicitar a instalação de produtos e serviços ao Interlegis.</p> |
|||
{{ contato_form }} |
|||
<div class="card-action"> |
|||
<button class="btn waves-effect waves-light" type="submit" name="salva_contato"> |
|||
{% trans "Save" %} |
|||
<i class="material-icons right">send</i> |
|||
</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{% endif %} |
|||
<div id="documentos" class="col s12 tabpanel"> |
|||
<div class="tab-panel"> |
|||
<div class="tab-content"> |
|||
<form action="" method="post" name="presidente" enctype="multipart/form-data"> |
|||
{% csrf_token %} |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans "Documentos de formalização" %}</span> |
|||
<p>Os documentos para formalização do convênio foram gerados e estão disponíveis abaixo.</p> |
|||
<p>Você precisa realizar os seguintes passos para que possamos dar prosseguimento ao processo:</p> |
|||
<ul> |
|||
<li>Baixe (dowload) o ofício de solicitação do convênio.</li> |
|||
<li>Providencie que o ofício de solicitação seja assinado pelo Presidente da Casa. Se for possível, assine o PDF com uma assinatura digital. Se o Presidente não possui uma assinatura digital válida, pode-se imprimir o documento, assinar com caneta azul, e escanear o documento assinado.</li> |
|||
<li>Suba (upload) o ofício assinado no campo Arquivo, abaixo, em formato PDF</li> |
|||
<li>O documento Minuta de ACT é a minuta do convênio que tramitará no Senado e está disponível para consulta e avaliação da consultoria jurídica da sua Casa Legislativa. Após assinatura do ACt pela diretoria do Senado, a cópia definitiva será enviada à sua Casa para colher também a assinatura do Presidente.</p> |
|||
</ul> |
|||
<p>Assim que recebermos o ofício devidamente assinado, iniciaremos o procedimento burocrático para formalização do convênio. Você poderá acompanhar a evolução deste processo nesta tela, na aba RESUMO</p> |
|||
<table class="striped"> |
|||
<thead> |
|||
<caption>Arquivos do processo</caption> |
|||
<tr> |
|||
<th>Descrição</th><th>Arquivo</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for anexo in ocorrencia.anexo_set.all %} |
|||
<tr> |
|||
<td>{{ anexo.descricao }}</td> |
|||
<td><a href="{{ anexo.arquivo.url }}">{{ anexo.arquivo.name }}</a></td> |
|||
</tr> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
{{ documento_form }} |
|||
<div class="card-action"> |
|||
<button class="btn waves-effect waves-light" type="submit" name="salva_documento"> |
|||
{% trans "Save" %} |
|||
<i class="material-icons right">send</i> |
|||
</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div id="resumo" class="col s12 tabpanel"> |
|||
<div class="tab-panel"> |
|||
<div class="tab-content"> |
|||
<form action="" method="post" name="comentario"> |
|||
{% csrf_token %} |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<table> |
|||
<tr> |
|||
<th>{% trans "Casa legislativa" %}</th><td>{{ ocorrencia.casa_legislativa.nome }}</td> |
|||
<th>{% trans "Descrição" %}</th><td>{{ ocorrencia.descricao }}</td> |
|||
<th>{% trans "Solicitado em" %}</th><td>{{ ocorrencia.data_criacao|date:"DATE_FORMAT" }}</td> |
|||
</tr> |
|||
<tr> |
|||
<th>{% trans "Situação" %}</th><td>{{ ocorrencia.get_status_display }}</td> |
|||
<th>{% trans "Prioridade" %}</th><td>{{ ocorrencia.get_prioridade_display }}</td> |
|||
<th>{% trans "Última atualização" %}</th><td>{{ ocorrencia.data_modificacao|date:"DATE_FORMAT" }}</td> |
|||
</tr> |
|||
</table> |
|||
<table> |
|||
<thead> |
|||
<caption><span class="card-title">{% trans "Progresso do processo" %}</span></caption> |
|||
<tr><th>{% trans "Data" %}</th><th>{% trans "Descrição" %}</th><th>{% trans "Novo status" %}</th><th>{% trans "Registrado por" %}</th></tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for comentario in ocorrencia.comentarios.all %} |
|||
{% if not comentario.interno %} |
|||
<tr> |
|||
<td>{{ comentario.data_criacao|date:"SHORT_DATE_FORMAT" }}</td> |
|||
<td>{{ comentario.descricao }}</td> |
|||
<td>{{ comentario.get_novo_status_display|default:"-" }}</td> |
|||
<td>{{ comentario.usuario }}</td> |
|||
</tr> |
|||
{% endif %} |
|||
{% empty %} |
|||
<tr><td colspan="4">{% trans "Aguardando andamento no Senado" %}</td></tr> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
{{ comentario_form }} |
|||
<div class="card-action"> |
|||
<button class="btn waves-effect waves-light" type="submit" name="salva_comentario"> |
|||
{% trans "Comentar" %} |
|||
<i class="material-icons left">comment</i> |
|||
</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{% endblock %} |
|||
|
|||
{% block footer %} |
|||
{{ block.super }} |
|||
<script> |
|||
$(document).ready(function() { |
|||
M.Tabs.init($('.tabs'), {swipeable: true}); |
|||
$("select#id_presidente-parlamentar").on("change", function() { |
|||
$.get("{% url 'parlamentar-data' %}", `id=${this.value}`, function(data) { |
|||
for(var campo of Object.keys(data[0].fields)) { |
|||
$(`#id_presidente-${campo}`).val(data[0].fields[campo]); |
|||
} |
|||
}) |
|||
}) |
|||
}); |
|||
function seleciona_casa(data) { |
|||
$(location).attr("href", `{% url 'ocorrencias-seleciona-casa' %}?casa_id=${data.id}`); |
|||
} |
|||
</script> |
|||
{% endblock %} |
@ -0,0 +1,40 @@ |
|||
{% extends "admin/base_block.html" %} |
|||
{% load i18n %} |
|||
|
|||
{% block content %} |
|||
<h4>{% trans "Solicitações de convenio" %}</h4> |
|||
<table class="striped"> |
|||
<thead> |
|||
<tr> |
|||
<th>{% trans "Data abertura" %}</th> |
|||
<th>{% trans "Casa solicitante" %}</th> |
|||
<th>{% trans "Assunto" %}</th> |
|||
<th>{% trans "Comentários" %} |
|||
<th>{% trans "Situação" %}</th> |
|||
<th>{% trans "Detalhes" %}</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for ocorrencia in ocorrencias %} |
|||
<tr> |
|||
<td>{{ ocorrencia.data_criacao|date:"SHORT_DATE_FORMAT" }}</td> |
|||
<td>{{ ocorrencia.casa_legislativa }}</td> |
|||
<td>{{ ocorrencia.assunto }}</td> |
|||
<td><span class="badge">{{ ocorrencia.comentarios.count }}</span></td> |
|||
<td> |
|||
<ul> |
|||
{% for key, value in ocorrencia.get_infos_details.items %} |
|||
<li> |
|||
<i class="material-icons {% if value.0 %}green-text{% else %}red-text{% endif %}">{% if value.0 %}done{% else %}clear{% endif %}</i> |
|||
{{ value.1 }} |
|||
</li> |
|||
{% endfor %} |
|||
</ul> |
|||
</td> |
|||
<td> |
|||
<a href="{% url 'painel-convenio' ocorrencia.id %}"><i class="material-icons">details</i></a> |
|||
</td> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
{% endblock %} |
@ -0,0 +1,245 @@ |
|||
{% extends "admin/base_block.html" %} |
|||
{% load i18n model_fields %} |
|||
|
|||
{% block content %} |
|||
<div class="row"> |
|||
<div class="col s12"> |
|||
<form action="" method="post" name="ocorrencia"> |
|||
{% csrf_token %} |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans "Resumo da ocorrência" %}</span> |
|||
<table> |
|||
<tbody> |
|||
{% for campo in campos_ocorrencia %} |
|||
<tr> |
|||
<th>{{ ocorrencia|verbose_name:campo|capfirst }}</th> |
|||
<td>{{ ocorrencia|field_value:campo|default:"-" }}</td> |
|||
</tr> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
{{ ocorrencia_form }} |
|||
</div> |
|||
<div class="card-action"> |
|||
<button class="btn waves-effect waves-light" type="submit" name="salva_ocorrencia"> |
|||
{% trans "Salvar" %} |
|||
<i class="material-icons left">save</i> |
|||
</button> |
|||
<a class="btn waves-effect waves-light white-text" href="{% url 'painel-convenio' %}">{% trans "Voltar ao painel" %}</a> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
|
|||
{% if infos.aplicados %} |
|||
{% if 'casa_legislativa' in infos.aplicados and 'presidente' in infos.aplicados and 'contato' in infos.aplicados %} |
|||
<p class=""> {% trans "Todas as alterações foram aplicadas" %}</p> |
|||
{% else %} |
|||
<ul> |
|||
{% if 'casa_legislativa' in infos.aplicados %} |
|||
<li>As alterações nos dados da Casa Legislativa foram aplicadas</li> |
|||
{% endif %} |
|||
{% if 'presidente' in infos.aplicados %} |
|||
<li>As alterações nos dados do Presidente foram aplicadas</li> |
|||
{% endif %} |
|||
{% if 'contato' in infos.aplicados %} |
|||
<li>As alterações nos dados do Contato Interlegis foram aplicadas</li> |
|||
{% endif %} |
|||
</ul> |
|||
{% endif %} |
|||
{% endif %} |
|||
|
|||
{% if 'casa_legislativa' not in infos.aplicados %} |
|||
<div class="row"> |
|||
<div class="col s12"> |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans "Casa legislativa" %}</span> |
|||
<table class="striped"> |
|||
<thead> |
|||
<tr> |
|||
<th>{% trans "Campo" %}</th> |
|||
<th>{% trans "Valor original" %}</th> |
|||
<th>{% trans "Valor alterado" %}</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for key, value in infos.casa_legislativa.items %} |
|||
<tr> |
|||
<th>{{ casa|verbose_name:key|capfirst }}</th> |
|||
<td>{{ casa|field_value:key|default:"-" }}</td> |
|||
<td>{{ value|default:"-" }}</td> |
|||
</tr> |
|||
{% endfor %} |
|||
<tr> |
|||
<th>Foto</th> |
|||
<td>{% if casa.foto %}<img src="{{ casa.foto.url }}" width=120 height=120/>{% else %}{% trans "Sem imagem" %}{% endif %}</td> |
|||
<td>{% if ocorrencia.casa_foto %}<img src="{{ ocorrencia.casa_foto.url }}" width=120 height=120/>{% else %}{% trans "Sem alteração" %}{% endif %} |
|||
</tr> |
|||
<tr> |
|||
<th>Brasão</th> |
|||
<td>{% if casa.brasao %}<img src="{{ casa.brasao.url }}" width=120 height=120/>{% else %}{% trans "Sem imagem" %}{% endif %}</td> |
|||
<td>{% if ocorrencia.casa_brasao %}<img src="{{ ocorrencia.casa_brasao.url }}" width=120 height=120/>{% else %}{% trans "Sem alteração" %}{% endif %} |
|||
</tr> |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
<div class="card-action"> |
|||
<a class="btn waves-effect waves-light white-text" href="?apply=casa">{% trans "Aplicar mudanças na Casa Legislativa" %}</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{% endif %} |
|||
|
|||
{% if 'presidente' not in infos.aplicados %} |
|||
<div class="row"> |
|||
<div class="col s12"> |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans "Presidente" %}</span> |
|||
{% if casa.presidente %} |
|||
<p>{% trans "Presidente anterior" %}: {{ casa.presidente.nome_completo }}</p> |
|||
{% else %} |
|||
<p>{% trans "A Casa não tinha Presidente definido anteriormente" %}</p> |
|||
{% endif %} |
|||
<p>{% trans "Presidente selecionado" %}: {{ novo_presidente.nome_completo }}</p> |
|||
<table class="striped"> |
|||
<thead> |
|||
<tr> |
|||
<th>{% trans "Campo" %}</th> |
|||
<th>{% trans "Valor original" %}</th> |
|||
<th>{% trans "Valor alterado" %}</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for key, value in infos.presidente.items %} |
|||
<tr> |
|||
<th>{{ novo_presidente|verbose_name:key|capfirst }}</th> |
|||
<td>{{ novo_presidente|field_value:key|default:"-" }}</td> |
|||
<td>{{ value|default:"-" }}</td> |
|||
</tr> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
<div class="card-action"> |
|||
<a class="btn waves-effect waves-light white-text" href="?apply=presidente">{% trans "Aplicar mudanças no Parlamentar" %}</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{% endif %} |
|||
|
|||
{% if 'contato' not in infos.aplicados %} |
|||
<div class="row"> |
|||
<div class="col s12"> |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans "Contato Interlegis" %}</span> |
|||
<table class="striped"> |
|||
<thead> |
|||
<tr> |
|||
<th>{% trans "Campo" %}</th> |
|||
<th>{% trans "Valor original" %}</th> |
|||
<th>{% trans "Valor alterado" %}</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for key, value in infos.contato.items %} |
|||
<tr> |
|||
<th>{{ contato|verbose_name:key|capfirst }}</th> |
|||
<td>{{ contato|field_value:key|default:"-" }}</td> |
|||
<td>{{ value|default:"-" }}</td> |
|||
</tr> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
<div class="card-action"> |
|||
<a class="btn waves-effect waves-light white-text" href="?apply=contato">{% trans "Aplicar mudanças no Contato Interlegis" %}</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{% endif %} |
|||
|
|||
<div class="row"> |
|||
<div class="col s12"> |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans "Anexos (documentos)" %}</span> |
|||
<table class="striped"> |
|||
<thead> |
|||
<tr> |
|||
<th>{% trans "Data de inclusão" %}</th> |
|||
<th>{% trans "Descrição" %}</th> |
|||
<th>{% trans "Arquivo" %}</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for anexo in ocorrencia.anexo_set.all %} |
|||
<tr> |
|||
<th>{{ anexo.data_pub|date:"SHORT_DATE_FORMAT" }}</th> |
|||
<td>{{ anexo.descricao|default:"-" }}</td> |
|||
<td><a href="{{ anexo.arquivo.url }}">{{ anexo.arquivo.name }}</a></td> |
|||
</tr> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="row"> |
|||
<div class="col s12"> |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans "Comentários" %}</span> |
|||
<table class="striped"> |
|||
<thead> |
|||
<tr> |
|||
<th>{% trans "Data" %}</th> |
|||
<th>{% trans "Descrição" %}</th> |
|||
<th>{% trans "Servidor" %}</th> |
|||
<th>{% trans "Novo status" %}</th> |
|||
<th>{% trans "Visibilidade" %}</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for comentario in ocorrencia.comentarios.all %} |
|||
<tr> |
|||
<th>{{ comentario.data_criacao|date:"SHORT_DATETIME_FORMAT" }}</th> |
|||
<td>{{ comentario.descricao|default:"-" }}</td> |
|||
<td>{{ comentario.usuario.nome_completo|default:"-" }}</td> |
|||
<td>{{ comentario.get_novo_status_display|default:"-" }}</td> |
|||
<td> |
|||
{% if comentario.interno %} |
|||
<i class="material-icons green-text">visibility_off</i> Interno |
|||
{% else %} |
|||
<i class="material-icons red-text">visibility</i> Público |
|||
{% endif %} |
|||
</td> |
|||
</tr> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
<div class="card-action"> |
|||
<form action="" method="post" name="comentario"> |
|||
{% csrf_token %} |
|||
{{ comentario_form }} |
|||
<button class="btn waves-effect waves-light" type="submit" name="salva_comentario"> |
|||
{% trans "Comentar" %} |
|||
<i class="material-icons left">comment</i> |
|||
</button> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
{% endblock %} |
@ -0,0 +1,53 @@ |
|||
{% extends "ocorrencias/convenio/base_convenio.html" %} |
|||
{% load static i18n %} |
|||
|
|||
{% block content %} |
|||
<div class="main-content"> |
|||
<div class="row"> |
|||
<div class="col s12"> |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans "Solicitar convênio" %}</span> |
|||
{% blocktrans %} |
|||
<p>Para que uma Casa Legislativa possa utilizar, gratuitamente, os |
|||
serviços do Interlegis / Senado Federal, é necessário formalizar |
|||
um convênio, na forma de um Acordo de Cooperação Técnica (ACT), |
|||
na forma da lei <a href="http://www.planalto.gov.br/ccivil_03/_ato2019-2022/2021/lei/L14133.htm">Lei Nº 14.133/2021</a> |
|||
e da lei <a href="http://www.planalto.gov.br/ccivil_03/leis/l8666cons.htm">Lei Nº 8.666/1993</a>. |
|||
</p> |
|||
<p>Para solicitar o ACT, serão necessárias as seguintes informações:</p> |
|||
<ul class="browser-default"> |
|||
<li>Dados cadastrais da Casa Legislativa, como CNPJ, endereço, e-mail, telefone.</li> |
|||
<li>Dados cadastrais do Presidente, como nome, CPF, identidade, e-mail, telefone, redes sociais.</li> |
|||
<li>Designação de um servidor como Contato Interlegis.</li> |
|||
</ul> |
|||
{% endblocktrans %} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="row"> |
|||
<div class="col s12"> |
|||
<div class="card"> |
|||
<div class="card-content"> |
|||
<span class="card-title">{% trans "Identifique sua Casa Legislativa" %}</span> |
|||
<p>{% trans "Informe o nome do município ou Estado da sua Casa Legislativa" %}:</p> |
|||
<div class="input-field"> |
|||
<i class="material-icons prefix">search</i> |
|||
<input type="text" class="search-text" placeholder="{% trans "Procurar" %}" aria-label="{% trans "Procurar" %}" data-source="{% url 'openmapsearch' %}" data-param="q"> |
|||
<div class="search-result hide" data-item-click="seleciona_casa"></div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{% endblock %} |
|||
|
|||
{% block footer %} |
|||
{{ block.super }} |
|||
<script> |
|||
function seleciona_casa(data) { |
|||
$(location).attr("href", `{% url 'ocorrencias-seleciona-casa' %}?casa_id=${data.id}`); |
|||
} |
|||
</script> |
|||
{% endblock %} |
@ -0,0 +1,18 @@ |
|||
# Generated by Django 4.0.5 on 2022-06-30 21:44 |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('servidores', '0009_servidor_cargo'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AddField( |
|||
model_name='servidor', |
|||
name='sigi', |
|||
field=models.BooleanField(default=False, editable=False, verbose_name='Servidor SIGI'), |
|||
), |
|||
] |
@ -0,0 +1,3 @@ |
|||
#content { |
|||
display: block; |
|||
} |
@ -0,0 +1,7 @@ |
|||
{% extends "admin/base_site.html" %} |
|||
{% load static %} |
|||
|
|||
{% block extrastyle %} |
|||
{{ block.super }} |
|||
<link rel="stylesheet" type="text/css" href="{% static 'css/base_block.css' %}"> |
|||
{% endblock %} |
Loading…
Reference in new issue