mirror of https://github.com/interlegis/sigi.git
Sesóstris Vieira
7 months ago
12 changed files with 468 additions and 14 deletions
@ -0,0 +1,69 @@ |
|||||
|
# Generated by Django 5.0.4 on 2024-05-28 13:30 |
||||
|
|
||||
|
import django.db.models.deletion |
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
("contatos", "0007_alter_mesorregiao_options"), |
||||
|
("eventos", "0062_create_viw_eventos"), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.CreateModel( |
||||
|
name="ParticipantesEvento", |
||||
|
fields=[ |
||||
|
( |
||||
|
"id", |
||||
|
models.BigAutoField( |
||||
|
auto_created=True, |
||||
|
primary_key=True, |
||||
|
serialize=False, |
||||
|
verbose_name="ID", |
||||
|
), |
||||
|
), |
||||
|
( |
||||
|
"inscritos", |
||||
|
models.PositiveIntegerField( |
||||
|
default=0, verbose_name="total de inscritos" |
||||
|
), |
||||
|
), |
||||
|
( |
||||
|
"aprovados", |
||||
|
models.PositiveIntegerField( |
||||
|
default=0, verbose_name="total de aprovados" |
||||
|
), |
||||
|
), |
||||
|
( |
||||
|
"evento", |
||||
|
models.ForeignKey( |
||||
|
on_delete=django.db.models.deletion.CASCADE, |
||||
|
to="eventos.evento", |
||||
|
verbose_name="evento", |
||||
|
), |
||||
|
), |
||||
|
( |
||||
|
"uf", |
||||
|
models.ForeignKey( |
||||
|
blank=True, |
||||
|
null=True, |
||||
|
on_delete=django.db.models.deletion.CASCADE, |
||||
|
to="contatos.unidadefederativa", |
||||
|
verbose_name="uf", |
||||
|
), |
||||
|
), |
||||
|
], |
||||
|
options={ |
||||
|
"verbose_name": "Participante por UF", |
||||
|
"verbose_name_plural": "Participantes por UF", |
||||
|
}, |
||||
|
), |
||||
|
migrations.AddConstraint( |
||||
|
model_name="participantesevento", |
||||
|
constraint=models.UniqueConstraint( |
||||
|
models.F("evento"), models.F("uf"), name="unique_evento_uf" |
||||
|
), |
||||
|
), |
||||
|
] |
@ -0,0 +1,25 @@ |
|||||
|
# Generated by Django 5.0.4 on 2024-05-28 13:41 |
||||
|
|
||||
|
from django.db import migrations |
||||
|
from django.utils import timezone |
||||
|
from sigi.apps.eventos.models import Evento |
||||
|
|
||||
|
|
||||
|
def carga(apps, schema_editor): |
||||
|
for evento in Evento.objects.exclude(moodle_courseid=None).filter( |
||||
|
data_termino__lt=timezone.localtime() |
||||
|
): |
||||
|
try: |
||||
|
evento.sincroniza_saberes() |
||||
|
print(f"\t{evento.nome} sincronizado.") |
||||
|
except Evento.SaberesSyncException as err: |
||||
|
print(f"\tERRO: {evento.nome}: {err.message}") |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
("eventos", "0063_participantesevento_and_more"), |
||||
|
] |
||||
|
|
||||
|
operations = [migrations.RunPython(carga, migrations.RunPython.noop)] |
@ -0,0 +1,36 @@ |
|||||
|
{% load i18n %} |
||||
|
<div class="row"> |
||||
|
<div class="col s12"> |
||||
|
<div class="card"> |
||||
|
<div class="card-content"> |
||||
|
<span class="card-title">{{ data_title }}</span> |
||||
|
<table class="striped"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>{% translate "Evento" %}</th> |
||||
|
{% for label in dataset.columns %} |
||||
|
<th class="right-align">{{ label }}</th> |
||||
|
{% endfor %} |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
{% for row_data in dataset.itertuples %} |
||||
|
<tr {% if forloop.last %}class="total-row"{% endif %}> |
||||
|
{% for value in row_data %} |
||||
|
{% if forloop.first %} |
||||
|
<td class="left-align">{{ value.0 }} - <strong>{{ value.1 }}</strong></td> |
||||
|
{% else %} |
||||
|
<td class="right-align{% if forloop.last %} total-col{% endif %}"> |
||||
|
{{ value|default:"" }} |
||||
|
</td> |
||||
|
{% endif %} |
||||
|
{% endfor %} |
||||
|
</tr> |
||||
|
{% endfor %} |
||||
|
</tbody> |
||||
|
</table> |
||||
|
<blockquote>* {% translate "Alunos que não informaram a UF de residência no Saberes" %}</blockquote> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
@ -0,0 +1,35 @@ |
|||||
|
{% extends 'utils/report/report.html' %} |
||||
|
{% load i18n %} |
||||
|
|
||||
|
{% block extrastyle %} |
||||
|
{{ block.super }} |
||||
|
<style type="text/css"> |
||||
|
tr.total-row td, td.total-col { |
||||
|
background: var(--darkened-bg); |
||||
|
border-top: 1px solid var(--hairline-color); |
||||
|
border-bottom: 1px solid var(--hairline-color); |
||||
|
color: var(--body-quiet-color); |
||||
|
font-size: 0.6875rem; |
||||
|
font-weight: 600; |
||||
|
line-height: normal; |
||||
|
padding: 5px 10px; |
||||
|
text-transform: uppercase; |
||||
|
} |
||||
|
</style> |
||||
|
{% endblock %} |
||||
|
|
||||
|
{% block data %} |
||||
|
{% if not inscritos_uf is None %} |
||||
|
{% include 'eventos/report/alunos_por_uf_report_view/dataset_snippet.html' with dataset=inscritos_uf data_title=_("Total de alunos inscritos por UF") %} |
||||
|
{% endif %} |
||||
|
{% if not aprovados_uf is None %} |
||||
|
{% include 'eventos/report/alunos_por_uf_report_view/dataset_snippet.html' with dataset=aprovados_uf data_title=_("Total de alunos aprovados por UF") %} |
||||
|
{% endif %} |
||||
|
|
||||
|
{% if not inscritos_regiao is None %} |
||||
|
{% include 'eventos/report/alunos_por_uf_report_view/dataset_snippet.html' with dataset=inscritos_regiao data_title=_("Total de alunos inscritos por região") %} |
||||
|
{% endif %} |
||||
|
{% if not aprovados_regiao is None %} |
||||
|
{% include 'eventos/report/alunos_por_uf_report_view/dataset_snippet.html' with dataset=aprovados_regiao data_title=_("Total de alunos aprovados por região") %} |
||||
|
{% endif %} |
||||
|
{% endblock data %} |
@ -0,0 +1,83 @@ |
|||||
|
{% extends 'utils/report/report_pdf.html' %} |
||||
|
{% load i18n %} |
||||
|
|
||||
|
{% block extra_style %} |
||||
|
{{ block.super }} |
||||
|
tr.total-row td, td.total-col { |
||||
|
background-color: #007433; |
||||
|
border-top: 1px solid var(--hairline-color); |
||||
|
border-bottom: 1px solid var(--hairline-color); |
||||
|
color: white; |
||||
|
font-weight: 600; |
||||
|
padding: 5px 10px; |
||||
|
text-transform: uppercase; |
||||
|
} |
||||
|
.card-title { |
||||
|
font-weight: 600; |
||||
|
font-size: 1.5em; |
||||
|
margin: 20px 0; |
||||
|
} |
||||
|
table.applied-filter caption { |
||||
|
font-size: 1.2em; |
||||
|
font-weight: 600; |
||||
|
text-transform: uppercase; |
||||
|
margin-left: 4px; |
||||
|
} |
||||
|
table.applied-filter { |
||||
|
border: 1px solid #e0e0e0; |
||||
|
border-radius: 5px; |
||||
|
padding: 5px; |
||||
|
} |
||||
|
table.applied-filter tr { |
||||
|
background-color: white !important; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
table.applied-filter tr th { |
||||
|
text-align: left; |
||||
|
padding-right: 48px; |
||||
|
width: 20%; |
||||
|
background-color: unset !important; |
||||
|
} |
||||
|
table.applied-filter tr td { |
||||
|
width: 80%; |
||||
|
background-color: unset !important; |
||||
|
padding: 0 24px; |
||||
|
border-bottom: 1px solid #e0e0e0; |
||||
|
} |
||||
|
|
||||
|
{% endblock %} |
||||
|
|
||||
|
{% block main_content %} |
||||
|
<table class="applied-filter"> |
||||
|
<caption>{% translate "Filtros aplicados" %}</caption> |
||||
|
{% for field in form %} |
||||
|
<tr> |
||||
|
<th>{{ field.label }}</th> |
||||
|
<td> |
||||
|
{% for choice in field.field.choices %} |
||||
|
{% if choice.0 in field.value %}{{ choice.1 }}, {% endif %} |
||||
|
{% empty %} |
||||
|
{{ field.value|default:"" }} |
||||
|
{% endfor %} |
||||
|
</td> |
||||
|
</tr> |
||||
|
{% endfor %} |
||||
|
</table> |
||||
|
<div style="height: 24px; width: 100%;"></div> |
||||
|
{% if not inscritos_uf is None %} |
||||
|
{% include 'eventos/report/alunos_por_uf_report_view/dataset_snippet.html' with dataset=inscritos_uf data_title=_("Total de alunos inscritos por UF") %} |
||||
|
<div class="new-page"> |
||||
|
{% endif %} |
||||
|
{% if not aprovados_uf is None %} |
||||
|
{% include 'eventos/report/alunos_por_uf_report_view/dataset_snippet.html' with dataset=aprovados_uf data_title=_("Total de alunos aprovados por UF") %} |
||||
|
<div class="new-page"> |
||||
|
{% endif %} |
||||
|
{% if not inscritos_regiao is None %} |
||||
|
{% include 'eventos/report/alunos_por_uf_report_view/dataset_snippet.html' with dataset=inscritos_regiao data_title=_("Total de alunos inscritos por região") %} |
||||
|
<div class="new-page"> |
||||
|
{% endif %} |
||||
|
{% if not aprovados_regiao is None %} |
||||
|
{% include 'eventos/report/alunos_por_uf_report_view/dataset_snippet.html' with dataset=aprovados_regiao data_title=_("Total de alunos aprovados por região") %} |
||||
|
{% endif %} |
||||
|
|
||||
|
{% endblock %} |
Loading…
Reference in new issue