Merge pull request #1812 from victorsl/BUG-11632

BUG 11632 "Se puede saltar pasos sin verificar si existen..." SOLVED
This commit is contained in:
julceslauhub
2013-06-18 09:53:03 -07:00
2 changed files with 152 additions and 58 deletions

View File

@@ -109,6 +109,7 @@ class Ajax
$item['hrefTarget'] = 'casesSubFrame'; $item['hrefTarget'] = 'casesSubFrame';
$item['text'] = $step['title']; $item['text'] = $step['title'];
$item['url'] = '../' . $step['url']; $item['url'] = '../' . $step['url'];
$item["type"] = $step["type"];
switch ($step['type']) { switch ($step['type']) {
case 'DYNAFORM': case 'DYNAFORM':

View File

@@ -186,6 +186,8 @@ Ext.onReady(function(){
} }
if (typeof(treeToReviseTitle) == 'undefined') { if (typeof(treeToReviseTitle) == 'undefined') {
var loadMaskStep = new Ext.LoadMask(Ext.getBody(), {msg: _("ID_LOADING_GRID")});
var casesStepTree = new Ext.tree.TreePanel({ var casesStepTree = new Ext.tree.TreePanel({
id: 'casesStepTree', id: 'casesStepTree',
autoWidth: true, autoWidth: true,
@@ -204,10 +206,101 @@ Ext.onReady(function(){
render: function() { render: function() {
this.getRootNode().expand(); this.getRootNode().expand();
}, },
click: function(tp) { click: function (node, evt)
if( tp.attributes.url ){ {
document.getElementById('openCaseFrame').src = tp.attributes.url; var nodeCurrentSelected = this.getSelectionModel().getSelectedNode();
} var swNodeCurrentSelect = 0;
if (node.attributes.url) {
//Set load event
if (navigator.userAgent.toLowerCase().indexOf("msie") != -1) {
document.getElementById("openCaseFrame").onreadystatechange = function ()
{
if (document.getElementById("openCaseFrame").readyState == "complete") {
loadMaskStep.hide();
}
};
} else {
document.getElementById("openCaseFrame").onload = function ()
{
loadMaskStep.hide();
};
}
//Check step current
var swForm = 1;
if (nodeCurrentSelected.attributes.id == "-1") {
swForm = 0;
}
if (nodeCurrentSelected.attributes.type != "DYNAFORM") {
swForm = 0;
}
if (swForm == 1) {
var requiredField = "";
var swRequiredField = 1;
if (window.frames["openCaseFrame"].document.getElementById("DynaformRequiredFields")) {
requiredField = window.frames["openCaseFrame"].document.getElementById("DynaformRequiredFields").value;
if (requiredField != "") {
swRequiredField = (window.frames["openCaseFrame"].validateForm(requiredField))? 1 : 0;
}
}
if (swRequiredField == 1) {
Ext.MessageBox.show({
title: _("ID_CONFIRM"),
msg: _("ID_DYNAFORM_SAVE_CHANGES"),
icon: Ext.MessageBox.QUESTION,
buttons: {ok: _("ID_ACCEPT"), cancel: _("ID_CANCEL")},
fn: function (btn)
{
loadMaskStep.show();
if (btn == "ok") {
var frm = window.frames["openCaseFrame"].document.getElementsByTagName("form");
if (frm.length > 0) {
var result = window.frames["openCaseFrame"].ajax_post(
frm[0].action.replace("cases_SaveData", "saveForm"),
frm[0],
"POST",
function (responseText)
{
//Set URL and redirect
document.getElementById("openCaseFrame").src = node.attributes.url;
},
true
);
} else {
//Set URL and redirect
document.getElementById("openCaseFrame").src = node.attributes.url;
}
} else {
//Set URL and redirect
document.getElementById("openCaseFrame").src = node.attributes.url;
}
}
});
} else {
swNodeCurrentSelect = 1;
}
} else {
loadMaskStep.show();
//Set URL and redirect
document.getElementById("openCaseFrame").src = node.attributes.url;
}
} else {
swNodeCurrentSelect = 1;
}
if (swNodeCurrentSelect == 1) {
setTimeout(function () { setNode(nodeCurrentSelected.attributes.id); }, 1);
}
} }
} }
}) })