Browse Source

Fix #500

pull/614/head
Eduardo Calil 8 years ago
parent
commit
afea867160
  1. 4
      sapl/parlamentares/forms.py
  2. 21
      sapl/parlamentares/migrations/0028_legislatura_numero.py
  3. 9
      sapl/parlamentares/models.py
  4. 14
      sapl/parlamentares/views.py
  5. 2
      sapl/sessao/models.py
  6. 2
      sapl/sessao/views.py
  7. 11
      scripts/id_numero_legislatura.py
  8. 1
      scripts/inicializa_grupos_autorizacoes.py

4
sapl/parlamentares/forms.py

@ -24,6 +24,7 @@ class LegislaturaForm(ModelForm):
def clean(self): def clean(self):
cleaned_data = self.cleaned_data cleaned_data = self.cleaned_data
numero = cleaned_data['numero']
data_inicio = cleaned_data['data_inicio'] data_inicio = cleaned_data['data_inicio']
data_fim = cleaned_data['data_fim'] data_fim = cleaned_data['data_fim']
data_eleicao = cleaned_data['data_eleicao'] data_eleicao = cleaned_data['data_eleicao']
@ -32,6 +33,9 @@ class LegislaturaForm(ModelForm):
raise ValidationError(_('A data início deve ser menor que a ' + raise ValidationError(_('A data início deve ser menor que a ' +
'data fim, e a data eleição deve ser ' + 'data fim, e a data eleição deve ser ' +
'menor que a data início')) 'menor que a data início'))
if Legislatura.objects.filter(numero=numero).exists():
raise ValidationError(
_('Já cadastrada uma legislatura com este número'))
return cleaned_data return cleaned_data

21
sapl/parlamentares/migrations/0028_legislatura_numero.py

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-09-21 15:03
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('parlamentares', '0027_merge'),
]
operations = [
migrations.AddField(
model_name='legislatura',
name='numero',
field=models.PositiveIntegerField(default=1, verbose_name='Número'),
preserve_default=False,
),
]

9
sapl/parlamentares/models.py

