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

2
sapl/templates/sessao/expedientemateria_form.html

@ -67,7 +67,7 @@
if (status == 'success') { if (status == 'success') {
$('#id_tramitacao_select').off('change') $('#id_tramitacao_select').off('change')
$('#id_tramitacao_select').find('option').remove() $('#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) { for (const property in data) {
console.log(tramitacao_salvo + "===" + property) console.log(tramitacao_salvo + "===" + property)
const option = $(`<option value="${property}">${data[property].data_tramitacao} - ${data[property].status}</option>`) const option = $(`<option value="${property}">${data[property].data_tramitacao} - ${data[property].status}</option>`)

Loading…
Cancel
Save