Browse Source

Criação da tela de Bancada

pull/465/head
Eduardo Edson Batista Cordeiro Alves 10 years ago
parent
commit
2513d9dcc1
  1. 7
      sessao/layouts.yaml
  2. 33
      sessao/migrations/0017_bancada.py
  3. 31
      sessao/migrations/0018_auto_20160517_1435.py
  4. 23
      sessao/models.py
  5. 12
      sessao/urls.py
  6. 10
      sessao/views.py
  7. 2
      templates/sistema.html

7
sessao/layouts.yaml

@ -60,3 +60,10 @@ ExpedienteMateriaDetail:
- materia
- tipo_votacao
- observacao
Bancada:
Bancada:
- legislatura
- nome partido
- data_criacao data_extincao
- descricao

33
sessao/migrations/0017_bancada.py

@ -0,0 +1,33 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.5 on 2016-05-17 17:26
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('parlamentares', '0018_auto_20160510_0943'),
('sessao', '0016_auto_20160404_1409'),
]
operations = [
migrations.CreateModel(
name='Bancada',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('nome', models.CharField(max_length=80, verbose_name='Nome da Bancada, Bloco, Frente ou Grupo')),
('data_criacao', models.DateField(blank=True, verbose_name='Data Criação')),
('data_extincao', models.DateField(blank=True, verbose_name='Data Extinção')),
('descricao', models.TextField(blank=True, verbose_name='Descrição')),
('legislatura', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='parlamentares.Legislatura', verbose_name='Legislatura')),
('partido', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, to='parlamentares.Partido', verbose_name='Partido')),
],
options={
'verbose_name_plural': 'Bancadas',
'verbose_name': 'Bancada',
},
),
]

31
sessao/migrations/0018_auto_20160517_1435.py

@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.5 on 2016-05-17 17:35
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('sessao', '0017_bancada'),
]
operations = [
migrations.AlterField(
model_name='bancada',
name='data_criacao',
field=models.DateField(blank=True, null=True, verbose_name='Data Criação'),
),
migrations.AlterField(
model_name='bancada',
name='data_extincao',
field=models.DateField(blank=True, null=True, verbose_name='Data Extinção'),
),
migrations.AlterField(
model_name='bancada',
name='partido',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='parlamentares.Partido', verbose_name='Partido'),
),
]

23
sessao/models.py

@ -3,11 +3,32 @@ from django.utils.translation import ugettext_lazy as _
from model_utils import Choices
from materia.models import MateriaLegislativa
from parlamentares.models import (CargoMesa, Legislatura, Parlamentar,
from parlamentares.models import (CargoMesa, Legislatura, Parlamentar, Partido,
SessaoLegislativa)
from sapl.utils import YES_NO_CHOICES, restringe_tipos_de_arquivo_txt
class Bancada(models.Model):
legislatura = models.ForeignKey(Legislatura, verbose_name=_('Legislatura'))
nome = models.CharField(
max_length=80,
verbose_name=_('Nome da Bancada, Bloco, Frente ou Grupo'))
partido = models.ForeignKey(Partido, blank=True, null=True,
verbose_name=_('Partido'))
data_criacao = models.DateField(blank=True, null=True,
verbose_name=_('Data Criação'))
data_extincao = models.DateField(blank=True, null=True,
verbose_name=_('Data Extinção'))
descricao = models.TextField(blank=True, verbose_name=_('Descrição'))
class Meta:
verbose_name = _('Bancada')
verbose_name_plural = _('Bancadas')
def __str__(self):
return self.nome
class TipoSessaoPlenaria(models.Model):
nome = models.CharField(max_length=30, verbose_name=_('Tipo'))
quorum_minimo = models.PositiveIntegerField(

12
sessao/urls.py

@ -2,11 +2,11 @@ from django.conf.urls import include, url
from django.views.static import serve
from sapl import settings
from sessao.views import (EditMateriaOrdemDiaView, ExpedienteMateriaCrud,
ExpedienteView, ListMateriaOrdemDiaView,
MateriaOrdemDiaView, MesaView, OradorCrud,
OradorExpedienteCrud, PainelView,
PautaExpedienteDetail, PautaOrdemDetail,
from sessao.views import (BancadaCrud, EditMateriaOrdemDiaView,
ExpedienteMateriaCrud, ExpedienteView,
ListMateriaOrdemDiaView, MateriaOrdemDiaView,
MesaView, OradorCrud, OradorExpedienteCrud,
PainelView, PautaExpedienteDetail, PautaOrdemDetail,
PautaSessaoDetailView, PautaSessaoListView,
PesquisarSessaoPlenariaView, PresencaOrdemDiaView,
PresencaView, ResumoView, SessaoCrud,
@ -45,6 +45,8 @@ urlpatterns = [
include(TipoResultadoVotacaoCrud.get_urls())),
url(r'^sistema/sessao-plenaria/tipo-expediente/',
include(TipoExpedienteCrud.get_urls())),
url(r'^sistema/bancada/',
include(BancadaCrud.get_urls())),
# PAUTA SESSÃO
url(r'^pauta-sessao$',

10
sessao/views.py

@ -32,7 +32,7 @@ from .models import (CargoMesa, ExpedienteMateria, ExpedienteSessao,
OradorExpediente, OrdemDia, PresencaOrdemDia,
RegistroVotacao, SessaoPlenaria, SessaoPlenariaPresenca,
TipoExpediente, TipoResultadoVotacao, TipoSessaoPlenaria,
VotoParlamentar)
VotoParlamentar, Bancada)
TipoSessaoCrud = Crud.build(TipoSessaoPlenaria, 'tipo_sessao_plenaria')
OrdemDiaCrud = Crud.build(OrdemDia, '')
@ -55,6 +55,14 @@ def reordernar_materias_expediente(request, pk):
reverse('sessao:expedientemateria_list', kwargs={'pk': pk}))
class BancadaCrud(Crud):
model = Bancada
help_path = ''
class BaseMixin(crud.base.CrudBaseMixin):
list_field_names = ['nome', 'legislatura']
def abrir_votacao_view(request, pk, spk):
existe_votacao_aberta = ExpedienteMateria.objects.filter(
sessao_plenaria_id=spk, votacao_aberta=True

2
templates/sistema.html

@ -34,7 +34,7 @@
<h2>Módulo Bancadas</h2>
<div class="row">
<div class="col-md-6"><a href="#" class="btn btn-link">Bancadas</a></div>
<div class="col-md-6"><a href="{% url 'sessao:bancada_list' %}" class="btn btn-link">Bancadas</a></div>
<div class="col-md-6"><a href="#" class="btn btn-link">Cargo de Bancada</a></div>
</div>

Loading…
Cancel
Save