HOR-1709 "Documents, I can not move folder to root using the tree panel" SOLVED

Issue:
    Documents, I can not move folder to root using the tree panel
Cause:
    Error en ExtJS
Solution:
    Se soluciona el error en ExtJS
This commit is contained in:
Victor Saisa Lopez
2016-08-31 09:46:09 -04:00
parent 8c453e3ad6
commit 10fedbc853
2 changed files with 50 additions and 59 deletions

View File

@@ -1374,10 +1374,7 @@ function copyMoveExecuteTree($uidFolder, $newUidFolder)
{ {
require_once ("classes/model/AppDocument.php"); require_once ("classes/model/AppDocument.php");
require_once ('classes/model/AppFolder.php'); require_once ('classes/model/AppFolder.php');
if($newUidFolder==="root") {
return $newUidFolder;
}
$appFoder = new AppFolder (); $appFoder = new AppFolder ();
$folderContent = $appFoder->getFolderContent($uidFolder); $folderContent = $appFoder->getFolderContent($uidFolder);
$folderOrigin = $appFoder->getFolderStructure($uidFolder); $folderOrigin = $appFoder->getFolderStructure($uidFolder);
@@ -1417,7 +1414,7 @@ function copyMoveExecuteTree($uidFolder, $newUidFolder)
//Copy file //Copy file
$arrayPathFromFile = G::getPathFromFileUID($docInfo["APP_UID"], $docUid); $arrayPathFromFile = G::getPathFromFileUID($docInfo["APP_UID"], $docUid);
$newFile = $arrayPathFromFile[0] . PATH_SEP . $arrayPathFromFile[1] . "_" . $docInfo["DOC_VERSION"] . "." . $extension; $newFile = $arrayPathFromFile[0] . PATH_SEP . $arrayPathFromFile[1] . "_" . $docInfo["DOC_VERSION"] . "." . $extension;
if(!file_exists($path . $arrayPathFromFile[0])) { if(!file_exists($path . $arrayPathFromFile[0])) {
mkdir( $path . $arrayPathFromFile[0], 0777, true ); mkdir( $path . $arrayPathFromFile[0], 0777, true );
} }
@@ -1511,7 +1508,7 @@ function uploadExternalDocument()
$response['success']= 'success'; $response['success']= 'success';
$response['node'] = ''; $response['node'] = '';
$_POST ['node'] = ""; $_POST ['node'] = "";
$newFolderUid = checkTree($_REQUEST['dir'], $_REQUEST['new_dir']); $newFolderUid = checkTree($_REQUEST['dir'], ($_REQUEST['new_dir'] == 'root')? '/' : $_REQUEST['new_dir']);
} }
$_POST['selitems'] = array(); $_POST['selitems'] = array();
} else { } else {
@@ -1992,4 +1989,3 @@ function extPathName($p_path, $p_addtrailingslash = false)
} }
return $retval; return $retval;
} }

View File

