diff --git a/out.ogv b/out.ogv new file mode 100644 index 000000000..3182fc933 Binary files /dev/null and b/out.ogv differ diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py index fced15b7a..06dd40830 100644 --- a/sapl/sessao/forms.py +++ b/sapl/sessao/forms.py @@ -465,7 +465,6 @@ class OradorExpedienteForm(ModelForm): def __init__(self, *args, **kwargs): super(OradorExpedienteForm, self).__init__(*args, **kwargs) - legislatura_vigente = SessaoPlenaria.objects.get(pk=kwargs['initial']['id_sessao']).legislatura if legislatura_vigente: @@ -482,11 +481,13 @@ class OradorExpedienteForm(ModelForm): return self.cleaned_data sessao_id = self.initial['id_sessao'] + numero = self.initial.get('numero') # Retorna None se inexistente ordem = OradorExpediente.objects.filter( sessao_plenaria_id=sessao_id, numero_ordem=cleaned_data['numero_ordem'] ).exists() - if ordem: + + if ordem and (cleaned_data['numero_ordem'] != numero): raise ValidationError(_( 'Já existe orador nesta posição da ordem de pronunciamento')) diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index 8ac4357ac..8b695f10d 100644 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -382,7 +382,7 @@ def customize_link_materia(context, pk, has_permission, is_expediente): context['rows'][i][3] = (resultado, None) return context - + def get_presencas_generic(model, sessao, legislatura): presencas = model.objects.filter( sessao_plenaria=sessao) @@ -544,6 +544,14 @@ class OradorExpedienteCrud(OradorCrud): kwargs={'pk': self.kwargs['pk']}) + class UpdateView(MasterDetailCrud.UpdateView): + form_class = OradorExpedienteForm + + def get_initial(self): + return {'id_sessao': self.object.sessao_plenaria.id, + 'numero': self.object.numero_ordem} + + class OradorCrud(OradorCrud): model = Orador