Browse Source

Add field observacao no model Legislatura

pull/3585/head
LeandroJatai 2 years ago
parent
commit
0a84f9323e
  1. 18
      sapl/base/migrations/0049_auto_20220728_2029.py
  2. 40
      sapl/parlamentares/forms.py
  3. 18
      sapl/parlamentares/migrations/0039_legislatura_observacao.py
  4. 6
      sapl/parlamentares/models.py
  5. 1
      sapl/templates/parlamentares/layouts.yaml

18
sapl/base/migrations/0049_auto_20220728_2029.py

@ -0,0 +1,18 @@
# Generated by Django 2.2.20 on 2022-07-28 23:29
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('base', '0048_appconfig_tramitacao_origem_fixa'),
]
operations = [
migrations.AlterField(
model_name='appconfig',
name='tramitacao_origem_fixa',
field=models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=True, help_text='Ao utilizar a opção NÂO, você compreende que os controles de origem e destino das tramitações são anulados, podendo seu operador registrar quaisquer origem e destino para as tramitações. Se você colocar Não, fizer tramitações aleatórias e voltar para SIM, o destino da tramitação mais recente será utilizado para a origem de uma nova inserção!', verbose_name='Fixar origem de novas tramitações como sendo a tramitação de destino da última tramitação?'),
),
]

40
sapl/parlamentares/forms.py

@ -1,7 +1,6 @@
from datetime import timedelta
import logging
from sapl.crispy_layout_mixin import SaplFormHelper
from crispy_forms.layout import Fieldset, Layout
from django import forms
from django.contrib.auth import get_user_model
@ -13,14 +12,15 @@ from django.db.models import Q
from django.forms import ModelForm
from django.utils import timezone
from django.utils.translation import ugettext_lazy as _
import django_filters
from floppyforms.widgets import ClearableFileInput
from image_cropping.widgets import CropWidget, ImageCropWidget
from sapl.utils import FileFieldCheckMixin
from sapl.base.models import Autor, TipoAutor
from sapl.crispy_layout_mixin import SaplFormHelper
from sapl.crispy_layout_mixin import form_actions, to_row
from sapl.rules import SAPL_GROUP_VOTANTE
import django_filters
from sapl.utils import FileFieldCheckMixin
from .models import (Coligacao, ComposicaoColigacao, Filiacao, Frente, Legislatura,
Mandato, Parlamentar, Partido, Votante, Bloco, FrenteParlamentar, BlocoMembro)
@ -161,6 +161,10 @@ class LegislaturaForm(ModelForm):
model = Legislatura
exclude = []
widgets = {
'observacao': forms.Textarea(
attrs={'id': 'texto-rico'})}
def clean(self):
data = super(LegislaturaForm, self).clean()
@ -253,7 +257,8 @@ class ParlamentarFilterSet(django_filters.FilterSet):
class ColigacaoFilterSet(django_filters.FilterSet):
nome = django_filters.CharFilter(label=_('Nome da Coligação'), lookup_expr='icontains')
nome = django_filters.CharFilter(
label=_('Nome da Coligação'), lookup_expr='icontains')
class Meta:
model = Coligacao
@ -316,7 +321,8 @@ class ParlamentarCreateForm(ParlamentarForm):
return self.cleaned_data
cleaned_data = self.cleaned_data
parlamentar = Parlamentar.objects.filter(nome_parlamentar=cleaned_data['nome_parlamentar']).exists()
parlamentar = Parlamentar.objects.filter(
nome_parlamentar=cleaned_data['nome_parlamentar']).exists()
if parlamentar:
self.logger.error('Parlamentar já cadastrado.')
@ -537,9 +543,11 @@ class FrenteParlamentarForm(ModelForm):
return self.cleaned_data
if cd['cargo'].cargo_unico:
frente_parlamentar = FrenteParlamentar.objects.filter(frente=cd['frente'], cargo=cd['cargo'])
frente_parlamentar = FrenteParlamentar.objects.filter(
frente=cd['frente'], cargo=cd['cargo'])
if frente_parlamentar and not frente_parlamentar[0].parlamentar == cd['parlamentar']:
raise ValidationError(_("Cargo único já ocupado por outro parlamentar."))
raise ValidationError(
_("Cargo único já ocupado por outro parlamentar."))
return cd
@ -669,11 +677,15 @@ class VincularParlamentarForm(forms.Form):
data_expedicao_diploma = cleaned_data['data_expedicao_diploma']
if parlamentar.mandato_set.filter(legislatura=legislatura):
self.logger.error('Parlamentar já está vinculado a legislatura informada.')
raise ValidationError(_('Parlamentar já está vinculado a legislatura informada.'))
self.logger.error(
'Parlamentar já está vinculado a legislatura informada.')
raise ValidationError(
_('Parlamentar já está vinculado a legislatura informada.'))
elif data_expedicao_diploma and legislatura.data_inicio <= data_expedicao_diploma:
self.logger.error('Data da Expedição do Diploma deve ser anterior a data de início da Legislatura.')
raise ValidationError(_('Data da Expedição do Diploma deve ser anterior a data de início da Legislatura.'))
self.logger.error(
'Data da Expedição do Diploma deve ser anterior a data de início da Legislatura.')
raise ValidationError(
_('Data da Expedição do Diploma deve ser anterior a data de início da Legislatura.'))
return cleaned_data
@ -736,8 +748,10 @@ class BlocoMembroForm(ModelForm):
if cd['cargo'].cargo_unico \
and BlocoMembro.objects.filter(bloco=cd['bloco'], cargo=cd['cargo'], data_saida__isnull=True)\
.exclude(pk=self.instance.pk).exists():
raise ValidationError(_("Cargo único já ocupado por outro membro."))
raise ValidationError(
_("Cargo único já ocupado por outro membro."))
elif not cd['data_saida'] and BlocoMembro.objects.filter(parlamentar=cd['parlamentar'], data_saida__isnull=True).exists():
raise ValidationError(_("Parlamentar já é membro do bloco parlamentar."))
raise ValidationError(
_("Parlamentar já é membro do bloco parlamentar."))
return cd

