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