Browse Source

Numero do Doc Adm é modificado dinamicamente pelo tipo e ano

pull/941/head
Eduardo Calil 8 years ago
parent
commit
f590cd8e4f
  1. 7
      sapl/protocoloadm/urls.py
  2. 15
      sapl/protocoloadm/views.py
  3. 25
      sapl/templates/protocoloadm/criar_documento.html

7
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<pk>\d+)/criar-documento$',
CriarDocumentoProtocolo.as_view(), name='criar_documento'),
url(r'^protocoloadm/atualizar_numero_documento$',
atualizar_numero_documento, name='atualizar_numero_documento'),
]
urlpatterns_sistema = [

15
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})

25
sapl/templates/protocoloadm/criar_documento.html

@ -5,3 +5,28 @@
{% block detail_content %}
{% crispy form %}
{% endblock %}
{% block extra_js %}
<script language="Javascript">
function atualizar_numero_documento(){
var tipo = $("#id_tipo").val();
var ano = $("#id_ano").val();
if (tipo && ano){
$.get(
"{% url 'sapl.protocoloadm:atualizar_numero_documento' %}",
{tipo: tipo, ano:ano},
function(data, status) {
$("#id_numero").val(data.numero);
});
}
}
$("#id_tipo").change(atualizar_numero_documento)
$("#id_ano").change(atualizar_numero_documento)
</script>
{% endblock %}
Loading…
Cancel
Save