|
|
@ -2084,11 +2084,39 @@ class MateriaAnexadaEmLoteView(PermissionRequiredMixin, FilterView): |
|
|
|
|
|
|
|
|
qr = self.request.GET.copy() |
|
|
qr = self.request.GET.copy() |
|
|
context['object_list'] = context['object_list'].order_by( |
|
|
context['object_list'] = context['object_list'].order_by( |
|
|
'ano', 'numero') |
|
|
'numero', '-ano') |
|
|
principal = MateriaLegislativa.objects.get(pk=self.kwargs['pk']) |
|
|
principal = MateriaLegislativa.objects.get(pk=self.kwargs['pk']) |
|
|
not_list = [self.kwargs['pk']] + \ |
|
|
not_list = [self.kwargs['pk']] + \ |
|
|
[m for m in principal.materia_principal_set.all().values_list('materia_anexada_id', flat=True)] |
|
|
[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['object_list'] = context['object_list'].exclude(pk__in=not_list) |
|
|
|
|
|
|
|
|
|
|
|
context['temp_object_list'] = context['object_list'] |
|
|
|
|
|
context['object_list'] = [] |
|
|
|
|
|
for obj in context['temp_object_list']: |
|
|
|
|
|
materia_anexada = obj |
|
|
|
|
|
ciclico = False |
|
|
|
|
|
anexadas_anexada = Anexada.objects.filter( |
|
|
|
|
|
materia_principal = materia_anexada |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
while(anexadas_anexada and not ciclico): |
|
|
|
|
|
anexadas = [] |
|
|
|
|
|
|
|
|
|
|
|
for anexa in anexadas_anexada: |
|
|
|
|
|
|
|
|
|
|
|
if principal == anexa.materia_anexada: |
|
|
|
|
|
ciclico = True |
|
|
|
|
|
else: |
|
|
|
|
|
for a in Anexada.objects.filter(materia_principal=anexa.materia_anexada): |
|
|
|
|
|
anexadas.append(a) |
|
|
|
|
|
|
|
|
|
|
|
anexadas_anexada = anexadas |
|
|
|
|
|
|
|
|
|
|
|
if not ciclico: |
|
|
|
|
|
context['object_list'].append(obj) |
|
|
|
|
|
|
|
|
|
|
|
context['numero_res'] = len(context['object_list']) |
|
|
|
|
|
|
|
|
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' |
|
|
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' |
|
|
|
|
|
|
|
|
context['show_results'] = show_results_filter_set(qr) |
|
|
context['show_results'] = show_results_filter_set(qr) |
|
|
@ -2124,7 +2152,9 @@ class MateriaAnexadaEmLoteView(PermissionRequiredMixin, FilterView): |
|
|
|
|
|
|
|
|
msg = _('Materia(s) anexada(s).') |
|
|
msg = _('Materia(s) anexada(s).') |
|
|
messages.add_message(request, messages.SUCCESS, msg) |
|
|
messages.add_message(request, messages.SUCCESS, msg) |
|
|
return self.get(request, self.kwargs) |
|
|
|
|
|
|
|
|
sucess_url = reverse('sapl_index') + 'materia/' + kwargs['pk'] + '/anexada' |
|
|
|
|
|
return HttpResponseRedirect(sucess_url) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PrimeiraTramitacaoEmLoteView(PermissionRequiredMixin, FilterView): |
|
|
class PrimeiraTramitacaoEmLoteView(PermissionRequiredMixin, FilterView): |
|
|
|