diff --git a/sapl/protocoloadm/views.py b/sapl/protocoloadm/views.py index 2474bb919..d4f7e96d9 100644 --- a/sapl/protocoloadm/views.py +++ b/sapl/protocoloadm/views.py @@ -706,9 +706,17 @@ def atualizar_numero_documento(request): tipo = TipoDocumentoAdministrativo.objects.get(pk=request.GET['tipo']) ano = request.GET['ano'] - numero_max = DocumentoAdministrativo.objects.filter( - tipo=tipo, ano=ano).aggregate(Max('numero'))['numero__max'] + param = {'tipo': tipo} + param['ano'] = ano if ano else timezone.now().year - return JsonResponse( - {'numero': numero_max + 1}) if numero_max else JsonResponse( - {'numero': 1}) + doc = DocumentoAdministrativo.objects.filter(**param).order_by( + 'tipo', 'ano', 'numero').values_list('numero', 'ano').last() + + if doc: + response = JsonResponse({'numero': int(doc[0]) + 1, + 'ano': doc[1]}) + else: + response = JsonResponse( + {'numero': 1, 'ano': ano}) + + return response diff --git a/sapl/templates/protocoloadm/documentoadministrativo_form.html b/sapl/templates/protocoloadm/documentoadministrativo_form.html index 449c8dccf..627271dcf 100644 --- a/sapl/templates/protocoloadm/documentoadministrativo_form.html +++ b/sapl/templates/protocoloadm/documentoadministrativo_form.html @@ -3,18 +3,21 @@ {% block extra_js %} -{% endblock extra_js %} +{% endblock %}