mirror of https://github.com/interlegis/sapl.git
LeandroRoberto
9 years ago
9 changed files with 876 additions and 527 deletions
@ -0,0 +1,30 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('compilacao', '0009_auto_20151007_1635'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.CreateModel( |
||||
|
name='TipoDispositivoRelationship', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(verbose_name='ID', auto_created=True, primary_key=True, serialize=False)), |
||||
|
('filho_permitido', models.ForeignKey(related_name='filho_permitido', to='compilacao.TipoDispositivo')), |
||||
|
('pai', models.ForeignKey(related_name='pai', to='compilacao.TipoDispositivo')), |
||||
|
], |
||||
|
options={ |
||||
|
'abstract': False, |
||||
|
}, |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='tipodispositivo', |
||||
|
name='relacoes_diretas_pai_filho', |
||||
|
field=models.ManyToManyField(related_name='filhos_permitidos', through='compilacao.TipoDispositivoRelationship', to='compilacao.TipoDispositivo'), |
||||
|
), |
||||
|
] |
@ -0,0 +1,27 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('compilacao', '0010_auto_20151105_1532'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterModelOptions( |
||||
|
name='tipodispositivorelationship', |
||||
|
options={'verbose_name': 'Relação Direta Permitida', 'verbose_name_plural': 'Relaçõe Diretas Permitidas', 'ordering': ['pai', 'filho_permitido']}, |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='tipodispositivorelationship', |
||||
|
name='filho_permitido', |
||||
|
field=models.ForeignKey(null=True, to='compilacao.TipoDispositivo', blank=True, default=None, related_name='filho_permitido'), |
||||
|
), |
||||
|
migrations.AlterUniqueTogether( |
||||
|
name='tipodispositivorelationship', |
||||
|
unique_together=set([('pai', 'filho_permitido')]), |
||||
|
), |
||||
|
] |
@ -0,0 +1,34 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('compilacao', '0011_auto_20151105_1540'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AddField( |
||||
|
model_name='tipodispositivorelationship', |
||||
|
name='filho_de_insercao_automatica', |
||||
|
field=models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Filho de Inserção Automática'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='tipodispositivo', |
||||
|
name='relacoes_diretas_pai_filho', |
||||
|
field=models.ManyToManyField(to='compilacao.TipoDispositivo', related_name='possiveis_pais', through='compilacao.TipoDispositivoRelationship'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='tipodispositivorelationship', |
||||
|
name='filho_permitido', |
||||
|
field=models.ForeignKey(blank=True, default=None, null=True, related_name='pais', to='compilacao.TipoDispositivo'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='tipodispositivorelationship', |
||||
|
name='pai', |
||||
|
field=models.ForeignKey(to='compilacao.TipoDispositivo', related_name='filhos_permitidos'), |
||||
|
), |
||||
|
] |
@ -0,0 +1,24 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('compilacao', '0012_auto_20151105_1658'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterField( |
||||
|
model_name='tipodispositivo', |
||||
|
name='relacoes_diretas_pai_filho', |
||||
|
field=models.ManyToManyField(to='compilacao.TipoDispositivo', related_name='_relacoes_diretas_pai_filho_+', through='compilacao.TipoDispositivoRelationship'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='tipodispositivorelationship', |
||||
|
name='filho_permitido', |
||||
|
field=models.ForeignKey(null=True, blank=True, related_name='possiveis_pais', to='compilacao.TipoDispositivo', default=None), |
||||
|
), |
||||
|
] |
@ -1,210 +1,261 @@ |
|||||
|
|
||||
var flag_add_next = false; |
|
||||
var flag_add_next_pk = 0; |
|
||||
var flag_add_next_pai = 0; |
|
||||
|
|
||||
var editortype = "textarea"; |
var editortype = "textarea"; |
||||
|
var gets = 0; |
||||
var onSubmitEditForm = function(event) { |
var onSubmitEditForm = function(event) { |
||||
|
|
||||
var texto = ''; |
var texto = ''; |
||||
var editorTiny = tinymce.get('editdi_texto'); |
var editorTiny = tinymce.get('editdi_texto'); |
||||
|
|
||||
if (editorTiny != null) |
if (editorTiny != null) |
||||
texto = editorTiny.getContent(); |
texto = editorTiny.getContent(); |
||||
else |
else |
||||
texto = $('#editdi_texto').val(); |
texto = $('#editdi_texto').val(); |
||||
|
|
||||
var formData = { |
var formData = { |
||||
'csrfmiddlewaretoken' : $('input[name=csrfmiddlewaretoken]').val(), |
'csrfmiddlewaretoken' : $('input[name=csrfmiddlewaretoken]').val(), |
||||
'texto' : texto |
'texto' : texto |
||||
}; |
}; |
||||
|
|
||||
var url = $('.csform form').attr( "action_ajax" ); |
var url = $('.csform form').attr( "action_ajax" ); |
||||
$("#message_block").css("display", "block"); |
$("#message_block").css("display", "block"); |
||||
$.post(url,formData) |
|
||||
.done(function(data) { |
$.post(url, formData) |
||||
$('.dpt-selected').html(data); |
.done(function(data) { |
||||
clearEditSelected(); |
|
||||
reloadFunctionClicks(); |
if (typeof data == "string") { |
||||
}).always(function() { |
$('.dpt-selected').html(data); |
||||
$("#message_block").css("display", "none"); |
clearEditSelected(); |
||||
}); |
reloadFunctionClicks(); |
||||
if (event != null) |
return; |
||||
event.preventDefault(); |
} |
||||
|
|
||||
|
clearEditSelected(); |
||||
|
|
||||
|
if (data.pk != null) |
||||
|
refreshScreenFocusPk(data); |
||||
|
else { |
||||
|
alert('Erro na inserção!'); |
||||
|
flag_refresh_all = false; |
||||
|
} |
||||
|
|
||||
|
}).always(function() { |
||||
|
$("#message_block").css("display", "none"); |
||||
|
}); |
||||
|
if (event != null) |
||||
|
event.preventDefault(); |
||||
} |
} |
||||
|
|
||||
|
|
||||
var clickEditDispositivo = function(event) { |
var clickEditDispositivo = function(event) { |
||||
var _pk = event.currentTarget.getAttribute('pk'); |
var _pk = event.currentTarget.getAttribute('pk'); |
||||
if ($('#dpt'+_pk).hasClass("dpt-selected")) { |
if ($('#dpt'+_pk).hasClass("dpt-selected")) { |
||||
clearEditSelected(); |
clearEditSelected(); |
||||
return; |
return; |
||||
} |
} |
||||
clearEditSelected(); |
clearEditSelected(); |
||||
clickUpdateDispositivo(event); |
clickUpdateDispositivo(event); |
||||
} |
} |
||||
|
|
||||
var clickUpdateDispositivo = function(event, __pk, __action, addeditselected) { |
var clickUpdateDispositivo = function(event, __pk_refresh, __pk_edit, __action, flag_actions_vibible, flag_refresh_all) { |
||||
|
|
||||
var _pk = __pk; |
var pk_refresh = __pk_refresh; |
||||
var _action = __action; |
var pk_edit = __pk_edit; |
||||
var _variacao = ''; |
var _action = __action; |
||||
var _tipo_pk = ''; |
var _variacao = ''; |
||||
|
var _tipo_pk = ''; |
||||
if (event != null) { |
|
||||
_pk = event.currentTarget.getAttribute('pk'); |
if (event != null) { |
||||
_action = $(this).attr('action'); |
pk_refresh = event.currentTarget.getAttribute('pk'); |
||||
_variacao = $(this).attr('variacao'); |
_action = $(this).attr('action'); |
||||
_tipo_pk = $(this).attr('tipo_pk'); |
_variacao = $(this).attr('variacao'); |
||||
} |
_tipo_pk = $(this).attr('tipo_pk'); |
||||
|
} |
||||
if (flag_add_next_pk == 0) |
|
||||
flag_add_next_pk = _pk |
if (pk_edit == null) |
||||
|
pk_edit = pk_refresh; |
||||
var url = '' |
|
||||
if (_action == '') |
var url = ''; |
||||
return |
if (_action == '') |
||||
else if ( _action == null) |
return; |
||||
url = _pk+'/refresh?pkadd='+flag_add_next_pk; |
else if ( _action == null) { |
||||
else if (_action.startsWith('refresh')) { |
url = pk_refresh+'/refresh?pkadd='+pk_edit; |
||||
|
} |
||||
var str = _action.split(':'); |
else if (_action.startsWith('refresh')) { |
||||
if (str.length > 1) { |
|
||||
editortype = str[1]; |
var str = _action.split(':'); |
||||
} |
if (str.length > 1) { |
||||
|
editortype = str[1]; |
||||
url = _pk+'/refresh?pkadd='+flag_add_next_pk+url; |
SetCookie("editortype", editortype, 30) |
||||
} |
|
||||
else { |
} |
||||
url = _pk+'/actions?action='+_action; |
url = pk_refresh+'/refresh?pkadd='+pk_edit+url; |
||||
url += '&tipo_pk='+_tipo_pk; |
} |
||||
url += '&variacao='+_variacao; |
else { |
||||
if (addeditselected == null || addeditselected) { |
|
||||
$("#message_block").css("display", "block"); |
url = pk_refresh+'/actions?action='+_action; |
||||
} |
url += '&tipo_pk='+_tipo_pk; |
||||
} |
url += '&variacao='+_variacao; |
||||
|
|
||||
$.get(url).done(function( data ) { |
$("#message_block").css("display", "block"); |
||||
|
|
||||
if ( _action == null || _action.startsWith('refresh')) { |
} |
||||
|
|
||||
if (flag_add_next) { |
$.get(url).done(function( data ) { |
||||
|
if ( _action == null || _action.startsWith('refresh')) { |
||||
if (addeditselected) |
|
||||
|
|
||||
|
if (flag_refresh_all) { |
||||
|
if (flag_actions_vibible) |
||||
clearEditSelected(); |
clearEditSelected(); |
||||
|
|
||||
$( '#dpt' + _pk ).html( data); |
$( '#dpt' + pk_refresh ).html( data); |
||||
flag_add_next = false |
} |
||||
} |
else { |
||||
else { |
//console.log(pk_refresh + ' - '+pk_edit)
|
||||
clearEditSelected(); |
if (flag_actions_vibible == null || flag_actions_vibible) |
||||
$( '#dpt' + _pk ).prepend( data ); |
clearEditSelected(); |
||||
} |
|
||||
reloadFunctionClicks(); |
$( '#dpt' + pk_refresh ).prepend( data ); |
||||
|
} |
||||
if ( editortype == 'tinymce' ) { |
|
||||
initTinymce(); |
reloadFunctionClicks(); |
||||
} |
|
||||
else if (editortype == 'textarea') { |
var _editortype = editortype; |
||||
$('.csform form').submit(onSubmitEditForm); |
if ( $('.edt-'+_editortype).length == 0) { |
||||
} |
_editortype = 'construct'; |
||||
else if (editortype == 'construct') { |
} |
||||
$('.csform .btn-salvar').parent().remove(); |
|
||||
$('.csform .btn-salvar, .csform textarea').remove(); |
if ( _editortype == 'tinymce' ) { |
||||
$('#dpt'+flag_add_next_pk).css('min-height', $('.actions_right').height()*2); |
initTinymce(); |
||||
$('.actions_inserts').removeClass('menu_flutuante'); |
} |
||||
} |
else if (_editortype == 'textarea') { |
||||
$(".edt-"+editortype).addClass('selected'); |
$('.csform form').submit(onSubmitEditForm); |
||||
//$(".container").addClass('class_color_container');
|
} |
||||
|
else if (_editortype == 'construct') { |
||||
if (addeditselected == null || addeditselected) { |
$('.csform .btn-salvar').parent().addClass("displaynone"); |
||||
$('html, body').animate({ |
$('.csform .btn-salvar, .csform .fields').addClass("displaynone"); |
||||
scrollTop: $('#dpt' + flag_add_next_pk ).offset().top - window.innerHeight / 10 |
$('#dpt'+pk_refresh).css('min-height', $('.actions_right').height()*2); |
||||
}, 300); |
$('.actions_inserts').removeClass('menu_flutuante'); |
||||
$('#dpt'+flag_add_next_pk).addClass('dpt-selected'); |
} |
||||
flag_add_next_pk = 0; |
else if (_editortype == 'detail') { |
||||
} |
$('.csform .btn-salvar').parent().removeClass("displaynone"); |
||||
} |
$('.csform .btn-salvar, .csform .fields').removeClass("displaynone"); |
||||
|
$('#dpt'+pk_refresh).css('min-height', $('.actions_right').height()*2); |
||||
else if (_action == 'add_next') { |
$('.actions_inserts').addClass('menu_flutuante'); |
||||
|
} |
||||
clearEditSelected(); |
|
||||
|
$(".edt-"+_editortype).addClass('selected'); |
||||
flag_add_next_pk = data.pk; |
//$(".container").addClass('class_color_container');
|
||||
flag_add_next_pai = data.pai; |
|
||||
|
if (flag_actions_vibible == null || flag_actions_vibible) { |
||||
if (flag_add_next_pk != null) |
$('html, body').animate({ |
||||
for (var pai = 0; pai < flag_add_next_pai.length; pai++) |
scrollTop: $('#dpt' + pk_edit ).offset().top - window.innerHeight / 10 |
||||
if (flag_add_next_pai[pai] != -1) { |
}, 300); |
||||
flag_add_next = true; |
$('#dpt'+pk_edit).addClass('dpt-selected'); |
||||
flag_add_next_pk = data.pk; |
} |
||||
clickUpdateDispositivo(null, flag_add_next_pai[pai], 'refresh', pai == 0); |
} |
||||
} |
|
||||
else { |
else if (_action == 'add_next' || _action == 'add_in') { |
||||
href = location.href.split('#')[0] |
clearEditSelected(); |
||||
location.href = href+'#'+flag_add_next_pk |
if (data.pk != null) { |
||||
location.reload(true) |
refreshScreenFocusPk(data); |
||||
} |
} |
||||
else { |
else { |
||||
alert('Erro na inserção!'); |
alert('Erro na inserção!'); |
||||
flag_add_next_pk = 0; |
} |
||||
flag_add_next = false; |
} |
||||
} |
else { |
||||
} |
clearEditSelected(); |
||||
else { |
reloadFunctionClicks(); |
||||
clearEditSelected(); |
} |
||||
reloadFunctionClicks(); |
}).always(function() { |
||||
flag_add_next_pk = 0; |
$("#message_block").css("display", "none"); |
||||
} |
}); |
||||
}).always(function() { |
|
||||
$("#message_block").css("display", "none"); |
|
||||
}); |
|
||||
} |
} |
||||
|
|
||||
|
function refreshScreenFocusPk(data) { |
||||
|
|
||||
|
for (var pai = 0; pai < data.pai.length; pai++) |
||||
|
if (data.pai[pai] != -1) { |
||||
|
clickUpdateDispositivo(null, data.pai[pai], data.pk, 'refresh', pai == 0, true); |
||||
|
} |
||||
|
else { |
||||
|
href = location.href.split('#')[0] |
||||
|
location.href = href+'#'+data.pk |
||||
|
location.reload(true) |
||||
|
} |
||||
|
} |
||||
|
|
||||
function clearEditSelected() { |
function clearEditSelected() { |
||||
$(".container").removeClass('class_color_container'); |
$(".container").removeClass('class_color_container'); |
||||
tinymce.remove(); |
tinymce.remove(); |
||||
$('.dpt-selected').removeClass('dpt-selected'); |
$('.dpt-selected').removeClass('dpt-selected'); |
||||
$('.dpt').css('min-height', ''); |
$('.dpt').css('min-height', ''); |
||||
$('.csform').remove(); |
$('.csform').remove(); |
||||
} |
} |
||||
|
|
||||
function reloadFunctionClicks() { |
function reloadFunctionClicks() { |
||||
$('.dpt .de, .btn-action, .btn-inserts, .btn-edit').off(); |
$('.dpt .de, .btn-action, .btn-inserts, .btn-edit').off(); |
||||
|
|
||||
$('.dpt .de, .btn-edit').on('click', clickEditDispositivo); |
|
||||
|
|
||||
$('.btn-action, .btn-inserts').on( |
$('.dpt .de, .btn-edit').on('click', clickEditDispositivo); |
||||
'click', clickUpdateDispositivo); |
|
||||
|
|
||||
|
$('.btn-action, .btn-inserts').on('click', clickUpdateDispositivo); |
||||
|
|
||||
$('#editdi_texto').focus(); |
$('#editdi_texto').focus(); |
||||
} |
} |
||||
|
|
||||
function initTinymce() { |
function initTinymce() { |
||||
|
|
||||
tinymce.init({ |
tinymce.init({ |
||||
mode : "textareas", |
mode : "textareas", |
||||
force_br_newlines : false, |
force_br_newlines : false, |
||||
force_p_newlines : false, |
force_p_newlines : false, |
||||
forced_root_block : '', |
forced_root_block : '', |
||||
plugins: ["table save code"], |
plugins: ["table save code"], |
||||
menubar: "edit format table tools", |
menubar: "edit format table tools", |
||||
toolbar: "save | undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent", |
toolbar: "save | undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent", |
||||
tools: "inserttable", |
tools: "inserttable", |
||||
save_onsavecallback: onSubmitEditForm, |
save_onsavecallback: onSubmitEditForm, |
||||
border_css: "/static/styles/compilacao_tinymce.css", |
border_css: "/static/styles/compilacao_tinymce.css", |
||||
content_css: "/static/styles/compilacao_tinymce.css" |
content_css: "/static/styles/compilacao_tinymce.css" |
||||
}); |
}); |
||||
} |
} |
||||
|
|
||||
|
//cookies
|
||||
|
function SetCookie(cookieName,cookieValue,nDays) { |
||||
|
var today = new Date(); |
||||
|
var expire = new Date(); |
||||
|
if (nDays==null || nDays==0) nDays=1; |
||||
|
expire.setTime(today.getTime() + 3600000*24*nDays); |
||||
|
document.cookie = cookieName+"="+escape(cookieValue) |
||||
|
+ ";expires="+expire.toGMTString(); |
||||
|
} |
||||
|
|
||||
|
function ReadCookie(cookieName) { |
||||
|
var theCookie=" "+document.cookie; |
||||
|
var ind=theCookie.indexOf(" "+cookieName+"="); |
||||
|
if (ind==-1) ind=theCookie.indexOf(";"+cookieName+"="); |
||||
|
if (ind==-1 || cookieName=="") return ""; |
||||
|
var ind1=theCookie.indexOf(";",ind+1); |
||||
|
if (ind1==-1) ind1=theCookie.length; |
||||
|
return unescape(theCookie.substring(ind+cookieName.length+2,ind1)); |
||||
|
} |
||||
|
|
||||
$(document).ready(function() { |
$(document).ready(function() { |
||||
|
|
||||
|
editortype = ReadCookie("editortype") |
||||
|
|
||||
|
if (editortype == null || editortype == "") { |
||||
|
editortype = "construct" |
||||
|
SetCookie("editortype", editortype, 30) |
||||
|
} |
||||
|
|
||||
reloadFunctionClicks(); |
reloadFunctionClicks(); |
||||
$("#message_block").css("display", "none"); |
$("#message_block").css("display", "none"); |
||||
|
|
||||
clickUpdateDispositivo(null, 60933, 'refresh', true); |
href = location.href.split('#') |
||||
|
if (href.length == 2) { |
||||
|
clickUpdateDispositivo(null, href[1], href[1], 'refresh', true); |
||||
|
} |
||||
|
|
||||
}); |
}); |
||||
|
Loading…
Reference in new issue