mirror of https://github.com/interlegis/sapl.git
Ricardo Lima Canela
4 years ago
committed by
GitHub
13 changed files with 304 additions and 117 deletions
@ -0,0 +1,68 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.11.29 on 2020-08-07 12:50 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
import django.db.models.deletion |
||||
|
|
||||
|
|
||||
|
def cria_parlamentar_em_frente(apps, schema_editor): |
||||
|
Frente = apps.get_model("parlamentares", "Frente") |
||||
|
FrenteCargo = apps.get_model("parlamentares", "FrenteCargo") |
||||
|
FrenteParlamentar = apps.get_model("parlamentares", "FrenteParlamentar") |
||||
|
|
||||
|
cargo_membro = FrenteCargo.objects.create(nome_cargo="membro", cargo_unico=False) |
||||
|
parlamentares_frente = [] |
||||
|
for frente in Frente.objects.all().prefetch_related("parlamentares"): |
||||
|
for parlamentar in frente.parlamentares.all(): |
||||
|
parlamentares_frente.append( |
||||
|
FrenteParlamentar( |
||||
|
frente=frente, |
||||
|
parlamentar=parlamentar, |
||||
|
cargo=cargo_membro, |
||||
|
data_entrada=frente.data_criacao)) |
||||
|
FrenteParlamentar.objects.bulk_create(parlamentares_frente) |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('parlamentares', '0031_auto_20200407_1406'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.CreateModel( |
||||
|
name='FrenteCargo', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
|
('nome_cargo', models.CharField(max_length=80, verbose_name='Cargo de frente parlamentar')), |
||||
|
('cargo_unico', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Cargo único?')), |
||||
|
], |
||||
|
options={ |
||||
|
'verbose_name': 'Cargo de Frente Parlamentar', |
||||
|
'verbose_name_plural': 'Cargos de Frente Parlamentar', |
||||
|
'ordering': ('cargo_unico', 'nome_cargo'), |
||||
|
}, |
||||
|
), |
||||
|
migrations.CreateModel( |
||||
|
name='FrenteParlamentar', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
|
('frente', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='parlamentares.Frente',verbose_name='Frente parlamentar')), |
||||
|
('parlamentar', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='parlamentares.Parlamentar', verbose_name='Parlamentar')), |
||||
|
('cargo', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.FrenteCargo', verbose_name='Cargo na frente parlamentar')), |
||||
|
('data_entrada', models.DateField(verbose_name='Data Entrada')), |
||||
|
('data_saida', models.DateField(blank=True, null=True, verbose_name='Data Saída')), |
||||
|
], |
||||
|
options={ |
||||
|
'verbose_name': 'Parlamentar de frente parlamentar', |
||||
|
'verbose_name_plural': 'Parlamentares de frente parlamentar', |
||||
|
'ordering': ('frente', 'parlamentar', 'cargo'), |
||||
|
}, |
||||
|
), |
||||
|
migrations.RunPython(cria_parlamentar_em_frente), |
||||
|
migrations.RemoveField( |
||||
|
model_name='frente', |
||||
|
name='parlamentares', |
||||
|
), |
||||
|
] |
@ -0,0 +1,9 @@ |
|||||
|
{% extends "crud/detail.html" %} |
||||
|
{% load i18n %} |
||||
|
{% load crispy_forms_tags cropping %} |
||||
|
{% block actions %} |
||||
|
{{ block.super }} |
||||
|
<div class="actions btn-group btn-group-sm" role="group"> |
||||
|
<a href="{% url 'sapl.parlamentares:frenteparlamentar_list' object.pk %}" class="btn btn-outline-primary">Listar Parlamentares Filiados</a> |
||||
|
</div> |
||||
|
{% endblock actions %} |
@ -0,0 +1,9 @@ |
|||||
|
{% extends "crud/list.html" %} |
||||
|
{% load i18n %} |
||||
|
{% load common_tags %} |
||||
|
|
||||
|
{% block more_buttons %} |
||||
|
<a href="{% url 'sapl.parlamentares:frente_detail' root_pk %}" class="btn btn-outline-primary"> |
||||
|
Frente Parlamentar |
||||
|
</a> |
||||
|
{% endblock more_buttons %} |
@ -0,0 +1,42 @@ |
|||||
|
{% extends "crud/list.html" %} |
||||
|
{% load i18n %} |
||||
|
{% load common_tags %} |
||||
|
|
||||
|
{% block actions %} |
||||
|
{{ block.super }} |
||||
|
{% endblock actions %} |
||||
|
|
||||
|
{% block base_content %} |
||||
|
{% if not frentes %} |
||||
|
<h1>O {{ nome_parlamentar }} não têm participações em Frentes Parlamentares.</h1> |
||||
|
{% else %} |
||||
|
<h1>Frentes ({{ nome_parlamentar }})</h1> |
||||
|
<br/> |
||||
|
Total de Frentes: {{ num_frentes }} |
||||
|
<table class="table table-striped table-hover"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>Frent{{ num_frentes|pluralize:"e,es" }}</th> |
||||
|
<th>Cargo</th> |
||||
|
<th>Data de Entrada</th> |
||||
|
<th>Data de Saída</th> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
{% for frente in frentes %} |
||||
|
<tr> |
||||
|
<td> |
||||
|
<a href="{% url 'sapl.parlamentares:frente_detail' frente.frente.pk %}">{{ frente.frente }}</a> |
||||
|
</td> |
||||
|
<td>{{ frente.cargo.nome_cargo }}</td> |
||||
|
<td>{{ frente.data_entrada }}</td> |
||||
|
<td>{% if frente.data_saida %} {{ frente.data_saida }} {% else %} - {% endif %}</td> |
||||
|
</tr> |
||||
|
{% endfor %} |
||||
|
</tbody> |
||||
|
</table> |
||||
|
{% endif %} |
||||
|
<br/> |
||||
|
{% include 'paginacao.html'%} |
||||
|
<br /><br /><br /> |
||||
|
{% endblock base_content %} |
Loading…
Reference in new issue