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

Issue:
Finalizar a tramitação de matérias quando status muda para tipo 'F'
Ao se cadastrar uma tramitação com indicador de status de tramitação do tipo 'F' (final) então a matéria é finalizada (em_tramitacao mudado para False). Isso ocorre se o status de tramitação já tem seu indicador como 'F'. Algumas casas reclamaram que a matéria está aparecendo no relatório de Matérias em Tramitação quando o status dele é final. Isso provavelmente ocorre porque o indicador foi mudado __depois__ da tramitação ter sido criada para a matéria.

## Comportamento Esperado
A matéria não deve aparecer no relatório se o indicador de status de tramitação for 'F' e/ou a em_tramitacao da matéria for False.

## Comportamento Atual
A matéria aparece se status de tramitação for 'F', mas a matéria tiver em_tramitacao = True.

## Possível Solução

1. Ao modificar um status de tramitação 'R' para 'F' alterar todas as matérias cujo último status de tramitação seja aquele, setando o em_tramitacao para 'False'.

OU
1. Restringir o relatório de matérias em tramitação _também_ às matérias por status de tramitação igual a 'F'. 

(nada impede de fazermos os dois)

## Passos para Reproduzir (para bugs)
1. Mude o indicador de um status de tramitação para 'R'
2. Mude o campo em_tramitacao de uma matéria para 'Sim';
3. Adicione uma tramitação com o status de 1.
4. Verifique se a matéria ainda aparece no relatório de matérias em tramitação.

## Contexto
Os usuários tem reclamado que o relatório mostra matérias que não estão mais em tramitação.

## Imagens do Ocorrido
Não se aplica.

## Seu Ambiente
<!--- Inclua detalhes relevantes sobre o ambiente em que você presenciou/experienciou o bug. -->
* Versão usada (_Release_): 3.1.147
* Nome e versão do navegador: Chrome
* Nome e versão do Sistema Operacional (desktop ou mobile): Linux
* Link para o seu projeto (Caso de fork deste projeto):



Discussion:
@VictorFabreF 

Resolving patch:
diff --git a/sapl/base/views.py b/sapl/base/views.py
--- a/sapl/base/views.py
+++ b/sapl/base/views.py
@@ -611,12 +611,13 @@ def get_context_data(self, **kwargs):
             qs = filtra_url_materias_em_tramitacao(
                 qr, qs, 'tramitacao__status', 'status')
 
-        context['object_list'] = qs
+        li = [li1 for li1 in qs if li1.tramitacao_set.last() and li1.tramitacao_set.last().status.indicador != 'F']
+        context['object_list'] = li
 
         qtdes = {}
         for tipo in TipoMateriaLegislativa.objects.all():
-            qs = context['object_list']
-            qtde = len(qs.filter(tipo_id=tipo.id))
+            li = context['object_list']
+            qtde = sum(1 for i in li if i.tipo_id==tipo.id)
             if qtde > 0:
                 qtdes[tipo] = qtde
         context['qtdes'] = qtdes


Test patch:
Repository: interlegis/sapl

Issue:
Total de registros encontrados em relatório está por página e não por total
Em Comissões, Matérias em Tramitação, a contagem está relacionada ao número de matérias por página e não pelo total na unidade.

Ex:

https://sapl.divinopolis.mg.leg.br/comissao/101/materias-em-tramitacao

## Comportamento Esperado
A tela deve trazer a quantidade total de registros recuperados, não o total por página.

## Comportamento Atual
A página traz a quantidade de registros por página.

## Passos para Reproduzir (para bugs)
1. Acesse o link https://sapl.divinopolis.mg.leg.br/comissao/101/materias-em-tramitacao

## Seu Ambiente
<!--- Inclua detalhes relevantes sobre o ambiente em que você presenciou/experienciou o bug. -->
* Versão usada (_Release_): 3.1.147
* Nome e versão do navegador: Chrome
* Nome e versão do Sistema Operacional (desktop ou mobile): Linux
* Link para o seu projeto (Caso de fork deste projeto):



Discussion:

Resolving patch:
diff --git a/sapl/comissoes/views.py b/sapl/comissoes/views.py
--- a/sapl/comissoes/views.py
+++ b/sapl/comissoes/views.py
@@ -186,6 +186,7 @@ def get_context_data(self, **kwargs):
         context = super(
             MateriasTramitacaoListView, self).get_context_data(**kwargs)
         context['object'] = Comissao.objects.get(id=self.kwargs['pk'])
