Browse Source

Adição de matéria por meio de dados chave

pull/1743/head
João Pedro Sconetto 8 years ago
parent
commit
139ce9bc47
  1. 35
      sapl/audiencia/forms.py
  2. 5
      sapl/templates/audiencia/layouts.yaml

35
sapl/audiencia/forms.py

@ -3,17 +3,31 @@ from django.core.exceptions import ValidationError
from django.db import transaction
from django.utils.translation import ugettext_lazy as _
from sapl.audiencia.models import AudienciaPublica, TipoAudienciaPublica
from sapl.materia.models import MateriaLegislativa
from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa
from sapl.utils import timezone
class AudienciaForm(forms.ModelForm):
materia = forms.ModelChoiceField(required=False,
queryset=MateriaLegislativa.objects.all().select_related(
"tipo").order_by('tipo', '-ano', 'numero'))
data_atual = timezone.now()
tipo = forms.ModelChoiceField(required=True,
label='Tipo de Audiência Pública',
queryset=TipoAudienciaPublica.objects.all().order_by('nome'))
tipo_materia = forms.ModelChoiceField(
label=_('Tipo Matéria'),
required=True,
queryset=TipoMateriaLegislativa.objects.all(),
empty_label='Selecione',
)
numero_materia = forms.CharField(
label='Número Matéria', required=True)
ano_materia = forms.CharField(
label='Ano Matéria',
initial=int(data_atual.year),
required=True)
class Meta:
model = AudienciaPublica
@ -37,6 +51,19 @@ class AudienciaForm(forms.ModelForm):
def clean(self):
super(AudienciaForm, self).clean()
try:
materia = MateriaLegislativa.objects.get(
numero=self.cleaned_data['numero_materia'],
ano=self.cleaned_data['ano_materia'],
tipo=self.cleaned_data['tipo_materia'])
except ObjectDoesNotExist:
msg = _('A matéria a ser inclusa não existe no cadastro'
' de matérias legislativas.')
raise ValidationError(msg)
else:
cleaned_data['materia'] = materia
if self.cleaned_data['hora_inicio'] and self.cleaned_data['hora_fim']:
if (self.cleaned_data['hora_fim'] <
self.cleaned_data['hora_inicio']):

5
sapl/templates/audiencia/layouts.yaml

@ -3,8 +3,9 @@ AudienciaPublica:
{% trans 'Audiência Pública' %}:
- nome:10 numero
- tema
- materia tipo
- data hora_inicio hora_fim
{% trans 'Dados' %}:
- tipo_materia numero_materia ano_materia
- tipo:4 data:2 hora_inicio:3 hora_fim:3
- url_audio url_video
- upload_pauta upload_ata upload_anexo
- observacao

Loading…
Cancel
Save