Browse Source

fix: ajuste expediente materia e ordemdia para salvar tramitacao nula

pull/3596/head
joao 2 years ago
parent
commit
0b4b1518dc
  1. 30
      sapl/sessao/forms.py
  2. 24
      sapl/sessao/migrations/0068_auto_20220816_1117.py
  3. 2
      sapl/sessao/models.py
  4. 2
      sapl/templates/sessao/expedientemateria_form.html

30
sapl/sessao/forms.py

@ -322,7 +322,7 @@ class ExpedienteMateriaForm(ModelForm):
widget=forms.Select(attrs={'autocomplete': 'off'}))
tramitacao_select = DependentChoiceField(
label=_('Situação Atual'),
label=_('Situação de Pauta'),
widget=forms.Select())
numero_materia = forms.CharField(
@ -368,8 +368,6 @@ class ExpedienteMateriaForm(ModelForm):
if not self.is_valid():
return cleaned_data
sessao = self.instance.sessao_plenaria
try:
materia = MateriaLegislativa.objects.get(
numero=self.cleaned_data['numero_materia'],
@ -383,28 +381,26 @@ class ExpedienteMateriaForm(ModelForm):
cleaned_data['materia'] = materia
try:
id_t = self.cleaned_data['tramitacao_select'] if self.cleaned_data['tramitacao_select'] != '' else -1
tramitacao = materia.tramitacao_set.get(
pk=self.cleaned_data['tramitacao_select'] if self.cleaned_data['tramitacao_select'] != '' else -1)
if materia.tramitacao_set.exists() and self.cleaned_data['tramitacao_select']:
tramitacao = materia.tramitacao_set.get(
pk=self.cleaned_data['tramitacao_select'])
cleaned_data['tramitacao'] = tramitacao
except ObjectDoesNotExist:
if self.cleaned_data['tramitacao_select'] != '':
raise ValidationError(
_('Tramitação selecionada não existe para a Matéria: %(value)s'),
code='invalid',
params={'value': self.cleaned_data['tramitacao_select']},
)
else:
cleaned_data['tramitacao'] = False
else:
cleaned_data['tramitacao'] = tramitacao
raise ValidationError(
_('Tramitação selecionada não existe para a Matéria: %(value)s'),
code='invalid',
params={'value': self.cleaned_data['tramitacao_select']},
)
return cleaned_data
def save(self, commit=False):
expediente = super(ExpedienteMateriaForm, self).save(commit)
expediente.materia = self.cleaned_data['materia']
if self.cleaned_data['tramitacao'] is not False:
if 'tramitacao' in self.cleaned_data and self.cleaned_data['tramitacao']:
expediente.tramitacao = self.cleaned_data['tramitacao']
else:
expediente.tramitacao = None
expediente.save()
return expediente

24
sapl/sessao/migrations/0068_auto_20220816_1117.py

@ -0,0 +1,24 @@
# Generated by Django 2.2.28 on 2022-08-16 14:17
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('sessao', '0067_auto_20220813_2233'),
]
operations = [
migrations.AlterField(
model_name='expedientemateria',
name='tramitacao',
field=models.ForeignKey(blank=True, default='', null=True, on_delete=django.db.models.deletion.PROTECT, to='materia.Tramitacao', verbose_name='Situação de Pauta'),
),
migrations.AlterField(
model_name='ordemdia',
name='tramitacao',
field=models.ForeignKey(blank=True, default='', null=True, on_delete=django.db.models.deletion.PROTECT, to='materia.Tramitacao', verbose_name='Situação de Pauta'),
),
]

2
sapl/sessao/models.py

@ -375,7 +375,7 @@ class AbstractOrdemDia(models.Model):
verbose_name=_('Matéria'))
tramitacao = models.ForeignKey(Tramitacao,
on_delete=models.PROTECT,
verbose_name=_('Situação Atual'),
verbose_name=_('Situação de Pauta'),
blank=True,
default='',
null=True)

2
sapl/templates/sessao/expedientemateria_form.html

@ -67,7 +67,7 @@
if (status == 'success') {
$('#id_tramitacao_select').off('change')
$('#id_tramitacao_select').find('option').remove()
$('#id_tramitacao_select').append('<option value="-1">Selecione uma opção..</option>');
$('#id_tramitacao_select').append('<option value="">Selecione uma opção..</option>');
for (const property in data) {
console.log(tramitacao_salvo + "===" + property)
const option = $(`<option value="${property}">${data[property].data_tramitacao} - ${data[property].status}</option>`)

Loading…
Cancel
Save