diff --git a/workflow/engine/classes/model/AppFolder.php b/workflow/engine/classes/model/AppFolder.php
index cc04b654b..8da08f5ae 100755
--- a/workflow/engine/classes/model/AppFolder.php
+++ b/workflow/engine/classes/model/AppFolder.php
@@ -24,7 +24,6 @@
*/
class AppFolder extends BaseAppFolder
{
-
/**
*
* @param string $folderName
@@ -86,6 +85,52 @@ class AppFolder extends BaseAppFolder
}
}
+ /**
+ * Update the application document registry
+ *
+ * @param array $aData
+ * @return string
+ *
+ */
+ public function update ($aData)
+ {
+ $oConnection = Propel::getConnection( AppDocumentPeer::DATABASE_NAME );
+ try {
+ $oAppFolder = AppFolderPeer::retrieveByPK( $aData['FOLDER_UID'] );
+ if (! is_null( $oAppFolder )) {
+ $oAppFolder->fromArray( $aData, BasePeer::TYPE_FIELDNAME );
+ if ($oAppFolder->validate()) {
+ $oConnection->begin();
+ if (isset( $aData['FOLDER_NAME'] )) {
+ $oAppFolder->setFolderName( $aData['FOLDER_NAME'] );
+ }
+ if (isset( $aData['FOLDER_UID'] )) {
+ $oAppFolder->setFolderUid( $aData['FOLDER_UID'] );
+ }
+ if (isset( $aData['FOLDER_UPDATE_DATE'] )) {
+ $oAppFolder->setFolderUpdateDate( $aData['FOLDER_UPDATE_DATE'] );
+ }
+ $iResult = $oAppFolder->save();
+ $oConnection->commit();
+ return $iResult;
+ } else {
+ $sMessage = '';
+ $aValidationFailures = $oAppFolder->getValidationFailures();
+ foreach ($aValidationFailures as $oValidationFailure) {
+ $sMessage .= $oValidationFailure->getMessage() . '
';
+ }
+ throw (new Exception( 'The registry cannot be updated!
' . $sMessage ));
+ }
+ } else {
+ throw (new Exception( 'This row doesn\'t exist!' ));
+ }
+ } catch (Exception $oError) {
+ $oConnection->rollback();
+ throw ($oError);
+ }
+ }
+
+
/**
*
* @param string $folderPath
diff --git a/workflow/engine/methods/appFolder/appFolderAjax.php b/workflow/engine/methods/appFolder/appFolderAjax.php
index 4cdfce319..ddea3f606 100755
--- a/workflow/engine/methods/appFolder/appFolderAjax.php
+++ b/workflow/engine/methods/appFolder/appFolderAjax.php
@@ -13,11 +13,42 @@ if (! function_exists ($_REQUEST ['action'])) {
die ();
}
-$functionName = $_REQUEST ['action'];
-$functionParams = isset ($_REQUEST ['params']) ? $_REQUEST ['params'] : array ();
+if (($_REQUEST['action']) != 'rename') {
+ $functionName = $_REQUEST ['action'];
+ $functionParams = isset ($_REQUEST ['params']) ? $_REQUEST ['params'] : array ();
+
+ $functionName ($functionParams);
+} else {
+ $functionName = 'renameFolder';
+ $functionParams = isset ($_REQUEST ['params']) ? $_REQUEST ['params'] : array ();
+ $oldname = $_REQUEST ['item'];
+ $newname = $_REQUEST ['newitemname'];
+ $uid = $_REQUEST ['selitems'];
+
+ $functionName ($oldname, $newname, $uid);
+}
-$functionName ($functionParams);
/////////////////////////////////////////////
+
+function renameFolder($oldname, $newname, $uid)
+{
+ $folder = new AppFolder();
+
+ //Clean Folder name (delete spaces...)
+ $newname = trim( $newname );
+
+ $fiels = array();
+
+ $fiels['FOLDER_UID'] = $uid[0];
+ $fiels['FOLDER_NAME'] = $newname;
+ $fiels['FOLDER_UPDATE_DATE'] = date('Y-m-d H:i:s');
+
+ $folder->update($fiels);
+
+ $msgLabel= G::LoadTranslation ('ID_EDIT_SUCCESSFULLY');
+ echo "{action: '', error:'error',message: '$msgLabel', success: 'success',folderUID: 'root'}";
+}
+
/**
* delete folders and documents
* created by carlos pacha carlos@colosa.com, pckrlos@gmail.com
diff --git a/workflow/engine/templates/cases/casesDocuments.js b/workflow/engine/templates/cases/casesDocuments.js
index 5f63c06d7..9cd6aeba0 100755
--- a/workflow/engine/templates/cases/casesDocuments.js
+++ b/workflow/engine/templates/cases/casesDocuments.js
@@ -73,6 +73,7 @@ streamFilefromPM=function(fileStream) {
};
var swHandleCallbackRootNodeLoad = 0;
+var dirTreeEd;
function rootNodeCreate()
{
@@ -298,7 +299,6 @@ function openActionDialog( caller, action ) {
case 'edit':
case 'newFolder':
case 'moveAction':
- case 'rename':
case 'search':
case 'uploadDocument':
requestParams = getRequestParams();
@@ -486,6 +486,9 @@ function openActionDialog( caller, action ) {
* messageText, false, true ); }else{ alert("sadasd"); }
*/
break;
+ case 'rename':
+ dirTreeEd.triggerEdit(Ext.getCmp('dirTreePanel').getSelectionModel().getSelectedNode());
+ break;
}
}
@@ -737,8 +740,8 @@ datastore = new Ext.data.Store({
url : "../appFolder/appFolderAjax.php",
directory : "/",
params : {
- start : 0,
- limit : 25,
+ start: 0,
+ limit: 100,
dir : this.directory,
node : this.directory,
option : "gridDocuments",
@@ -1082,11 +1085,11 @@ function filterDataStore(btn, e) {
}
// add a paging toolbar to the grid's footer
var gridbb = new Ext.PagingToolbar({
- store : datastore,
- pageSize : 25 ,
- displayInfo : true,
- // displayMsg : '% % %',
- emptyMsg : TRANSLATIONS.ID_DISPLAY_EMPTY,
+ store: datastore,
+ pageSize: 100,
+ displayInfo: true,
+ displayMsg: _("ID_DISPLAY_TOTAL"),
+ emptyMsg: _("ID_DISPLAY_EMPTY"),
beforePageText : TRANSLATIONS.ID_PAGE,
// afterPageText : 'of %',
firstText : TRANSLATIONS.ID_FIRST,
@@ -1299,8 +1302,8 @@ function loadDir() {
// console.trace();
datastore.load({
params : {
- start : 0,
- limit : 25,
+ start: 0,
+ limit: 100,
dir : datastore.directory,
node : datastore.directory,
option : 'gridDocuments',
@@ -1441,7 +1444,7 @@ function dirContext(node, e) {
// Unselect all files in the grid
ext_itemgrid.getSelectionModel().clearSelections();
- dirCtxMenu.items.get('dirCtxMenu_rename')[node.attributes.is_deletable ? 'disable': 'disable']();
+ dirCtxMenu.items.get('dirCtxMenu_rename')[node.attributes.is_deletable ? 'enable': 'disable']();
// dirCtxMenu.items.get('dirCtxMenu_remove')[node.attributes.is_deletable ? 'enable':'disable']();
dirCtxMenu.items.get('dirCtxMenu_remove')[permitodelete==1 && node.attributes.id!='root' ? 'show':'hide']();
@@ -1502,8 +1505,6 @@ var dirCtxMenu = new Ext.menu.Menu(
{
id : 'dirCtxMenu_rename',
iconCls: 'button_menu_ext ss_sprite ss_textfield_rename',// icon
- // :
- hidden: true, // '/images/documents/_fonts.png',
text : TRANSLATIONS.ID_RENAME,
handler : function() {
dirCtxMenu.hide();
@@ -1898,7 +1899,7 @@ var documentsTab = {
// create the editor for the directory
// tree
- var dirTreeEd = new Ext.tree.TreeEditor(
+ dirTreeEd = new Ext.tree.TreeEditor(
dirTree,
{
allowBlank : false,