mirror of https://github.com/interlegis/sapl.git
Victor Fabre
6 years ago
committed by
Edward
9 changed files with 210 additions and 7 deletions
@ -0,0 +1,40 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.9.13 on 2018-10-08 19:55 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
import django.db.models.deletion |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('base', '0021_appconfig_esfera_federacao'), |
||||
|
('norma', '0013_anexonormajuridica_assunto_anexo'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.CreateModel( |
||||
|
name='AutoriaNorma', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
|
('primeiro_autor', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Primeiro Autor')), |
||||
|
('autor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='base.Autor', verbose_name='Autor')), |
||||
|
('norma', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='norma.NormaJuridica', verbose_name='Matéria Legislativa')), |
||||
|
], |
||||
|
options={ |
||||
|
'ordering': ('-primeiro_autor', 'autor__nome'), |
||||
|
'verbose_name': 'Autoria', |
||||
|
'verbose_name_plural': 'Autorias', |
||||
|
}, |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='normajuridica', |
||||
|
name='autores', |
||||
|
field=models.ManyToManyField(through='norma.AutoriaNorma', to='base.Autor'), |
||||
|
), |
||||
|
migrations.AlterUniqueTogether( |
||||
|
name='autorianorma', |
||||
|
unique_together=set([('autor', 'norma')]), |
||||
|
), |
||||
|
] |
@ -0,0 +1,47 @@ |
|||||
|
{% extends "crud/form.html" %} |
||||
|
{% load i18n %} |
||||
|
{% load crispy_forms_tags %} |
||||
|
{% load common_tags %} |
||||
|
|
||||
|
{% block extra_js %} |
||||
|
<script language="Javascript"> |
||||
|
|
||||
|
function compare(a, b) { |
||||
|
if (a.text < b.text) |
||||
|
return -1; |
||||
|
if (a.text > b.text) |
||||
|
return 1; |
||||
|
return 0; |
||||
|
} |
||||
|
|
||||
|
$(document).ready(function() { |
||||
|
$("#id_tipo_autor").change(function() { |
||||
|
var tipo_selecionado = $("#id_tipo_autor").val(); |
||||
|
var autor_selecionado = $("#id_autor").val(); |
||||
|
$("#id_autor option").remove() |
||||
|
if (tipo_selecionado !== undefined && tipo_selecionado !== null) { |
||||
|
var json_data = { |
||||
|
tipo : tipo_selecionado, |
||||
|
data_relativa : $("#id_data_relativa").val() |
||||
|
} |
||||
|
$.getJSON("/api/autor/possiveis", json_data, function(data){ |
||||
|
if (data) { |
||||
|
var results = data.sort(compare); |
||||
|
if (results.length > 1) { |
||||
|
$("#id_autor").append("<option>-----</option>"); |
||||
|
} |
||||
|
$.each(results, function(idx, obj) { |
||||
|
$("#id_autor") |
||||
|
.append($("<option></option>") |
||||
|
.attr("value", obj.value) |
||||
|
.text(obj.text)); |
||||
|
}); |
||||
|
$("#id_autor").val(autor_selecionado); |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
}); |
||||
|
$("#id_tipo_autor").trigger('change'); |
||||
|
}); |
||||
|
</script> |
||||
|
{% endblock %} |
Loading…
Reference in new issue