+        context['qtde'] = self.object_list.count()
         return context
 
 


Test patch:
Repository: interlegis/sapl

Issue:
Label de Relatoria errada
A label de Relatoria está aparecendo com um `None` e com a data em formato mm-dd-yyyy (isso foi percebido na AL-AM).

## Comportamento Esperado
Não aparecer nada se for None e data formatada no padrão dd-mm-yyyy.

## Comportamento Atual
A label de Relatoria está aparecendo com um `None` e com a data em formato mm-dd-yyyy.

## Possível Solução
O problema se encontra provavelmente no método str() do model Relatoria.

## Imagens do Ocorrido
<!--- Representação visual em vídeo ou imagem do ocorrido -->
<!--- Se está descrevendo um bug poste imagens ou vídeos na repordução do bug citado, caso se aplique -->
![image](https://user-images.githubusercontent.com/9326037/54777232-a1c83e80-4bf0-11e9-8eb4-1141c2b32961.png)

## Seu Ambiente
<!--- Inclua detalhes relevantes sobre o ambiente em que você presenciou/experienciou o bug. -->
* Versão usada (_Release_): 3.1.148
* Nome e versão do navegador: Chrome
* Nome e versão do Sistema Operacional (desktop ou mobile): Linux
* Link para o seu projeto (Caso de fork deste projeto):



Discussion:

Resolving patch:
diff --git a/sapl/materia/models.py b/sapl/materia/models.py
--- a/sapl/materia/models.py
+++ b/sapl/materia/models.py
@@ -666,10 +666,15 @@ class Meta:
         verbose_name_plural = _('Relatorias')
 
     def __str__(self):
-        return _('%(materia)s - %(tipo)s - %(data)s') % {
+        if self.tipo_fim_relatoria:
+            return _('%(materia)s - %(tipo)s - %(data)s') % {
+                'materia': self.materia,
+                'tipo': self.tipo_fim_relatoria,
+                'data': self.data_designacao_relator.strftime("%d/%m/%Y")}  
+        else:
+            return _('%(materia)s - %(data)s') % {
             'materia': self.materia,
-            'tipo': self.tipo_fim_relatoria,
-            'data': self.data_designacao_relator}
+            'data': self.data_designacao_relator.strftime("%d/%m/%Y")}
 
 
 @reversion.register()


Test patch:
Repository: interlegis/sapl

Issue:
Filtrar lista Matérias para Anexar em Lote
## Comportamento Esperado
Com exceção da matéria principal e suas matérias anexadas, listar todas as matérias que são resultado da pesquisa.

## Comportamento Atual
A matéria principal e/ou suas matérias anexadas, sendo resultado da pesquisa, são listadas.








Discussion:

Resolving patch:
diff --git a/sapl/materia/forms.py b/sapl/materia/forms.py
--- a/sapl/materia/forms.py
+++ b/sapl/materia/forms.py
@@ -1151,8 +1151,6 @@ def __init__(self, *args, **kwargs):
 
         self.filters['tipo'].label = 'Tipo de Matéria'
         self.filters['data_apresentacao'].label = 'Data (Inicial - Final)'
-        self.form.fields['tipo'].required = True
-        self.form.fields['data_apresentacao'].required = True
 
         row1 = to_row([('tipo', 12)])
         row2 = to_row([('data_apresentacao', 12)])
@@ -1160,7 +1158,7 @@ def __init__(self, *args, **kwargs):
         self.form.helper = SaplFormHelper()
         self.form.helper.form_method = 'GET'
         self.form.helper.layout = Layout(
-            Fieldset(_('Matéria Anexada em Lote'),
+            Fieldset(_('Pesquisa de Matérias'),
                      row1, row2, form_actions(label='Pesquisar')))
 
 
diff --git a/sapl/materia/views.py b/sapl/materia/views.py
--- a/sapl/materia/views.py
+++ b/sapl/materia/views.py
@@ -2065,13 +2065,30 @@ def get_context_data(self, **kwargs):
         context['subnav_template_name'] = 'materia/subnav.yaml'
 
         context['title'] = _('Matérias Anexadas em Lote')
+
         # Verifica se os campos foram preenchidos
-        if not self.filterset.form.is_valid():
+        if not self.request.GET.get('tipo', " "):
+            msg =_('Por favor, selecione um tipo de matéria.')
+            messages.add_message(self.request, messages.ERROR, msg)
+
+            if not self.request.GET.get('data_apresentacao_0', " ") or not self.request.GET.get('data_apresentacao_1', " "):
+                msg =_('Por favor, preencha as datas.')
+                messages.add_message(self.request, messages.ERROR, msg)
+
+            return context
+
+        if not self.request.GET.get('data_apresentacao_0', " ") or not self.request.GET.get('data_apresentacao_1', " "):
+            msg =_('Por favor, preencha as datas.')
+            messages.add_message(self.request, messages.ERROR, msg)
             return context
 
         qr = self.request.GET.copy()
         context['object_list'] = context['object_list'].order_by(
             'ano', 'numero')
+        principal = MateriaLegislativa.objects.get(pk=self.kwargs['pk'])
+        not_list = [self.kwargs['pk']] + \
+                    [m for m in principal.materia_principal_set.all().values_list('materia_anexada_id', flat=True)]
+        context['object_list'] = context['object_list'].exclude(pk__in=not_list)
         context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''
 
         context['show_results'] = show_results_filter_set(qr)


Test patch:
Repository: interlegis/sapl

Issue:
Cadastro de orador em posição ocupada - Oradores das Explicações Pessoais
<!--- Forneça um resumo geral da _issue_ no título acima -->

## Comportamento Esperado
<!--- Se você está descrevendo um _bug_, conte-nos o que deveria acontecer. -->
<!--- Se você está sugerindo uma mudança/melhoria, conte-nos como deve funcionar. -->
Apresentar uma mensagem de erro quando o usuário tentar cadastrar um orador em uma posição ocupada.

## Comportamento Atual
<!--- Se está descrevendo um bug, conte-nos o que acontece em vez do comportamento esperado. -->
<!--- Se está sugerindo uma mudança/melhoria, explique a diferença com o comportamento atual. -->
Não é apresentada a mensagem de erro e é permitido o cadastro.







Discussion:

Resolving patch:
diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py
--- a/sapl/sessao/forms.py
+++ b/sapl/sessao/forms.py
@@ -692,7 +692,29 @@ def __init__(self, *args, **kwargs):
 
         self.fields['parlamentar'].queryset = Parlamentar.objects.filter(
             id__in=ids).order_by('nome_parlamentar')
+    
+    def clean(self):
+        super(OradorForm, self).clean()
+        cleaned_data = self.cleaned_data
+
+        if not self.is_valid():
+            return self.cleaned_data
 
+        sessao_id = self.initial['id_sessao']
+        numero = self.initial.get('numero')
+        numero_ordem = cleaned_data['numero_ordem']
+        ordem = Orador.objects.filter(
+            sessao_plenaria_id=sessao_id,
+            numero_ordem=numero_ordem
+        ).exists()
+
+        if ordem and numero_ordem != numero: 
+            raise ValidationError(_(
+                "Já existe orador nesta posição de ordem de pronunciamento"
+            ))
+        
+        return self.cleaned_data
+    
     class Meta:
         model = Orador
         exclude = ['sessao_plenaria']
diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py
--- a/sapl/sessao/views.py
+++ b/sapl/sessao/views.py
@@ -620,6 +620,7 @@ class UpdateView(MasterDetailCrud.UpdateView):
         def get_initial(self):
             initial = super(UpdateView, self).get_initial()
             initial.update({'id_sessao': self.object.sessao_plenaria.id})
+            initial.update({'numero':self.object.numero_ordem})
 
             return initial
 


Test patch:
Repository: interlegis/sapl

Issue:
Anexação de matérias não checa números inválidos
<!--- Forneça um resumo geral da _issue_ no título acima -->

## Comportamento Esperado
A tela de adicionar matéria não permite que um usuário informe um número com separador de milhar (ex: 3.111), mas a tela de Anexada não tem esse tipo de controle e acaba por gerar um erro 500. 

## Comportamento Atual
Se ao anexar matéria o usuário informa um número com ponto gera um erro 500.

## Possível Solução
Usar o mesmo procedimento de adicionar matéria (no Form)

## Passos para Reproduzir (para bugs)
<!--- Forneça um link para um exemplo, ou um conjunto de passos inequívocos -->
<!--- para reproduzir esse bug. Inclua código para reproduzir, se relevante. -->
1.
2.
3.
4.

## Contexto
<!--- Como esse problema o afeta? O que você está tentando realizar? -->
<!--- Fornecer o contexto nos ajuda a encontrar uma solução que seja mais útil no mundo real -->

## Imagens do Ocorrido
<!--- Representação visual em vídeo ou imagem do ocorrido -->
<!--- Se está descrevendo um bug poste imagens ou vídeos na repordução do bug citado, caso se aplique -->
![image](https://user-images.githubusercontent.com/9326037/55350049-8cc19a00-5491-11e9-95ba-ca631787f5d1.png)


## Seu Ambiente
<!--- Inclua detalhes relevantes sobre o ambiente em que você presenciou/experienciou o bug. -->
* Versão usada (_Release_):
* Nome e versão do navegador:
* Nome e versão do Sistema Operacional (desktop ou mobile):
* Link para o seu projeto (Caso de fork deste projeto):



Discussion:

Resolving patch:
diff --git a/sapl/materia/forms.py b/sapl/materia/forms.py
--- a/sapl/materia/forms.py
+++ b/sapl/materia/forms.py
@@ -727,7 +727,7 @@ class AnexadaForm(ModelForm):
         empty_label='Selecione',
     )
 
-    numero = forms.CharField(label='Número', required=True)
+    numero = forms.IntegerField(label='Número', required=True)
 
     ano = forms.CharField(label='Ano', required=True)
 
@@ -751,8 +751,8 @@ def clean(self):
                 ano=cleaned_data['ano'],
                 tipo=cleaned_data['tipo'])
         except ObjectDoesNotExist:
-            msg = _('A MateriaLegislativa a ser anexada (numero={}, ano={}, tipo={}) não existe no cadastro'
-                    ' de matérias legislativas.'.format(cleaned_data['numero'], cleaned_data['ano'], cleaned_data['tipo']))
+            msg = _('A {} {}/{} não existe no cadastro de matérias legislativas.'
+                    .format(cleaned_data['tipo'], cleaned_data['numero'], cleaned_data['ano']))
             self.logger.error("A matéria a ser anexada não existe no cadastro"
                               " de matérias legislativas.")
             raise ValidationError(msg)


Test patch:
Repository: interlegis/sapl

Issue:
Reunião de Comissão
<!--- Forneça um resumo geral da _issue_ no título acima -->
Na lista de reunião de comissão, é interessante que seja exibida na lista a coluna "Ata da Reunião"

Também é ordenada a lista por data para que o sistema não fique gerando o log:

/var/interlegis/.virtualenvs/sapl/lib/python3.5/site-packages/django/views/generic/list.py:100: UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <class 'sapl.comissoes.models.Reuniao'> QuerySet.
  allow_empty_first_page=allow_empty_first_page, **kwargs)


