diff --git a/.gitignore b/.gitignore index 8eaaf94a4..e149c5fd0 100644 --- a/.gitignore +++ b/.gitignore @@ -80,3 +80,4 @@ target/ collected_static bower bower_components +media diff --git a/parlamentares/models.py b/parlamentares/models.py index b6a186fb5..c5ea10efb 100644 --- a/parlamentares/models.py +++ b/parlamentares/models.py @@ -2,6 +2,7 @@ from django.db import models from django.utils.translation import ugettext_lazy as _ from sapl.utils import YES_NO_CHOICES, make_choices +import datetime class Legislatura(models.Model): @@ -14,11 +15,19 @@ class Legislatura(models.Model): verbose_name_plural = _('Legislaturas') def __str__(self): - return _('Eleição: %(eleicao)s' - ' - Início: %(inicio)s | Fim: %(fim)s') % { - 'eleicao': self.data_eleicao, - 'inicio': self.data_inicio, - 'fim': self.data_fim} + # XXX Usar id mesmo? Ou criar campo para nº legislatura? + current_date = datetime.datetime.now().year + if(self.data_inicio.year <= current_date + and self.data_fim.year >= current_date): + return _('%(id)sº (%(inicio)s - %(fim)s) (Atual)') % { + 'id': self.id, + 'inicio': self.data_inicio.year, + 'fim': self.data_fim.year} + else: + return _('%(id)sº (%(inicio)s - %(fim)s)') % { + 'id': self.id, + 'inicio': self.data_inicio.year, + 'fim': self.data_fim.year} class SessaoLegislativa(models.Model): @@ -43,7 +52,10 @@ class SessaoLegislativa(models.Model): verbose_name_plural = _('Sessões Legislativas') def __str__(self): - return self.get_tipo_display() + return _('%(id)sº (%(inicio)s - %(fim)s)') % { + 'id': self.id, + 'inicio': self.data_inicio.year, + 'fim': self.data_fim.year} class Coligacao(models.Model): diff --git a/sessao/legacy.yaml b/sessao/legacy.yaml index e428596de..1ec1bee5c 100644 --- a/sessao/legacy.yaml +++ b/sessao/legacy.yaml @@ -6,7 +6,6 @@ SessaoPlenaria: cod_andamento_sessao: cod_andamento_sessao data_fim: dat_fim_sessao data_inicio: dat_inicio_sessao - dia: dia_sessao hora_fim: hr_fim_sessao hora_inicio: hr_inicio_sessao legislatura: num_legislatura @@ -16,6 +15,9 @@ SessaoPlenaria: tipo_expediente: tip_expediente url_audio: url_audio url_video: url_video + upload_pauta : upload_pauta + iniciada : iniciada + finalizada : finalizada AbstractOrdemDia: data_ordem: dat_ordem diff --git a/sessao/migrations/0002_auto_20150729_1450.py b/sessao/migrations/0002_auto_20150729_1450.py new file mode 100644 index 000000000..df29f69e5 --- /dev/null +++ b/sessao/migrations/0002_auto_20150729_1450.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('sessao', '0001_initial'), + ] + + operations = [ + migrations.RemoveField( + model_name='sessaoplenaria', + name='dia', + ), + migrations.AddField( + model_name='sessaoplenaria', + name='finalizada', + field=models.NullBooleanField(verbose_name='Sessão finalizada?', choices=[(True, 'Sim'), (False, 'Não')]), + ), + migrations.AddField( + model_name='sessaoplenaria', + name='iniciada', + field=models.NullBooleanField(verbose_name='Sessão iniciada?', choices=[(True, 'Sim'), (False, 'Não')]), + ), + migrations.AddField( + model_name='sessaoplenaria', + name='upload_ata', + field=models.FileField(verbose_name='Ata da Sessão', null=True, upload_to='', blank=True), + ), + migrations.AddField( + model_name='sessaoplenaria', + name='upload_pauta', + field=models.FileField(verbose_name='Pauta da Sessão', null=True, upload_to='', blank=True), + ), + migrations.AlterField( + model_name='sessaoplenaria', + name='hora_fim', + field=models.CharField(verbose_name='Horário (hh:mm)', null=True, max_length=5, blank=True), + ), + migrations.AlterField( + model_name='sessaoplenaria', + name='hora_inicio', + field=models.CharField(verbose_name='Horário (hh:mm)', max_length=5), + ), + ] diff --git a/sessao/migrations/0003_remove_sessaoplenaria_tipo_expediente.py b/sessao/migrations/0003_remove_sessaoplenaria_tipo_expediente.py new file mode 100644 index 000000000..4dcc588c1 --- /dev/null +++ b/sessao/migrations/0003_remove_sessaoplenaria_tipo_expediente.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('sessao', '0002_auto_20150729_1450'), + ] + + operations = [ + migrations.RemoveField( + model_name='sessaoplenaria', + name='tipo_expediente', + ), + ] diff --git a/sessao/models.py b/sessao/models.py index ae77793aa..f249ba0c2 100644 --- a/sessao/models.py +++ b/sessao/models.py @@ -4,7 +4,7 @@ from django.utils.translation import ugettext_lazy as _ from materia.models import MateriaLegislativa from parlamentares.models import (CargoMesa, Legislatura, Parlamentar, SessaoLegislativa) -from sapl.utils import make_choices +from sapl.utils import make_choices, YES_NO_CHOICES class TipoSessaoPlenaria(models.Model): @@ -31,12 +31,11 @@ class SessaoPlenaria(models.Model): SessaoLegislativa, verbose_name=_('Sessão Legislativa')) legislatura = models.ForeignKey(Legislatura, verbose_name=_('Legislatura')) # XXX seems to be empty - tipo_expediente = models.CharField(max_length=10) data_inicio = models.DateField(verbose_name=_('Abertura')) - dia = models.CharField(max_length=15) - hora_inicio = models.CharField(max_length=5, verbose_name=_('Horário')) + hora_inicio = models.CharField( + max_length=5, verbose_name=_('Horário (hh:mm)')) hora_fim = models.CharField( - max_length=5, blank=True, null=True, verbose_name=_('Horário')) + max_length=5, blank=True, null=True, verbose_name=_('Horário (hh:mm)')) numero = models.IntegerField(verbose_name=_('Número')) data_fim = models.DateField( blank=True, null=True, verbose_name=_('Encerramento')) @@ -46,6 +45,16 @@ class SessaoPlenaria(models.Model): url_video = models.CharField( max_length=150, blank=True, null=True, verbose_name=_('URL Arquivo Vídeo (Formatos MP4 / FLV / WebM)')) + upload_pauta = models.FileField( + blank=True, null=True, upload_to='', verbose_name=_('Pauta da Sessão')) + upload_ata = models.FileField( + blank=True, null=True, upload_to='', verbose_name=_('Ata da Sessão')) + iniciada = models.NullBooleanField(blank=True, + choices=YES_NO_CHOICES, + verbose_name=_('Sessão iniciada?')) + finalizada = models.NullBooleanField(blank=True, + choices=YES_NO_CHOICES, + verbose_name=_('Sessão finalizada?')) class Meta: verbose_name = _('Sessão Plenária') diff --git a/sessao/views.py b/sessao/views.py index a6cdcf4be..20c255fd4 100644 --- a/sessao/views.py +++ b/sessao/views.py @@ -17,16 +17,13 @@ sessao_crud = build_crud( SessaoPlenaria, '', [ [_('Dados Básicos'), - [('numero', 3), + [('numero', 1), ('tipo', 3), - ('legislatura', 3), - ('sessao_legislativa', 3)], - [('data_inicio', 12)], - [('data_fim', 12)], - [('dia', 2), - ('hora_inicio', 2), - ('hora_fim', 2), - ('tipo_expediente', 6)], + ('legislatura', 4), + ('sessao_legislativa', 4)], + [('data_inicio', 5), ('hora_inicio', 5), ('iniciada', 2)], + [('data_fim', 5), ('hora_fim', 5), ('finalizada', 2)], + [('upload_pauta', 6), ('upload_ata', 6)], [('url_audio', 6), ('url_video', 6)]], ])