@@ -550,8 +550,8 @@ function handleCallback(requestParams, node) {
} }
try { try {
if( typeof(dropEvent) != 'undefined' ) { if( typeof(dropEvent) != 'undefined' ) {
dropEvent.target.parentNode.reload(); Ext.getCmp("dirTreePanel").getRootNode().reload();
dropEvent = null; dropEvent = null;
} }
if( typeof(node) != 'undefined' ) { if( typeof(node) != 'undefined' ) {
if( options.params.action == 'delete' ) { if( options.params.action == 'delete' ) {
@@ -581,7 +581,7 @@ function handleCallback(requestParams, node) {
} }
} }
else { else {
Ext.Msg.alert( _('ID_ERROR'), _('ID_SERVER_COMMUNICATION_ERROR')); Ext.Msg.alert(_("ID_ERROR"), _("ID_SERVER_COMMUNICATION_ERROR"));
} }
} }
@@ -1459,7 +1459,7 @@ function rowContextMenu(grid, rowIndex, e, f) {
Ext.getCmp("showOrHiDirs").setText(_('ID_HIDE_DIRS')); Ext.getCmp("showOrHiDirs").setText(_('ID_HIDE_DIRS'));
showDirs = 'folders'; showDirs = 'folders';
} }
} }
gridCtxMenu.show(e.getTarget(), 'tr-br?'); gridCtxMenu.show(e.getTarget(), 'tr-br?');
@@ -1470,7 +1470,7 @@ gridCtxMenu = new Ext.menu.Menu({
items : [ { items : [ {
id : 'gc_rename', id : 'gc_rename',
iconCls: 'button_menu_ext ss_sprite ss_textfield_rename',// icon : iconCls: 'button_menu_ext ss_sprite ss_textfield_rename',// icon :
hidden : true, // '/images/documents/_fonts.png', hidden: true,
text : TRANSLATIONS.ID_RENAME, text : TRANSLATIONS.ID_RENAME,
handler : function() { handler : function() {
ext_itemgrid.onCellDblClick(ext_itemgrid, gsm.clickedRow, 0); ext_itemgrid.onCellDblClick(ext_itemgrid, gsm.clickedRow, 0);
@@ -1587,6 +1587,7 @@ function dirContext(node, e) {
function copymove(action) { function copymove(action) {
var s = dropEvent.data.selections, r = []; var s = dropEvent.data.selections, r = [];
if (s) { if (s) {
// Dragged from the Grid // Dragged from the Grid
requestParams = getRequestParams(); requestParams = getRequestParams();
@@ -1600,21 +1601,18 @@ function copymove(action) {
// alert('Move ' + dropEvent.data.node.id.replace( /_RRR_/g, '/' )+' to // alert('Move ' + dropEvent.data.node.id.replace( /_RRR_/g, '/' )+' to
// '+ dropEvent.target.id.replace( /_RRR_/g, '/' )); // '+ dropEvent.target.id.replace( /_RRR_/g, '/' ));
requestParams = getRequestParams(); requestParams = getRequestParams();
if (!((navigator.userAgent.indexOf("MSIE") != -1) || (navigator.userAgent.indexOf("Trident") != -1))) {
document.getElementById('ext-gen20').style.visibility='hidden';
document.getElementsByClassName('x-shadow')[0].style.visibility='hidden';
parent.frames[0].location.href="casesStartPage?action=documents";
}
requestParams.copyMove = 'all'; requestParams.copyMove = 'all';
//requestParams.dir = datastore.directory.substring(0, //requestParams.dir = datastore.directory.substring(0,
// datastore.directory.lastIndexOf('/')); // datastore.directory.lastIndexOf('/'));
requestParams.new_dir = dropEvent.target.id.replace(/_RRR_/g, '/'); requestParams.new_dir = dropEvent.target.id.replace(/_RRR_/g, '/');
requestParams.new_dir = requestParams.new_dir.replace(/ext_root/g, ''); requestParams.new_dir = requestParams.new_dir.replace(/ext_root/g, '');
requestParams.selitems = Array(dropEvent.data.node.id.replace(/_RRR_/g, requestParams.selitems = Array(dropEvent.data.node.id.replace(/_RRR_/g, "/"));
'/'));
requestParams.confirm = 'true'; requestParams.confirm = 'true';
requestParams.action = action; requestParams.action = action;
handleCallback(requestParams); handleCallback(requestParams);
requestParams.copyMove = ''; requestParams.copyMove = '';
requestParams.dir = ''; requestParams.dir = '';
} }
@@ -1739,12 +1737,9 @@ var copymoveCtxMenu = new Ext.menu.Menu({
} ] } ]
}); });
function copymoveCtx(e) { function copymoveCtx()
/*ctxMenu.items.get('remove')[node.attributes.allowDelete ? 'enable' : {
'disable'](); copymove("moveExecute");
copymoveCtxMenu.showAt(e.rawEvent.getXY());
copymoveCtxMenu.hide();*/
copymove('moveExecute');
} }
var loader = new Ext.tree.TreeLoader({ var loader = new Ext.tree.TreeLoader({
@@ -1833,37 +1828,11 @@ var treepanelmain = new Ext.tree.TreePanel({
return true; return true;
} }
}, },
'beforenodedrop' : { "nodedrop": function (e)
fn : function(e) { {
if (!((navigator.userAgent.indexOf("MSIE") != -1) || (navigator.userAgent.indexOf("Trident") != -1))) { dropEvent = e;
if(typeof e.target==="object" && e.target.id==="root"){ copymoveCtx();
e.dropStatus=true; datastore.reload();
return false;
}
setTimeout(
(function(e,datastore){
return function(){
dropEvent = e;
copymoveCtx(e);
datastore.load();
}
})(e,datastore),
0
);
}
e.dropStatus=true;
return false;
}
},
'nodedrop' : {
fn : function(e) {
return false;
}
},
'beforemove' : {
fn : function() {
return false;
}
} }
}, },
@@ -1889,7 +1858,34 @@ var documentsTab = {
xtype : "locationbar", xtype : "locationbar",
id : "locationbarcmp", id : "locationbarcmp",
height : 28, height : 28,
tree : Ext.getCmp("dirTreePanel") tree: Ext.getCmp("dirTreePanel"),
initComponent: function ()
{
if(this.tree) {
this.tree.getLoader().addListener('load',function(tl,node,resp){
if(node){
node.loaded=true;
this.setNode(node);
}
},this);
this.tree.getSelectionModel().addListener('selectionchange', function(sm, node) {
if (node === null) {
return;
}
if( node && node.id ) {
chDir( node.id, true );
}
if (node.isLeaf()==false && node.childNodes.length==0){
this.nodeJustLoaded=node;
this.setNode(node);
}else{
this.setNode(node);
}
}, this);
}
}
}, },
{ {
// region : "center", // region : "center",
@@ -2119,8 +2115,7 @@ Ext.onReady(function() {
var viewport = new Ext.Viewport({ var viewport = new Ext.Viewport({
layout : 'border', layout : 'border',
items : [treepanelmain, items: [treepanelmain, documentsTab]
documentsTab ]
}); });
// console.info("viewport -end"); // console.info("viewport -end");