Browse Source

Cria tela de Frente

pull/587/head
Eduardo Edson Batista Cordeiro Alves 8 years ago
parent
commit
39101b003a
  1. 30
      sapl/parlamentares/migrations/0025_frente.py
  2. 20
      sapl/parlamentares/migrations/0026_auto_20160916_1034.py
  3. 28
      sapl/parlamentares/models.py
  4. 11
      sapl/parlamentares/urls.py
  5. 23
      sapl/parlamentares/views.py
  6. 7
      sapl/templates/parlamentares/layouts.yaml

30
sapl/parlamentares/migrations/0025_frente.py

@ -0,0 +1,30 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-09-16 13:25
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('parlamentares', '0024_merge'),
]
operations = [
migrations.CreateModel(
name='Frente',
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 Frente')),
('data_criacao', models.DateField(verbose_name='Data Criação')),
('data_extincao', models.DateField(blank=True, verbose_name='Data Dissolução')),
('descricao', models.TextField(blank=True, verbose_name='Descrição')),
('parlamentares', models.ManyToManyField(blank=True, to='parlamentares.Parlamentar', verbose_name='Parlamentares')),
],
options={
'verbose_name': 'Frente',
'verbose_name_plural': 'Frentes',
},
),
]

20
sapl/parlamentares/migrations/0026_auto_20160916_1034.py

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-09-16 13:34
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('parlamentares', '0025_frente'),
]
operations = [
migrations.AlterField(
model_name='frente',
name='data_extincao',
field=models.DateField(blank=True, null=True, verbose_name='Data Dissolução'),
),
]

28
sapl/parlamentares/models.py

@ -409,3 +409,31 @@ class ComposicaoMesa(models.Model):
return _('%(parlamentar)s - %(cargo)s') % {
'parlamentar': self.parlamentar, 'cargo': self.cargo
}
class Frente(models.Model):
'''
* Uma frente agrupa vários parlamentares
* Cada parlamentar pode fazer parte de uma ou mais frentes
* Uma frente pode existir por mais de uma legislatura?
'''
nome = models.CharField(
max_length=80,
verbose_name=_('Nome da Frente'))
parlamentares = models.ManyToManyField(Parlamentar,
blank=True,
verbose_name=_('Parlamentares'))
data_criacao = models.DateField(verbose_name=_('Data Criação'))
data_extincao = models.DateField(
blank=True, null=True, verbose_name=_('Data Dissolução'))
descricao = models.TextField(blank=True, verbose_name=_('Descrição'))
class Meta:
verbose_name = _('Frente')
verbose_name_plural = _('Frentes')
def get_parlamentares(self):
return Parlamentar.objects.filter(ativo=True)
def __str__(self):
return self.nome

11
sapl/parlamentares/urls.py

@ -2,9 +2,10 @@ from django.conf.urls import include, url
from sapl.parlamentares.views import (CargoMesaCrud, ColigacaoCrud,
ComposicaoColigacaoCrud, DependenteCrud,
FiliacaoCrud, LegislaturaCrud,
MandatoCrud, MesaDiretoraView,
NivelInstrucaoCrud, ParlamentarCrud,
FiliacaoCrud, FrenteCrud,
LegislaturaCrud, MandatoCrud,
MesaDiretoraView, NivelInstrucaoCrud,
ParlamentarCrud,
ParticipacaoParlamentarCrud, PartidoCrud,
ProposicaoParlamentarCrud,
RelatoriaParlamentarCrud,
@ -24,10 +25,12 @@ urlpatterns = [
ProposicaoParlamentarCrud.get_urls() +
RelatoriaParlamentarCrud.get_urls()
)),
url(r'^sistema/coligacao/',
include(ColigacaoCrud.get_urls() +
ComposicaoColigacaoCrud.get_urls())),
url(r'^sistema/frente/',
include(FrenteCrud.get_urls())),
url(r'^sistema/parlamentar/legislatura/',
include(LegislaturaCrud.get_urls())),
url(r'^sistema/parlamentar/tipo-dependente/',

23
sapl/parlamentares/views.py

@ -20,11 +20,32 @@ from sapl.utils import permissao_tb_aux, permissoes_parlamentares
from .forms import (ComposicaoColigacaoForm, FiliacaoForm, LegislaturaForm,
ParlamentarCreateForm, ParlamentarForm)
from .models import (CargoMesa, Coligacao, ComposicaoColigacao, ComposicaoMesa,
Dependente, Filiacao, Legislatura, Mandato,
Dependente, Filiacao, Frente, Legislatura, Mandato,
NivelInstrucao, Parlamentar, Partido, SessaoLegislativa,
SituacaoMilitar, TipoAfastamento, TipoDependente)
class FrenteCrud(Crud):
model = Frente
help_path = ''
class CreateView(PermissionRequiredMixin, CrudCreateView):
permission_required = permissoes_parlamentares()
# def get_initial(self):
# return {'parlamentares': Parlamentar.objects.filter(ativo=True)}
# class UpdateView(PermissionRequiredMixin, CrudUpdateView):
# permission_required = permissoes_parlamentares()
#
# def get_initial(self):
# initial = self.initial.copy()
# if self.object.materia:
# initial['parlamentares'] = Parlamentar.object.filter(
# ativo=True)
# return initial
class RelatoriaParlamentarCrud(MasterDetailCrud):
model = Relatoria
parent_field = 'parlamentar'

7
sapl/templates/parlamentares/layouts.yaml

@ -91,3 +91,10 @@ SituacaoMilitar:
ComposicaoColigacao:
{% trans 'Nome do Partido' %}:
- partido
Frente:
{% trans 'Frente' %}:
- nome
- data_criacao data_extincao
- parlamentares
- descricao

Loading…
Cancel
Save