Browse Source

Fix #2142 preencher automaticamente ementa e autor ao vincular materia existente (#2160)

pull/2163/head
Talitha Pumar 6 years ago
committed by Edward
parent
commit
7a99c233cf
  1. 3
      sapl/protocoloadm/urls.py
  2. 21
      sapl/protocoloadm/views.py
  3. 31
      sapl/templates/protocoloadm/protocolar_materia.html

3
sapl/protocoloadm/urls.py

@ -12,6 +12,7 @@ from sapl.protocoloadm.views import (AnularProtocoloAdmView,
ProtocoloMostrarView, ProtocoloMostrarView,
ProtocoloPesquisaView, ProtocoloPesquisaView,
StatusTramitacaoAdministrativoCrud, StatusTramitacaoAdministrativoCrud,
recuperar_materia_protocolo,
TipoDocumentoAdministrativoCrud, TipoDocumentoAdministrativoCrud,
TramitacaoAdmCrud, TramitacaoAdmCrud,
atualizar_numero_documento, atualizar_numero_documento,
@ -77,6 +78,8 @@ urlpatterns_protocolo = [
url(r'^protocoloadm/atualizar_numero_documento$', url(r'^protocoloadm/atualizar_numero_documento$',
atualizar_numero_documento, name='atualizar_numero_documento'), atualizar_numero_documento, name='atualizar_numero_documento'),
url(r'^protocoloadm/recuperar-materia',
recuperar_materia_protocolo, name='recuperar_materia_protocolo'),
] ]

21
sapl/protocoloadm/views.py

@ -1,6 +1,7 @@
from braces.views import FormValidMessageMixin from braces.views import FormValidMessageMixin
from django.contrib import messages from django.contrib import messages
from django.contrib.auth.decorators import permission_required
from django.contrib.auth.mixins import PermissionRequiredMixin from django.contrib.auth.mixins import PermissionRequiredMixin
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
@ -45,6 +46,24 @@ TipoDocumentoAdministrativoCrud = CrudAux.build(
# FIXME precisa de uma chave diferente para o layout # FIXME precisa de uma chave diferente para o layout
# ProtocoloMateriaCrud = Crud.build(Protocolo, '') # ProtocoloMateriaCrud = Crud.build(Protocolo, '')
@permission_required('protocoloadm.add_protocolo')
def recuperar_materia_protocolo(request):
tipo = request.GET.get('tipo')
ano = request.GET.get('ano')
numero = request.GET.get('numero')
try:
materia = MateriaLegislativa.objects.get(
tipo=tipo, ano=ano,numero=numero)
autoria = materia.autoria_set.first()
content = {'ementa': materia.ementa.strip(),
'ano':materia.ano, 'numero':materia.numero}
if autoria:
content.update({'autor': autoria.autor.pk,
'tipo_autor':autoria.autor.tipo.pk})
response = JsonResponse(content)
except Exception as e:
response = JsonResponse({'error':e})
return response
def doc_texto_integral(request, pk): def doc_texto_integral(request, pk):
can_see = True can_see = True
@ -782,4 +801,4 @@ class DesvincularMateriaView(PermissionRequiredMixin, FormView):
tipo=form.cleaned_data['tipo']) tipo=form.cleaned_data['tipo'])
materia.numero_protocolo = None materia.numero_protocolo = None
materia.save() materia.save()
return redirect(self.get_success_url()) return redirect(self.get_success_url())

31
sapl/templates/protocoloadm/protocolar_materia.html

@ -26,6 +26,36 @@
} }
$(document).ready(function() { $(document).ready(function() {
function busca_ementa() {
var vincular_materia = $("#id_vincular_materia_1").prop("checked");
var ano_materia = $("#id_ano_materia").val();
var numero_materia = $("#id_numero_materia").val();
var tipo_materia = $("#id_tipo_materia").val();
var json_data = {
ano : ano_materia,
numero : numero_materia,
tipo : tipo_materia
}
if (vincular_materia === true && ano_materia !== undefined &&
numero_materia !== undefined && numero_materia !== "") {
$.getJSON("/protocoloadm/recuperar-materia", json_data, function(data){
if (data) {
if (data['error'] === undefined){
$('#id_assunto_ementa').val(data['ementa']);
if (data['autor'] !== undefined) {
$('#id_autor').val(data['autor']);
$('#id_tipo_autor').val(data['tipo_autor']);
}
}
}
})
}
};
$("#id_ano_materia").blur(busca_ementa);
$("#id_numero_materia").blur(busca_ementa);
$("#id_tipo_materia").change(busca_ementa);
$("#id_tipo_autor").change(function() { $("#id_tipo_autor").change(function() {
var tipo_selecionado = $("#id_tipo_autor").val(); var tipo_selecionado = $("#id_tipo_autor").val();
var autor_selecionado = $("#id_autor").val(); var autor_selecionado = $("#id_autor").val();
@ -51,6 +81,7 @@
}); });
} }
}); });
}); });
</script> </script>
{% endblock %} {% endblock %}

Loading…
Cancel
Save