internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: interlegis/sapl

Issue:
Migração - Parlamentar - Tipo de afastamento
sapl 2.5
![image](https://cloud.githubusercontent.com/assets/13314947/26453596/adff1786-413a-11e7-8727-5fa9a4005a3b.png)


para tipo de afastamento no sapl 2.5
afastamento = 0
fim de mandato = 1


Deveria estar sendo migrado A e não F

![image](https://cloud.githubusercontent.com/assets/13314947/26453523/6e70dbb8-413a-11e7-8677-5883673f7a1c.png)

![image](https://cloud.githubusercontent.com/assets/13314947/26453507/5fa19424-413a-11e7-943c-a28e9996f264.png)




Discussion:

Resolving patch:
diff --git a/sapl/legacy/migration.py b/sapl/legacy/migration.py
--- a/sapl/legacy/migration.py
+++ b/sapl/legacy/migration.py
@@ -26,7 +26,7 @@
                                  Tramitacao)
 from sapl.norma.models import (AssuntoNorma, NormaJuridica,
                                TipoVinculoNormaJuridica, NormaRelacionada)
-from sapl.parlamentares.models import Parlamentar
+from sapl.parlamentares.models import Parlamentar, TipoAfastamento
 from sapl.protocoloadm.models import Protocolo, StatusTramitacaoAdministrativo
 from sapl.sessao.models import ExpedienteMateria, OrdemDia, RegistroVotacao
 from sapl.settings import PROJECT_DIR
@@ -676,6 +676,12 @@ def adjust_registrovotacao_depois_salvar(new, old):
             reversion.set_comment('RegistroVotacao sem ordem ou expediente')
 
 
+def adjust_tipoafastamento(new, old):
+    if old.ind_afastamento == 1:
+        new.indicador = 'A'
+
+
+
 def adjust_tipoproposicao(new, old):
     if old.ind_mat_ou_doc == 'M':
         new.tipo_conteudo_related = TipoMateriaLegislativa.objects.get(
@@ -775,6 +781,7 @@ def adjust_comissao(new, old):
     Participacao: adjust_participacao,
     Protocolo: adjust_protocolo,
     RegistroVotacao: adjust_registrovotacao_antes_salvar,
+    TipoAfastamento: adjust_tipoafastamento,
     TipoProposicao: adjust_tipoproposicao,
     StatusTramitacao: adjust_statustramitacao,
     StatusTramitacaoAdministrativo: adjust_statustramitacaoadm,


Test patch:
Repository: interlegis/sapl

Issue:
Migração - Autores
Os usuários com perfil de autor estão sendo migrados para base.public_autor, porém não estão sendo atribuído a eles o grupo de autores em public.auth_users_groups


Discussion:
talvez seria interessante também atribuir o grupo parlamentares aos usuários que o são

Resolving patch:
diff --git a/sapl/legacy/migration.py b/sapl/legacy/migration.py
--- a/sapl/legacy/migration.py
+++ b/sapl/legacy/migration.py
@@ -8,6 +8,7 @@
 from django.apps import apps
 from django.apps.config import AppConfig
 from django.contrib.auth import get_user_model
+from django.contrib.auth.models import Group
 from django.contrib.contenttypes.models import ContentType
 from django.core.exceptions import ObjectDoesNotExist
 from django.db import OperationalError, ProgrammingError, connections, models
@@ -755,6 +756,13 @@ def adjust_autor(new, old):
             with reversion.create_revision():
                 user.save()
                 reversion.set_comment('Objeto criado pela migração')
+
+            grupo_autor = Group.objects.get(name="Autor")
+            user.groups.add(grupo_autor)
+            if old.cod_parlamentar:
+                grupo_parlamentar = Group.objects.get(name="Parlamentar")
+                user.groups.add(grupo_parlamentar)
+
             new.user = user
         else:
             new.user = get_user_model().objects.filter(


Test patch:
Repository: interlegis/sapl

Issue:
Migração - ordem do dia
para as importadas não existe este resultado de votação
para as feitas pelo sistema a informação é gravada

no 2.5 não existia a informação votacao_aberta, é importada em branco
![image](https://cloud.githubusercontent.com/assets/13314947/26463943/5ad58e9c-415c-11e7-9f26-14c07a8945ff.png)



Discussion:
@DTILegBG Existe alguma votação que possa estar aberta enquanto estiver fazendo a migração?
Uma votação aberta dessa de OrdemDia poderia ficar aberta por muitos meses? 
acho que independente, porque essa informação não existia no 2.5 então deveriam ser importada todas como False e era isso

Resolving patch:
diff --git a/sapl/legacy/migration.py b/sapl/legacy/migration.py
--- a/sapl/legacy/migration.py
+++ b/sapl/legacy/migration.py
@@ -582,10 +582,10 @@ def migrate(obj=appconfs, interativo=True):
 # MIGRATION_ADJUSTMENTS #####################################################
 
 def adjust_ordemdia_antes_salvar(new, old):
-    # Prestar atenção
+    new.votacao_aberta = False
+
     if not old.tip_votacao:
         new.tipo_votacao = 1
-
     if old.num_ordem is None:
         new.numero_ordem = 999999999
 


Test patch:
Repository: interlegis/sapl

Issue:
Migração -  materia_acompanhamentomateria
o campo confirmado é importado com o booleano false, não deveria ser true?


![image](https://cloud.githubusercontent.com/assets/13314947/26465096/5b1a39bc-4160-11e7-8fee-73928d9ab91e.png)



Discussion:
Esse deve ser o valor padrão da migração? Quando ele deve ser falso?
no sapl 2.5 não existia essa coluna, mas penso que no 3.1 ela seja usada para validar o mail de acompanhamento, para os acompanhamentos migrados dos sapl 2.5, teria que ser migrado como True, porque teoricamente deveriam ja ter sido validados. ok?
@edwardoliveira , você que criou esse campo, a utilidade dele é essa mesmo que o @DTILegBG está pensando?
Sim. Pode deixar tudo como True.

Resolving patch:
diff --git a/sapl/legacy/migration.py b/sapl/legacy/migration.py
--- a/sapl/legacy/migration.py
+++ b/sapl/legacy/migration.py
@@ -21,10 +21,10 @@
 from sapl.base.models import Argumento, Autor, Constraint, ProblemaMigracao
 from sapl.comissoes.models import Comissao, Composicao, Participacao
 from sapl.legacy.models import Protocolo as ProtocoloLegado
-from sapl.materia.models import (DocumentoAcessorio, MateriaLegislativa,
-                                 StatusTramitacao, TipoDocumento,
-                                 TipoMateriaLegislativa, TipoProposicao,
-                                 Tramitacao)
+from sapl.materia.models import (AcompanhamentoMateria, DocumentoAcessorio,
+                                 MateriaLegislativa, StatusTramitacao,
+                                 TipoDocumento, TipoMateriaLegislativa,
+                                 TipoProposicao, Tramitacao)
 from sapl.norma.models import (AssuntoNorma, NormaJuridica,
                                TipoVinculoNormaJuridica, NormaRelacionada)
 from sapl.parlamentares.models import Parlamentar, TipoAfastamento
@@ -581,6 +581,10 @@ def migrate(obj=appconfs, interativo=True):
 
 # MIGRATION_ADJUSTMENTS #####################################################
 
+def adjust_acompanhamentomateria(new, old):
+    new.confirmado = True
+
+
 def adjust_ordemdia_antes_salvar(new, old):
     new.votacao_aberta = False
 
@@ -781,6 +785,7 @@ def adjust_comissao(new, old):
 
 AJUSTE_ANTES_SALVAR = {
     Autor: adjust_autor,
+    AcompanhamentoMateria: adjust_acompanhamentomateria,
     Comissao: adjust_comissao,
     NormaJuridica: adjust_normajuridica_antes_salvar,
     NormaRelacionada: adjust_normarelacionada,


Test patch:
Repository: interlegis/sapl

Issue:
Migração - Relacionar protocolo em documento administrativo
A migração não está relacionando o documento administrativo e protocolo. Deve-se procurar o protocolo usando o numero_protocolo e ano presentes do documento administrativo.


Discussion:

Resolving patch:
diff --git a/sapl/legacy/migration.py b/sapl/legacy/migration.py
--- a/sapl/legacy/migration.py
+++ b/sapl/legacy/migration.py
@@ -22,13 +22,15 @@
 from sapl.comissoes.models import Comissao, Composicao, Participacao
 from sapl.legacy.models import Protocolo as ProtocoloLegado
 from sapl.materia.models import (AcompanhamentoMateria, DocumentoAcessorio,
-                                 MateriaLegislativa, StatusTramitacao,
-                                 TipoDocumento, TipoMateriaLegislativa,
-                                 TipoProposicao, Tramitacao)
+                                 MateriaLegislativa, Proposicao,
+                                 StatusTramitacao, TipoDocumento,
+                                 TipoMateriaLegislativa, TipoProposicao,
+                                 Tramitacao)
 from sapl.norma.models import (AssuntoNorma, NormaJuridica,
                                TipoVinculoNormaJuridica, NormaRelacionada)
 from sapl.parlamentares.models import Parlamentar, TipoAfastamento
-from sapl.protocoloadm.models import Protocolo, StatusTramitacaoAdministrativo
+from sapl.protocoloadm.models import (DocumentoAdministrativo,Protocolo,
+                                      StatusTramitacaoAdministrativo)
 from sapl.sessao.models import ExpedienteMateria, OrdemDia, RegistroVotacao
 from sapl.settings import PROJECT_DIR
 from sapl.utils import delete_texto, normalize, save_texto
@@ -585,6 +587,13 @@ def adjust_acompanhamentomateria(new, old):
     new.confirmado = True
 
 
+def adjust_documentoadministrativo(new, old):
+    if new.numero_protocolo:
+        protocolo = Protocolo.objects.get(numero=new.numero_protocolo,
+                                          ano=new.ano)
+        new.protocolo = protocolo
+
+
 def adjust_ordemdia_antes_salvar(new, old):
     new.votacao_aberta = False
 
@@ -637,6 +646,11 @@ def adjust_participacao(new, old):
     new.composicao = composicao
 
 
+def adjust_proposicao(new, old):
+    if new.data_envio:
+        new.ano = new.data_envio.year
+
+
 def adjust_normarelacionada(new, old):
     tipo = TipoVinculoNormaJuridica.objects.filter(sigla=old.tip_vinculo)
     assert len(tipo) == 1
@@ -787,11 +801,13 @@ def adjust_comissao(new, old):
     Autor: adjust_autor,
     AcompanhamentoMateria: adjust_acompanhamentomateria,
     Comissao: adjust_comissao,
+    DocumentoAdministrativo: adjust_documentoadministrativo,
     NormaJuridica: adjust_normajuridica_antes_salvar,
     NormaRelacionada: adjust_normarelacionada,
     OrdemDia: adjust_ordemdia_antes_salvar,
     Parlamentar: adjust_parlamentar,
     Participacao: adjust_participacao,
+    Proposicao: adjust_proposicao,
     Protocolo: adjust_protocolo,
     RegistroVotacao: adjust_registrovotacao_antes_salvar,
     TipoAfastamento: adjust_tipoafastamento,


Test patch:
Repository: interlegis/sapl

Issue:
Integração do SAPL 3.1 e Portal Modelo



Discussion:

Resolving patch:
diff --git a/sapl/base/templatetags/common_tags.py b/sapl/base/templatetags/common_tags.py
--- a/sapl/base/templatetags/common_tags.py
+++ b/sapl/base/templatetags/common_tags.py
@@ -117,6 +117,23 @@ def str2intabs(value):
     except:
         return ''
 
+@register.filter
+def has_iframe(request):
+
+    iframe = request.session.get('iframe', False)
+    if not iframe and 'iframe' in request.GET:
+        ival = request.GET['iframe']
+        if ival and int(ival) == 1:
+            request.session['iframe'] = True
+            return True
+    elif 'iframe' in request.GET:
+        ival = request.GET['iframe']
+        if ival and int(ival) == 0:
+            del request.session['iframe']
+            return False
+
+    return iframe
+
 
 @register.filter
 def url(value):


Test patch:
Repository: interlegis/sapl

Issue:
Edição da relatoria: composição da comissão com todos os parlamentares
A issue #662 resolveu a lista de membros da comissão entre os quais é escolhido o relator, quando da inclusão da relatoria. Ao editar a relatoria, porém, voltam a aparecer todos os parlamentares cadastrados. Também nessa situação deveriam ser listados apenas os membros atuais da Comissão.
![captura de tela de 2017-05-12 16 13 11](https://cloud.githubusercontent.com/assets/19169882/26013533/495bf7f0-372f-11e7-86d4-45a1a55fd955.png)



Discussion:

Resolving patch:
diff --git a/sapl/materia/views.py b/sapl/materia/views.py
--- a/sapl/materia/views.py
+++ b/sapl/materia/views.py
@@ -883,6 +883,28 @@ def get_initial(self):
     class UpdateView(MasterDetailCrud.UpdateView):
         form_class = RelatoriaForm
 
+        def get_context_data(self, **kwargs):
+            context = super().get_context_data(**kwargs)
+
+            try:
+                comissao = Comissao.objects.get(
+                    pk=context['form'].initial['comissao'])
+            except ObjectDoesNotExist:
+                pass
+            else:
+                composicao = comissao.composicao_set.last()
+                participacao = Participacao.objects.filter(
+                    composicao=composicao)
+
+                parlamentares = []
+                for p in participacao:
+                    if p.titular:
+                        parlamentares.append(
+                            [p.parlamentar.id, p.parlamentar.nome_parlamentar])
+                context['form'].fields['parlamentar'].choices = parlamentares
+
+            return context
+
 
 class TramitacaoCrud(MasterDetailCrud):
     model = Tramitacao


Test patch:
Repository: interlegis/sapl

Issue:
Remover o on_delete=models.PROTECT no model de AcompanharMateria
Esse atributo deve ser removido pelo fato de, ao apagar uma matéria, os registros de acompanhamentos devem ser removidos também e estes não devem impedir que uma matéria seja apagada.


Discussion:

Resolving patch:
diff --git a/sapl/materia/migrations/0008_auto_20170622_1527.py b/sapl/materia/migrations/0008_auto_20170622_1527.py
new file mode 100644
--- /dev/null
+++ b/sapl/materia/migrations/0008_auto_20170622_1527.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.11 on 2017-06-22 15:27
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('materia', '0007_auto_20170620_1252'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='acompanhamentomateria',
+            name='materia',
+            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='materia.MateriaLegislativa'),
+        ),
+    ]
diff --git a/sapl/materia/models.py b/sapl/materia/models.py
--- a/sapl/materia/models.py
+++ b/sapl/materia/models.py
@@ -303,7 +303,7 @@ def __str__(self):
 @reversion.register()
 class AcompanhamentoMateria(models.Model):
     usuario = models.CharField(max_length=50)
-    materia = models.ForeignKey(MateriaLegislativa, on_delete=models.PROTECT)
+    materia = models.ForeignKey(MateriaLegislativa)
     email = models.EmailField(
         max_length=100, verbose_name=_('E-mail'))
     data_cadastro = models.DateField(auto_now_add=True)


Test patch:
Repository: interlegis/sapl

Issue:
Parlamentar - Submenus desaparecem
ao clicar no submenus de parlamentar, especificamente nos menus mandato e matéria, todos menus são desaparecem
![image](https://user-images.githubusercontent.com/13314947/27634095-5ff2eb7c-5bd8-11e7-882d-ae5fadd927cc.png)

Exemplo clicando em menu mandato
![image](https://user-images.githubusercontent.com/13314947/27634121-71d70cba-5bd8-11e7-8ff3-ff6e45cc77d6.png)



Discussion:
tem um defeito de layout que joga o rodapé para a direita, alinha com a tabela de autoria e co-autoria.
faltou fechar a tabela em co-autoria

Resolving patch:
diff --git a/sapl/parlamentares/views.py b/sapl/parlamentares/views.py
--- a/sapl/parlamentares/views.py
+++ b/sapl/parlamentares/views.py
@@ -225,8 +225,9 @@ class ListView(MasterDetailCrud.ListView):
         ordering = ('-legislatura__numero')
 
         def get_context_data(self, **kwargs):
-            context = super(MasterDetailCrud.ListView, self).get_context_data(kwargs=kwargs)
+            context = super().get_context_data(**kwargs)
             rows = context['rows']
+
             coluna_coligacao = 2
             coluna_votos_recebidos = 3
             for row in rows:
@@ -512,9 +513,11 @@ def get(self, request, *args, **kwargs):
         autor_list = self.get_autoria(autoria)
         coautor_list = self.get_autoria(coautoria)
 
+        parlamentar_pk = autor.autor_related.pk
         nome_parlamentar = autor.autor_related.nome_parlamentar
 
         return self.render_to_response({'autor_pk': autor.pk,
+                                        'root_pk': parlamentar_pk,
                                         'autoria': autor_list,
                                         'coautoria': coautor_list,
                                         'nome_parlamentar': nome_parlamentar


Test patch:
Repository: interlegis/sapl

Issue:
Aumenta o tamanho máximo de arquivos de upload para 10MB
Atualmente o tamanho máximo de arquivos de upload é de 5MB. Ao menos uma casa reclamou que este tamanho é insuficiente então vamos dobrar e ver se mais alguém ainda reclama do tamanho de 10MB.


Discussion:

Resolving patch:
diff --git a/sapl/settings.py b/sapl/settings.py
--- a/sapl/settings.py
+++ b/sapl/settings.py
@@ -192,7 +192,7 @@
 DEFAULT_FROM_EMAIL = config('DEFAULT_FROM_EMAIL', cast=str, default='')
 SERVER_EMAIL = config('SERVER_EMAIL', cast=str, default='')
 
-MAX_DOC_UPLOAD_SIZE = 5 * 1024 * 1024  # 5MB
+MAX_DOC_UPLOAD_SIZE = 10 * 1024 * 1024  # 10MB
 MAX_IMAGE_UPLOAD_SIZE = 2 * 1024 * 1024  # 2MB
 
 # Internationalization


Test patch:
Repository: interlegis/sapl

Issue:
Todos os autores disponíveis para seleção
Estão sendo mostrados para seleção em protocolo e matérias, todos os autores, inclusive os inativos no sistema


Discussion:
Mas se for uma matéria ou protocolo antigo? De uma época na qual o autor, que se encontra inativo no momento, estava ativo?
Devem ser listados apenas os parlamentares ativos. Para registrar uma matéria antiga, deve-se ativar seu autor.

Resolving patch:
diff --git a/sapl/api/views.py b/sapl/api/views.py
--- a/sapl/api/views.py
+++ b/sapl/api/views.py
@@ -96,19 +96,19 @@ class AutorListView(ListAPIView):
 
                   http://localhost:8000
                       /api/autor?tr=1
-                          &q_0=parlamentar_set__nome_completo__icontains,
+                          &q_0=parlamentar_set__nome_parlamentar__icontains,
                                parlamentar_set__ativo
                           &q_1=Carvalho,False
                       /api/autor?tr=1
-                          &q_0=parlamentar_set__nome_completo__icontains,
+                          &q_0=parlamentar_set__nome_parlamentar__icontains,
                                parlamentar_set__ativo
                           &q_1=Carvalho,True
                       /api/autor?tr=3
-                          &q_0=parlamentar_set__nome_completo__icontains,
+                          &q_0=parlamentar_set__nome_parlamentar__icontains,
                                parlamentar_set__ativo
                           &q_1=Carvalho,False
                       /api/autor?tr=3
-                          &q_0=parlamentar_set__nome_completo__icontains,
+                          &q_0=parlamentar_set__nome_parlamentar__icontains,
                                parlamentar_set__ativo
                           &q_1=Carvalho,True
 


Test patch:
Repository: interlegis/sapl

Issue:
Migração: data_fim_mandato nulo
Este campo, por ser obrigatório, deve ter seu um valor padrão. Para este campo em específico, caso a data seja nula ou inválida, o valor deve coincidir com o do fim da legislatura. 


Discussion:

Resolving patch:
diff --git a/sapl/legacy/migration.py b/sapl/legacy/migration.py
--- a/sapl/legacy/migration.py
+++ b/sapl/legacy/migration.py
@@ -28,7 +28,8 @@
                                  Tramitacao)
 from sapl.norma.models import (AssuntoNorma, NormaJuridica,
                                TipoVinculoNormaJuridica, NormaRelacionada)
-from sapl.parlamentares.models import Parlamentar, TipoAfastamento
+from sapl.parlamentares.models import (Legislatura,Mandato, Parlamentar,
+                                       TipoAfastamento)
 from sapl.protocoloadm.models import (DocumentoAdministrativo,Protocolo,
                                       StatusTramitacaoAdministrativo)
 from sapl.sessao.models import ExpedienteMateria, OrdemDia, RegistroVotacao
@@ -594,6 +595,13 @@ def adjust_documentoadministrativo(new, old):
         new.protocolo = protocolo
 
 
+def adjust_mandato(new, old):
+    if not new.data_fim_mandato:
+        legislatura = Legislatura.objects.latest('data_fim')
+        new.data_fim_mandato = legislatura.data_fim
+        new.data_expedicao_diploma = legislatura.data_inicio
+
+
 def adjust_ordemdia_antes_salvar(new, old):
     new.votacao_aberta = False
 
@@ -803,6 +811,7 @@ def adjust_comissao(new, old):
     AcompanhamentoMateria: adjust_acompanhamentomateria,
     Comissao: adjust_comissao,
     DocumentoAdministrativo: adjust_documentoadministrativo,
+    Mandato: adjust_mandato,
     NormaJuridica: adjust_normajuridica_antes_salvar,
     NormaRelacionada: adjust_normarelacionada,
     OrdemDia: adjust_ordemdia_antes_salvar,
diff --git a/sapl/legacy/scripts/street_sweeper.py b/sapl/legacy/scripts/street_sweeper.py
--- a/sapl/legacy/scripts/street_sweeper.py
+++ b/sapl/legacy/scripts/street_sweeper.py
@@ -7,7 +7,7 @@
 HOST = 'localhost'
 USER = 'root'
 PASSWORD = ''
-DB = 'sapl'
+DB = ''
 
 
 SELECT_EXCLUIDOS = "SELECT %s FROM %s WHERE ind_excluido = 1 ORDER BY %s"
@@ -21,6 +21,7 @@
 
 mapa = {} # mapa com tabela principal -> tabelas dependentes
 
+mapa['tipo_autor'] = ['autor']
 mapa['materia_legislativa'] = ['acomp_materia', 'autoria', 'despacho_inicial',
                                'documento_acessorio', 'expediente_materia',
                                'legislacao_citada', 'materia_assunto',
@@ -117,6 +118,8 @@ def shotgun_remove(cursor):
                                  password=PASSWORD,
                                  db=DB)
     cursor = connection.cursor()
+    # TIPO AUTOR
+    remove_tabelas(cursor, 'tipo_autor', 'tip_autor')
     # MATERIA LEGISLATIVA
     remove_tabelas(cursor, 'materia_legislativa', 'cod_materia')
     # NORMA JURIDICA


Test patch:
Repository: interlegis/sapl

Issue:
Matérias do Expediente: oferecer número de ordem ao adicionar
Em Sessão Plenária, ao adicionar uma Matéria do Expediente, o campo Nº de Ordem aparece em branco, disponível para optar. Deveria oferecer o número de ordem seguinte, começando por 1.
![captura de tela de 2017-07-04 14 46 01](https://user-images.githubusercontent.com/19169882/27839538-65086354-60c8-11e7-9a2c-d4424b16b533.png)



Discussion:

Resolving patch:
diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py
--- a/sapl/sessao/views.py
+++ b/sapl/sessao/views.py
@@ -6,7 +6,7 @@
 from django.contrib.auth.mixins import PermissionRequiredMixin
 from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist
 from django.core.urlresolvers import reverse
-from django.db.models import Q
+from django.db.models import Max, Q
 from django.forms.utils import ErrorList
 from django.http import JsonResponse
 from django.http.response import Http404, HttpResponseRedirect
@@ -409,6 +409,9 @@ class CreateView(MasterDetailCrud.CreateView):
         def get_initial(self):
             self.initial['data_ordem'] = SessaoPlenaria.objects.get(
                 pk=self.kwargs['pk']).data_inicio.strftime('%d/%m/%Y')
+            max_numero_ordem = ExpedienteMateria.objects.filter(
+              sessao_plenaria=self.kwargs['pk']).aggregate(Max('numero_ordem'))['numero_ordem__max']
+            self.initial['numero_ordem'] = (max_numero_ordem if max_numero_ordem else 0) + 1
             return self.initial
 
         def get_success_url(self):


Test patch: