Browse Source

Fix #2828 - Adiciona tipo de cronômetro

pull/2829/head
Cesar Carvalho 7 years ago
parent
commit
3f312c9821
  1. 29
      sapl/painel/migrations/0003_auto_20190603_0815.py
  2. 33
      sapl/painel/migrations/0004_auto_20190603_0826.py
  3. 24
      sapl/painel/migrations/0005_auto_20190603_0842.py
  4. 28
      sapl/painel/models.py
  5. 9
      sapl/painel/urls.py
  6. 7
      sapl/painel/views.py
  7. 6
      sapl/templates/menu_tabelas_auxiliares.yaml
  8. 4
      sapl/templates/painel/layouts.yaml

29
sapl/painel/migrations/0003_auto_20190603_0815.py

@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.20 on 2019-06-03 11:15
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('painel', '0002_auto_20180523_1430'),
]
operations = [
migrations.RemoveField(
model_name='cronometro',
name='data_cronometro',
),
migrations.AddField(
model_name='cronometro',
name='duracao_cronometro',
field=models.DurationField(blank=True, null=True, verbose_name='Duração do cronômetro'),
),
migrations.AlterField(
model_name='cronometro',
name='status',
field=models.CharField(choices=[('I', 'Start'), ('R', 'Reset'), ('S', 'Stop'), ('C', 'Increment')], default='S', max_length=1, verbose_name='Status do cronômetro'),
),
]

33
sapl/painel/migrations/0004_auto_20190603_0826.py

@ -0,0 +1,33 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.20 on 2019-06-03 11:26
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('painel', '0003_auto_20190603_0815'),
]
operations = [
migrations.CreateModel(
name='TipoCronometro',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('nome', models.CharField(max_length=100, verbose_name='Tipo Cronômetro')),
],
options={
'verbose_name': 'Tipo de Cronômetro',
'verbose_name_plural': 'Tipos de Cronômetro',
'ordering': ['nome'],
},
),
migrations.AlterField(
model_name='cronometro',
name='tipo',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='painel.TipoCronometro', verbose_name='Tipo Cronômetro'),
),
]

24
sapl/painel/migrations/0005_auto_20190603_0842.py

@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.20 on 2019-06-03 11:42
from __future__ import unicode_literals
from django.db import migrations
def create_default_tipos_cronometro(apps, schema_editor):
TipoCronometro = apps.get_model('painel', 'TipoCronometro')
tipos_default = ['Cronômetro do Discurso', 'Cronômetro do Aparte',
'Cronômetro da Ordem', 'Cronômetro de Considerações Finais']
for tipo in tipos_default:
TipoCronometro.objects.get_or_create(nome=tipo)
class Migration(migrations.Migration):
dependencies = [
('painel', '0004_auto_20190603_0826'),
]
operations = [
migrations.RunPython(create_default_tipos_cronometro)
]

28
sapl/painel/models.py

@ -21,6 +21,19 @@ class Painel(models.Model):
return str(self.aberto) + ":" + self.data_painel.strftime("%d/%m/%Y")
@reversion.register()
class TipoCronometro(models.Model):
nome = models.CharField(max_length=30, verbose_name=_('Tipo Cronômetro'))
class Meta:
verbose_name = _('Tipo de Cronômetro')
verbose_name_plural = _('Tipos de Cronômetro')
ordering = ['nome']
def __str__(self):
return self.nome
@reversion.register()
class Cronometro(models.Model):
CRONOMETRO_TYPES = (
@ -34,6 +47,7 @@ class Cronometro(models.Model):
('I', 'Start'),
('R', 'Reset'),
('S', 'Stop'),
('C', 'Increment'),
)
status = models.CharField(
@ -41,7 +55,13 @@ class Cronometro(models.Model):
verbose_name=_('Status do cronômetro'),
choices=CRONOMETRO_STATUS,
default='S')
data_cronometro = models.DateField(verbose_name=_('Data do cronômetro'))
tipo = models.CharField(
max_length=1, choices=CRONOMETRO_TYPES,
verbose_name=_('Tipo Cronômetro'))
duracao_cronometro = models.DurationField(
verbose_name=_('Duração do cronômetro'),
blank=True,
null=True)
# tipo = models.CharField(
# max_length=1, choices=CRONOMETRO_TYPES,
# verbose_name=_('Tipo Cronômetro'))
tipo = models.ForeignKey(TipoCronometro,
on_delete=models.PROTECT,
verbose_name=_('Tipo Cronômetro'))

9
sapl/painel/urls.py

@ -1,9 +1,10 @@
from django.conf.urls import url
from django.conf.urls import url, include
from .apps import AppConfig
from .views import (cronometro_painel, get_dados_painel, painel_mensagem_view,
painel_parlamentar_view, painel_view, painel_votacao_view,
switch_painel, verifica_painel, votante_view)
switch_painel, verifica_painel, votante_view, CronometroPainelCrud,
TipoCronometroCrud)
app_name = AppConfig.name
@ -20,7 +21,9 @@ urlpatterns = [
url(r'^painel/verifica-painel$', verifica_painel,
name="verifica_painel"),
url(r'^painel/cronometro$', cronometro_painel, name='cronometro_painel'),
# url(r'^painel/cronometro$', include(CronometroPainelCrud.get_urls())),
# url(r'^painel/cronometro', include(CronometroPainelCrud.get_urls())),
url(r'^sistema/cronometro/tipo/',
include(TipoCronometroCrud.get_urls())),
url(r'^voto-individual/$', votante_view,
name='voto_individual'),

7
sapl/painel/views.py

@ -15,7 +15,7 @@ from django.utils.translation import ugettext_lazy as _
from sapl.base.models import AppConfig as ConfiguracoesAplicacao
from sapl.base.models import CasaLegislativa
from sapl.crud.base import Crud
from sapl.crud.base import Crud, CrudAux
from sapl.painel.apps import AppConfig
from sapl.parlamentares.models import Legislatura, Parlamentar, Votante
from sapl.sessao.models import (ExpedienteMateria, OradorExpediente, OrdemDia,
@ -24,11 +24,12 @@ from sapl.sessao.models import (ExpedienteMateria, OradorExpediente, OrdemDia,
VotoParlamentar)
from sapl.utils import filiacao_data, get_client_ip, sort_lista_chave
from .models import Cronometro
from .models import TipoCronometro, Cronometro
VOTACAO_NOMINAL = 2
CronometroPainelCrud = Crud.build(Cronometro, '')
CronometroPainelCrud = CrudAux.build(Cronometro, '')
TipoCronometroCrud = CrudAux.build(TipoCronometro, 'tipo_cronometro')
# FIXME mudar lógica

6
sapl/templates/menu_tabelas_auxiliares.yaml

@ -167,6 +167,12 @@
- title: {% trans 'Tipo de Justificativa' %}
url: sapl.sessao:tipojustificativa_list
css_class: btn btn-link
- title: {% trans 'Módulo Painel' %}
css_class: head_title
children:
- title: {% trans 'Tipo de Cronômetro' %}
url: sapl.painel:tipocronometro_list
css_class: btn btn-link
- title: {% trans 'Módulo LexML' %}
css_class: head_title
children:

4
sapl/templates/painel/layouts.yaml

@ -2,3 +2,7 @@
Cronometro:
{% trans 'Cronometro' %}:
- status:3 data_cronometro:6 tipo
TipoCronometro:
{% trans 'Tipo de Cronômetro' %}:
- nome
Loading…
Cancel
Save