18
sapl/parlamentares/migrations/0039_legislatura_observacao.py

@ -0,0 +1,18 @@
# Generated by Django 2.2.20 on 2022-07-28 23:29
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('parlamentares', '0038_sessao_legislativa_redundante'),
]
operations = [
migrations.AddField(
model_name='legislatura',
name='observacao',
field=models.TextField(blank=True, verbose_name='Observação'),
),
]

6
sapl/parlamentares/models.py

@ -22,6 +22,9 @@ class Legislatura(models.Model):
data_fim = models.DateField(verbose_name=_('Data Fim'))
data_eleicao = models.DateField(verbose_name=_('Data Eleição'))
observacao = models.TextField(
blank=True, verbose_name=_('Observação'))
class Meta:
ordering = ['-data_inicio']
verbose_name = _('Legislatura')
@ -522,7 +525,8 @@ class ComposicaoMesa(models.Model):
# TODO M2M ???? Ternary?????
parlamentar = models.ForeignKey(Parlamentar, on_delete=models.PROTECT)
cargo = models.ForeignKey(CargoMesa, on_delete=models.PROTECT)
mesa_diretora = models.ForeignKey(MesaDiretora, on_delete=models.PROTECT, null=True)
mesa_diretora = models.ForeignKey(
MesaDiretora, on_delete=models.PROTECT, null=True)
class Meta:
verbose_name = _('Ocupação de cargo na Mesa')

1
sapl/templates/parlamentares/layouts.yaml

@ -6,6 +6,7 @@ CargoMesa:
Legislatura:
{% trans 'Legislatura' %}:
- numero data_eleicao data_inicio data_fim
- observacao
Coligacao:
{% trans 'Coligação' %}:

Loading…
Cancel
Save