From f590cd8e4f5f0f746aec6d4eadf941126188b7b9 Mon Sep 17 00:00:00 2001 From: Eduardo Calil Date: Wed, 15 Mar 2017 11:53:00 -0300 Subject: [PATCH] =?UTF-8?q?Numero=20do=20Doc=20Adm=20=C3=A9=20modificado?= =?UTF-8?q?=20dinamicamente=20pelo=20tipo=20e=20ano?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/protocoloadm/urls.py | 7 +++++- sapl/protocoloadm/views.py | 15 ++++++++++- .../protocoloadm/criar_documento.html | 25 +++++++++++++++++++ 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/sapl/protocoloadm/urls.py b/sapl/protocoloadm/urls.py index 93d4abb49..66dac0fdb 100644 --- a/sapl/protocoloadm/urls.py +++ b/sapl/protocoloadm/urls.py @@ -1,6 +1,7 @@ from django.conf.urls import include, url -from sapl.protocoloadm.views import (AnularProtocoloAdmView, +from sapl.protocoloadm.views import (atualizar_numero_documento, + AnularProtocoloAdmView, ComprovanteProtocoloView, CriarDocumentoProtocolo, DetailDocumentoAdministrativo, @@ -78,6 +79,10 @@ urlpatterns_protocolo = [ url(r'^protocoloadm/(?P\d+)/criar-documento$', CriarDocumentoProtocolo.as_view(), name='criar_documento'), + url(r'^protocoloadm/atualizar_numero_documento$', + atualizar_numero_documento, name='atualizar_numero_documento'), + + ] urlpatterns_sistema = [ diff --git a/sapl/protocoloadm/views.py b/sapl/protocoloadm/views.py index fe6ea4f50..a854040a9 100644 --- a/sapl/protocoloadm/views.py +++ b/sapl/protocoloadm/views.py @@ -6,7 +6,8 @@ from django.contrib.auth.mixins import PermissionRequiredMixin from django.core.exceptions import ObjectDoesNotExist from django.core.urlresolvers import reverse from django.db.models import Max -from django.http import Http404, HttpResponse, HttpResponseRedirect +from django.http import (Http404, HttpResponse, HttpResponseRedirect, + JsonResponse) from django.shortcuts import redirect from django.utils.translation import ugettext_lazy as _ from django.views.generic import CreateView, DetailView, FormView, ListView @@ -651,3 +652,15 @@ class TramitacaoAdmCrud(MasterDetailCrud): class DetailView(DocumentoAdministrativoMixin, MasterDetailCrud.DetailView): pass + + +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'] + + return JsonResponse( + {'numero': numero_max + 1}) if numero_max else JsonResponse( + {'numero': 1}) diff --git a/sapl/templates/protocoloadm/criar_documento.html b/sapl/templates/protocoloadm/criar_documento.html index 8425238f0..50ce32213 100644 --- a/sapl/templates/protocoloadm/criar_documento.html +++ b/sapl/templates/protocoloadm/criar_documento.html @@ -5,3 +5,28 @@ {% block detail_content %} {% crispy form %} {% endblock %} + + +{% block extra_js %} + + + +{% endblock %} \ No newline at end of file