mirror of https://github.com/interlegis/sapl.git
Browse Source
* Adicionando cargo bloco Criando telas para vincular parlamentar a bloco Adicionando validações Adicionando paginas de editar e deletar vinculo com bloco Adicionando validações e confimação de deletar vinculo com bloco Resolvendo problemas relatados no pr Resolvendo problemas relatados no pr Adiciona migrations Merge de migrations conflitantes Arrumando erro bloco_pk Arrumando erros relatados no pr Melhorando readonly parlamentares * Corrigindo migrations * Corrigindo erro de data atualpull/2758/head
Ulysses Lara
5 years ago
committed by
Edward
11 changed files with 345 additions and 22 deletions
@ -0,0 +1,36 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.11.20 on 2019-07-12 14:32 |
|||
from __future__ import unicode_literals |
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('parlamentares', '0032_auto_20190619_1509'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='CargoBloco', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('nome', models.CharField(max_length=80, verbose_name='Nome do Cargo')), |
|||
('unico', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=True, verbose_name='Cargo Único')), |
|||
('descricao', models.TextField(blank=True, verbose_name='Descrição')), |
|||
], |
|||
options={'ordering': ['nome'], 'verbose_name': 'Cargo de Bloco', 'verbose_name_plural': 'Cargos de Bloco'}, |
|||
), |
|||
migrations.CreateModel( |
|||
name='CargoBlocoPartido', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('data_inicio', models.DateField(verbose_name='Data Início')), |
|||
('data_fim', models.DateField(blank=True, null=True, verbose_name='Data Fim')), |
|||
('bloco', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Bloco')), |
|||
('cargo', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.CargoBloco')), |
|||
('parlamentar', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='parlamentares.Parlamentar')), |
|||
], |
|||
options={'ordering': ['data_inicio'], 'verbose_name': 'Vinculo bloco parlamentar', 'verbose_name_plural': 'Vinculos bloco parlamentar'}, |
|||
), |
|||
] |
@ -0,0 +1,59 @@ |
|||
{% 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:vincula_parlamentar_ao_bloco' object.pk%}" class="btn btn-outline-primary">Vincular Parlamentar</a> |
|||
</div> |
|||
{% endblock actions %} |
|||
|
|||
{% block table_content %} |
|||
{{ block.super }} |
|||
<h3>Integrantes</h3> |
|||
<table style="margin-top:20px" class="table"> |
|||
<thead> |
|||
<tr> |
|||
<th scope="col">Parlamentar</th> |
|||
<th scope="col">Cargo</th> |
|||
<th scope="col">Data de Inicio</th> |
|||
<th scope="col">Data Final</th> |
|||
<th scope="col">Editar</th> |
|||
<th scope="col">Deletar</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for vinculo in vinculados%} |
|||
<tr> |
|||
<td>{{vinculo.parlamentar}}</td> |
|||
<td>{{vinculo.cargo}}</td> |
|||
<td>{{vinculo.data_inicio}}</td> |
|||
<td>{% if vinculo.data_fim %}{{vinculo.data_fim}}{% else %}Sem data final{% endif %}</td> |
|||
<td><a href="{% url 'sapl.parlamentares:edita-vinculo-parlamentar-bloco' vinculo.pk%}" class="btn btn-outline-primary">Editar</a></td> |
|||
<td><a class="btn btn-outline-primary btn-outline-danger" style="color:red" data-toggle="modal" data-target="#confirmDelete{{h.pk}}">Deletar</a></td> |
|||
</tr> |
|||
<!-- Modal --> |
|||
<div class="modal fade" id="confirmDelete{{h.pk}}" tabindex="-1" role="dialog" aria-labelledby="confirmDeleteLabel" aria-hidden="true"> |
|||
<div class="modal-dialog" role="document"> |
|||
<div class="modal-content"> |
|||
<div class="modal-header"> |
|||
<h5 class="modal-title" id="confirmDeleteLabel">Deletar</h5> |
|||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> |
|||
<span aria-hidden="true">×</span> |
|||
</button> |
|||
</div> |
|||
<div class="modal-body"> |
|||
Tem certeza que deseja deletar esse Integrante ? |
|||
</div> |
|||
<div class="modal-footer"> |
|||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button> |
|||
<a href="{% url 'sapl.parlamentares:deleta-vinculo-parlamentar-bloco' vinculo.pk%}" class="btn btn-outline-danger">Sim, tenho certeza.</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
|
|||
{% endblock table_content %} |
@ -0,0 +1,37 @@ |
|||
{% extends "base.html" %} |
|||
{% load i18n common_tags%} |
|||
{% load crispy_forms_tags %} |
|||
|
|||
{% block base_content %} |
|||
|
|||
<form method='POST'> |
|||
{% csrf_token %} |
|||
{% for error in form.non_field_errors %} |
|||
<div class="alert alert-danger" role="alert"> |
|||
{{ error }} |
|||
</div> |
|||
{% endfor %} |
|||
<div class="container"> |
|||
<div class="row"> |
|||
<div class="col-sm"> |
|||
{{ form.cargo|as_crispy_field }} |
|||
</div> |
|||
<div class="col-sm"> |
|||
{{ form.parlamentar|as_crispy_field }} |
|||
</div> |
|||
</div> |
|||
<div class="row"> |
|||
<div class="col-sm"> |
|||
{{ form.data_inicio|as_crispy_field }} |
|||
</div> |
|||
<div class="col-sm"> |
|||
{{ form.data_fim|as_crispy_field }} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<a href="{% url 'sapl.parlamentares:bloco_detail' pk%}" class="btn btn-dark">Cancelar</a> |
|||
<button type="submit" name="salvar" value="Salvar" class="btn btn-primary float-right" id="submit-id-salvar">Salvar</button> |
|||
|
|||
</form> |
|||
{% endblock base_content %} |
Loading…
Reference in new issue