@ -9,6 +9,7 @@ from sapl.utils import (UF, YES_NO_CHOICES, intervalos_tem_intersecao,
class Legislatura(models.Model): class Legislatura(models.Model):
numero = models.PositiveIntegerField(verbose_name=_('Número'))
data_inicio = models.DateField(verbose_name=_('Data Início')) data_inicio = models.DateField(verbose_name=_('Data Início'))
data_fim = models.DateField(verbose_name=_('Data Fim')) data_fim = models.DateField(verbose_name=_('Data Fim'))
data_eleicao = models.DateField(verbose_name=_('Data Eleição')) data_eleicao = models.DateField(verbose_name=_('Data Eleição'))
@ -32,8 +33,8 @@ class Legislatura(models.Model):
else: else:
current = '' current = ''
return _('%(id)sª (%(start)s - %(end)s)%(current)s') % { return _('%(numero)sª (%(start)s - %(end)s)%(current)s') % {
'id': self.id, 'numero': self.numero,
'start': self.data_inicio.year, 'start': self.data_inicio.year,
'end': self.data_fim.year, 'end': self.data_fim.year,
'current': current} 'current': current}
@ -63,8 +64,8 @@ class SessaoLegislativa(models.Model):
verbose_name_plural = _('Sessões Legislativas') verbose_name_plural = _('Sessões Legislativas')
def __str__(self): def __str__(self):
return _('%(id)sº (%(inicio)s - %(fim)s)') % { return _('%(numero)sº (%(inicio)s - %(fim)s)') % {
'id': self.id, 'numero': self.numero,
'inicio': self.data_inicio.year, 'inicio': self.data_inicio.year,
'fim': self.data_fim.year} 'fim': self.data_fim.year}

14
sapl/parlamentares/views.py

@ -234,7 +234,7 @@ class MandatoCrud(MasterDetailCrud):
help_path = '' help_path = ''
class ListView(MasterDetailCrud.ListView): class ListView(MasterDetailCrud.ListView):
ordering = ('-legislatura__data_inicio') ordering = ('-numero')
class CreateView(PermissionRequiredMixin, MasterDetailCrud.CreateView): class CreateView(PermissionRequiredMixin, MasterDetailCrud.CreateView):
permission_required = permissoes_parlamentares() permission_required = permissoes_parlamentares()
@ -251,7 +251,7 @@ class ColigacaoCrud(Crud):
help_path = 'tabelas_auxiliares#coligacao' help_path = 'tabelas_auxiliares#coligacao'
class ListView(CrudListView): class ListView(CrudListView):
ordering = ('-legislatura__data_inicio', 'nome') ordering = ('-numero', 'nome')
class BaseMixin(PermissionRequiredMixin, CrudBaseMixin): class BaseMixin(PermissionRequiredMixin, CrudBaseMixin):
def has_permission(self): def has_permission(self):
@ -368,7 +368,7 @@ class ParlamentarCrud(Crud):
def take_legislatura_id(self): def take_legislatura_id(self):
legislaturas = Legislatura.objects.all().order_by( legislaturas = Legislatura.objects.all().order_by(
'-data_inicio', '-data_fim') '-numero')
if legislaturas: if legislaturas:
try: try:
@ -420,7 +420,7 @@ class ParlamentarCrud(Crud):
# Adiciona legislatura para filtrar parlamentares # Adiciona legislatura para filtrar parlamentares
legislaturas = Legislatura.objects.all().order_by( legislaturas = Legislatura.objects.all().order_by(
'-data_inicio', '-data_fim') '-numero')
context['legislaturas'] = legislaturas context['legislaturas'] = legislaturas
context['legislatura_id'] = self.take_legislatura_id() context['legislatura_id'] = self.take_legislatura_id()
return context return context
@ -450,7 +450,7 @@ class MesaDiretoraView(FormView):
return self.render_to_response( return self.render_to_response(
{'legislaturas': Legislatura.objects.all( {'legislaturas': Legislatura.objects.all(
).order_by('-data_inicio'), ).order_by('-numero'),
'legislatura_selecionada': Legislatura.objects.last(), 'legislatura_selecionada': Legislatura.objects.last(),
'cargos_vagos': CargoMesa.objects.all()}) 'cargos_vagos': CargoMesa.objects.all()})
@ -477,7 +477,7 @@ class MesaDiretoraView(FormView):
return self.render_to_response( return self.render_to_response(
{'legislaturas': Legislatura.objects.all( {'legislaturas': Legislatura.objects.all(
).order_by('-data_inicio'), ).order_by('-numero'),
'legislatura_selecionada': Legislatura.objects.last(), 'legislatura_selecionada': Legislatura.objects.last(),
'sessoes': SessaoLegislativa.objects.filter( 'sessoes': SessaoLegislativa.objects.filter(
legislatura=Legislatura.objects.last()), legislatura=Legislatura.objects.last()),
@ -538,7 +538,7 @@ class MesaDiretoraView(FormView):
parlamentares_ocupados)) parlamentares_ocupados))
return self.render_to_response( return self.render_to_response(
{'legislaturas': Legislatura.objects.all( {'legislaturas': Legislatura.objects.all(
).order_by('-data_inicio'), ).order_by('-numero'),
'legislatura_selecionada': Legislatura.objects.get( 'legislatura_selecionada': Legislatura.objects.get(
id=int(request.POST['legislatura'])), id=int(request.POST['legislatura'])),
'sessoes': SessaoLegislativa.objects.filter( 'sessoes': SessaoLegislativa.objects.filter(

2
sapl/sessao/models.py

@ -129,7 +129,7 @@ class SessaoPlenaria(models.Model):
'tipo_nome': self.tipo.nome, 'tipo_nome': self.tipo.nome,
'sessao_legislativa_numero': self.sessao_legislativa.numero, 'sessao_legislativa_numero': self.sessao_legislativa.numero,
# XXX check if it shouldn't be legislatura.numero # XXX check if it shouldn't be legislatura.numero
'legislatura_id': self.legislatura.id} 'legislatura_id': self.legislatura.numero}
class AbstractOrdemDia(models.Model): class AbstractOrdemDia(models.Model):

2
sapl/sessao/views.py

@ -2012,7 +2012,7 @@ class PesquisarSessaoPlenariaView(FilterView):
qs = self.get_queryset() qs = self.get_queryset()
qs = qs.distinct().order_by( qs = qs.distinct().order_by(
'-legislatura__id', '-data_inicio', '-numero') '-legislatura__numero', '-data_inicio', '-numero')
kwargs.update({ kwargs.update({
'queryset': qs, 'queryset': qs,

11
scripts/id_numero_legislatura.py

@ -0,0 +1,11 @@
from sapl.parlamentares.models import Legislatura
def popula_numero_legislatura_id():
for l in Legislatura.objects.all():
l.numero = l.id
l.save()
if __name__ == '__main__':
popula_numero_legislatura_id()

1
scripts/inicializa_grupos_autorizacoes.py

@ -110,5 +110,6 @@ def cria_grupos_permissoes():
nome_usuario = 'operador_autor' nome_usuario = 'operador_autor'
cria_usuario(nome_usuario, grupo) cria_usuario(nome_usuario, grupo)
if __name__ == '__main__': if __name__ == '__main__':
cria_grupos_permissoes() cria_grupos_permissoes()

Loading…
Cancel
Save