## Comportamento Esperado
<!--- Se você está descrevendo um _bug_, conte-nos o que deveria acontecer. -->
<!--- Se você está sugerindo uma mudança/melhoria, conte-nos como deve funcionar. -->

![image](https://user-images.githubusercontent.com/13314947/55633070-f4c5f800-5791-11e9-8332-24b54d66d3ba.png)


## Comportamento Atual
<!--- Se está descrevendo um bug, conte-nos o que acontece em vez do comportamento esperado. -->
<!--- Se está sugerindo uma mudança/melhoria, explique a diferença com o comportamento atual. -->

![image](https://user-images.githubusercontent.com/13314947/55633106-00192380-5792-11e9-9554-b8c346bd358c.png)



## Possível Solução
<!--- Não é obrigatório, mas sugira uma possível correção/razão para o bug -->
<!--- ou ideias de como implementar a adição/mudança. -->

Vou encaminhar PR


## Passos para Reproduzir (para bugs)
<!--- Forneça um link para um exemplo, ou um conjunto de passos inequívocos -->
<!--- para reproduzir esse bug. Inclua código para reproduzir, se relevante. -->

## Contexto
<!--- Como esse problema o afeta? O que você está tentando realizar? -->
<!--- Fornecer o contexto nos ajuda a encontrar uma solução que seja mais útil no mundo real -->

## Imagens do Ocorrido
<!--- Representação visual em vídeo ou imagem do ocorrido -->
<!--- Se está descrevendo um bug poste imagens ou vídeos na repordução do bug citado, caso se aplique -->

## Seu Ambiente
<!--- Inclua detalhes relevantes sobre o ambiente em que você presenciou/experienciou o bug. -->
* Versão usada (_Release_): 3.1.152
* Nome e versão do navegador:
* Nome e versão do Sistema Operacional (desktop ou mobile):
* Link para o seu projeto (Caso de fork deste projeto):



Discussion:

Resolving patch:
diff --git a/sapl/comissoes/views.py b/sapl/comissoes/views.py
--- a/sapl/comissoes/views.py
+++ b/sapl/comissoes/views.py
@@ -197,7 +197,8 @@ class ReuniaoCrud(MasterDetailCrud):
     public = [RP_LIST, RP_DETAIL, ]
 
     class BaseMixin(MasterDetailCrud.BaseMixin):
-        list_field_names = ['data', 'nome', 'tema']
+        list_field_names = ['data', 'nome', 'tema', 'upload_ata']
+        ordering = '-data'
 
     class ListView(MasterDetailCrud.ListView):
         logger = logging.getLogger(__name__)


Test patch:
Repository: interlegis/sapl

Issue:
Formato de datas em Nota Explicativa
## Comportamento Esperado
Os campos de datas de publicação e de efeito devem estar preparados para receber apenas números.

## Comportamento Atual
O sistema não aceita apenas os números das datas, exigindo as barras ( / / ).

## Passos para Reproduzir (para bugs)
https://sapl.agudo.rs.leg.br/ta/39/text

## Contexto
Registro de Nota Explicativa em um texto articulado.

## Imagens do Ocorrido
![Captura de tela de 2019-03-28 16-46-57](https://user-images.githubusercontent.com/19169882/55189073-bb7efe00-517b-11e9-83a3-6b6a9a10fe7c.png)

## Seu Ambiente
Versão usada (Release): 3.1.150
Nome e versão do navegador: Versão 73.0.3683.75 (Versão oficial)
Nome e versão do Sistema Operacional (desktop ou mobile): Ubuntu 16.04 64 bits




Discussion:

Resolving patch:
diff --git a/sapl/compilacao/forms.py b/sapl/compilacao/forms.py
--- a/sapl/compilacao/forms.py
+++ b/sapl/compilacao/forms.py
@@ -220,7 +220,7 @@ class NotaForm(ModelForm):
 
     publicacao = forms.DateField(
         label=Nota._meta.get_field('publicacao').verbose_name,
-        input_formats=['%d/%m/%Y'],
+        input_formats=['%d/%m/%Y', '%d%m%Y'],
         required=True,
         widget=forms.DateInput(
             format='%d/%m/%Y'),
@@ -228,7 +228,7 @@ class NotaForm(ModelForm):
     )
     efetividade = forms.DateField(
         label=Nota._meta.get_field('efetividade').verbose_name,
-        input_formats=['%d/%m/%Y'],
+        input_formats=['%d/%m/%Y', '%d%m%Y'],
         required=True,
         widget=forms.DateInput(
             format='%d/%m/%Y'),


Test patch:
Repository: interlegis/sapl

Issue:
Ordem da normas relacionadas
## Comportamento Esperado
Na resposta à pesquisa de norma jurídica, as normas relacionadas devem aparecer em ordem crescente de data.

## Comportamento Atual
Elas não aparecem em uma ordem determinada.

## Passos para Reproduzir (para bugs)
https://sapl.agudo.rs.leg.br/norma/pesquisar?tipo=&numero=734&ano=&data_0=&data_1=&data_publicacao_0=&data_publicacao_1=&ementa=&assuntos=&data_vigencia_0=&data_vigencia_1=&o=&indexacao=

## Contexto
Pesquisa de normas jurídicas.

## Imagens do Ocorrido
![Captura de tela de 2019-04-23 17-24-18](https://user-images.githubusercontent.com/19169882/56613377-e62e6c00-65ec-11e9-8746-7298a91e2cef.png)

## Seu Ambiente
Versão usada (Release): 3.1.153
Nome e versão do navegador: Versão 73.0.3683.86 (Versão oficial)
Nome e versão do Sistema Operacional (desktop ou mobile): Ubuntu 16.04 64 bits




Discussion:

Resolving patch:
diff --git a/sapl/norma/migrations/0024_auto_20190425_0917.py b/sapl/norma/migrations/0024_auto_20190425_0917.py
new file mode 100644
--- /dev/null
+++ b/sapl/norma/migrations/0024_auto_20190425_0917.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.20 on 2019-04-25 12:17
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('norma', '0023_auto_20190219_1535'),
+    ]
+
+    operations = [
+        migrations.AlterModelOptions(
+            name='normarelacionada',
+            options={'ordering': ('norma_principal__data', 'norma_relacionada__data'), 'verbose_name': 'Norma Relacionada', 'verbose_name_plural': 'Normas Relacionadas'},
+        ),
+    ]
diff --git a/sapl/norma/models.py b/sapl/norma/models.py
--- a/sapl/norma/models.py
+++ b/sapl/norma/models.py
@@ -145,11 +145,11 @@ class Meta:
 
     def get_normas_relacionadas(self):
         principais = NormaRelacionada.objects.filter(
-            norma_principal=self.id).order_by('norma_principal__ano',
-                                              'norma_relacionada__ano')
+            norma_principal=self.id).order_by('norma_principal__data',
+                                              'norma_relacionada__data')
         relacionadas = NormaRelacionada.objects.filter(
-            norma_relacionada=self.id).order_by('norma_principal__ano',
-                                                'norma_relacionada__ano')
+            norma_relacionada=self.id).order_by('norma_principal__data',
+                                                'norma_relacionada__data')
         return (principais, relacionadas)
 
     def get_anexos_norma_juridica(self):
@@ -313,7 +313,7 @@ class NormaRelacionada(models.Model):
     class Meta:
         verbose_name = _('Norma Relacionada')
         verbose_name_plural = _('Normas Relacionadas')
-        ordering = ('norma_principal__ano', 'norma_relacionada__ano')
+        ordering = ('norma_principal__data', 'norma_relacionada__data')
 
     def __str__(self):
         return _('Principal: %(norma_principal)s'


Test patch:
Repository: interlegis/sapl

Issue:
Resposta adequada para primeira tramitação em lote
## Comportamento Esperado
O sistema deve dar, quando a tramitação em lote ocorrer corretamente, uma resposta adequada.

## Comportamento Atual
Apesar da tramitação estar sendo feita corretamente, o sistema responde que "Nenhuma matéria foi encontrada".

## Passos para Reproduzir (para bugs)
https://sapl.agudo.rs.leg.br/materia/primeira-tramitacao-em-lote

## Contexto
Primeira tramitação em lote de matéria legislativa.

## Imagens do Ocorrido
![Captura de tela de 2019-05-10 09-28-27](https://user-images.githubusercontent.com/19169882/57648543-2786bb80-759c-11e9-9f2d-c4eada8a9cb5.png)

## Seu Ambiente
Versão usada (Release): 3.1.154
Nome e versão do navegador: Versão 73.0.3683.86 (Versão oficial)
Nome e versão do Sistema Operacional (desktop ou mobile): Ubuntu 16.04 64 bits


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
@@ -2351,11 +2351,13 @@ def post(self, request, *args, **kwargs):
                 materia.em_tramitacao = True
             materia.save()
 
-        msg = _('Tramitação completa.')
+        msg = _('Tramitação completa. ' + "Foram tramitadas " + str(len(marcadas)) + " matéria(s).")
         self.logger.info('user=' + username + '. Tramitação completa.')
         messages.add_message(request, messages.SUCCESS, msg)
-        return self.get(request, self.kwargs)
-
+        
+        if self.primeira_tramitacao:
+            return HttpResponseRedirect(reverse('sapl.materia:primeira_tramitacao_em_lote'))
+        return HttpResponseRedirect(reverse('sapl.materia:tramitacao_em_lote'))
 
 class TramitacaoEmLoteView(PrimeiraTramitacaoEmLoteView):
     filterset_class = TramitacaoEmLoteFilterSet


Test patch: