diff --git a/workflow/engine/classes/class.wsTools.php b/workflow/engine/classes/class.wsTools.php index 01ef1b53b..c464d3aed 100755 --- a/workflow/engine/classes/class.wsTools.php +++ b/workflow/engine/classes/class.wsTools.php @@ -1162,7 +1162,11 @@ class workspaceTools $chgrp = @chgrp($filename, $group); $chmod = @chmod($filename, $perms); if ($chgrp === false || $chmod === false || $chown === false) { - CLI::logging(CLI::error("Failed to set permissions for $filename") . "\n"); + if (strtoupper( substr( PHP_OS, 0, 3 ) ) === 'WIN') { + exec( 'icacls ' . $dirNameWin . '/grant Administrador:(D,WDAC) /T', $res ); + } else { + CLI::logging(CLI::error("Failed to set permissions for $filename") . "\n"); + } } if (is_dir($filename)) { foreach (array_merge(glob($filename . "/*"), glob($filename . "/.*")) as $item) { diff --git a/workflow/engine/classes/model/AdditionalTables.php b/workflow/engine/classes/model/AdditionalTables.php index a3d291596..65cc7b5ca 100755 --- a/workflow/engine/classes/model/AdditionalTables.php +++ b/workflow/engine/classes/model/AdditionalTables.php @@ -383,12 +383,20 @@ class AdditionalTables extends BaseAdditionalTables eval('$fieldsTable = ' . $sClassPeerName . '::getFieldNames(BasePeer::TYPE_FIELDNAME);'); $countField = count($fieldsTable); $stringOr = '$oCriteria->add('; - $cont = 1; + $cont = 0; foreach ($fieldsTable as $value) { - if ($cont == $countField) { - $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "%' . $filter . '%", Criteria::LIKE)'; + if (($cont+1) == $countField) { + if ($aData['FIELDS'][$cont]['FLD_TYPE'] == 'VARCHAR') { + $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "%' . $filter . '%", Criteria::LIKE)'; + } else { + $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "' . $filter . '", Criteria::LIKE)'; + } } else { - $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "%' . $filter . '%", Criteria::LIKE)->addOr('; + if ($aData['FIELDS'][$cont]['FLD_TYPE'] == 'VARCHAR') { + $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "%' . $filter . '%", Criteria::LIKE)->addOr('; + } else { + $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "' . $filter . '", Criteria::LIKE)->addOr('; + } } $cont++; } diff --git a/workflow/engine/methods/dynaforms/fields_Save.php b/workflow/engine/methods/dynaforms/fields_Save.php index e946ce71f..c9a0c537c 100755 --- a/workflow/engine/methods/dynaforms/fields_Save.php +++ b/workflow/engine/methods/dynaforms/fields_Save.php @@ -236,7 +236,11 @@ foreach ($FieldAttributes as $key => $value) { case 'string': if (!empty($value)) { $FieldAttrib[strtolower($key)] = $value; - } + } else { + if ($_POST["form"]["TYPE"] == "link" && $key == "TARGET_SEL") { + $FieldAttrib[strtolower($key)] = $value; + } + } break; case 'integer': $FieldAttrib[strtolower($key)] = $value; diff --git a/workflow/engine/methods/tasks/tasks_Ajax.php b/workflow/engine/methods/tasks/tasks_Ajax.php index 9a5a6d4d8..7399c8b44 100755 --- a/workflow/engine/methods/tasks/tasks_Ajax.php +++ b/workflow/engine/methods/tasks/tasks_Ajax.php @@ -32,6 +32,7 @@ try { $response = array (); $oTask = new Task(); + $aTaskInfo = $oTask->load($aData['TAS_UID']); /** * routine to replace @amp@ by & @@ -46,7 +47,7 @@ try { if (isset( $aData['SEND_EMAIL'] )) { $aData['TAS_SEND_LAST_EMAIL'] = $aData['SEND_EMAIL'] == 'TRUE' ? 'TRUE' : 'FALSE'; } else { - $aTaskInfo = $oTask->load($aData['TAS_UID']); + //$aTaskInfo = $oTask->load($aData['TAS_UID']); $aData['TAS_SEND_LAST_EMAIL'] = is_null($aTaskInfo['TAS_SEND_LAST_EMAIL']) ? 'FALSE' : $aTaskInfo['TAS_SEND_LAST_EMAIL']; } @@ -65,22 +66,47 @@ try { } //Validating TAS_ASSIGN_VARIABLE value - + $sw = false; if (!isset($aData['TAS_ASSIGN_TYPE'])) { - $derivateType = $oTask->kgetassigType($_SESSION['PROCESS'],$aData['TAS_UID']); - if (is_null($derivateType)){ - $aData['TAS_ASSIGN_TYPE'] = 'BALANCED'; + $sw = true; + if (isset($aTaskInfo['TAS_ASSIGN_TYPE'])) { + switch($aTaskInfo['TAS_ASSIGN_TYPE']) { + case 'SELF_SERVICE': + case 'SELF_SERVICE_EVALUATE': + $aData['TAS_ASSIGN_TYPE'] = ($aTaskInfo['TAS_GROUP_VARIABLE'] == '') ? 'SELF_SERVICE':'SELF_SERVICE_EVALUATE'; + $aData['TAS_GROUP_VARIABLE'] = $aTaskInfo['TAS_GROUP_VARIABLE']; + break; + default: + $aData['TAS_ASSIGN_TYPE'] = $aTaskInfo['TAS_ASSIGN_TYPE']; + break; + } } else { - $aData['TAS_ASSIGN_TYPE'] = $derivateType['TAS_ASSIGN_TYPE']; + $derivateType = $oTask->kgetassigType($_SESSION['PROCESS'],$aData['TAS_UID']); + if (is_null($derivateType)){ + $aData['TAS_ASSIGN_TYPE'] = 'BALANCED'; + } else { + $aData['TAS_ASSIGN_TYPE'] = $derivateType['TAS_ASSIGN_TYPE']; + } } } - if ($aData['TAS_ASSIGN_TYPE'] == 'SELF_SERVICE_EVALUATE') { - $aData['TAS_ASSIGN_TYPE'] = 'SELF_SERVICE'; - if(trim($aData['TAS_GROUP_VARIABLE']) == '') { - $aData['TAS_GROUP_VARIABLE'] = '@@SYS_GROUP_TO_BE_ASSIGNED'; - } - } else { - $aData['TAS_GROUP_VARIABLE'] = ''; + switch($aData['TAS_ASSIGN_TYPE']) { + case 'SELF_SERVICE': + case 'SELF_SERVICE_EVALUATE': + if ($aData['TAS_ASSIGN_TYPE'] == 'SELF_SERVICE_EVALUATE') { + $aData['TAS_ASSIGN_TYPE'] = 'SELF_SERVICE'; + if(trim($aData['TAS_GROUP_VARIABLE']) == '') { + $aData['TAS_GROUP_VARIABLE'] = '@@SYS_GROUP_TO_BE_ASSIGNED'; + } + } else { + $aData['TAS_GROUP_VARIABLE'] = ''; + } + break; + default: + if (isset($aTaskInfo['TAS_ASSIGN_TYPE']) && $sw) { + $aData['TAS_ASSIGN_TYPE'] = $aTaskInfo['TAS_ASSIGN_TYPE']; + } + $aData['TAS_GROUP_VARIABLE'] = ''; + break; } $result = $oTask->update( $aData ); diff --git a/workflow/engine/templates/cases/casesDocuments.js b/workflow/engine/templates/cases/casesDocuments.js index 3e85ca323..b558c9b10 100755 --- a/workflow/engine/templates/cases/casesDocuments.js +++ b/workflow/engine/templates/cases/casesDocuments.js @@ -1911,6 +1911,9 @@ var documentsTab = { 'celldblclick' : { fn : function(grid, rowIndex, columnIndex, e) { + if (ext_itemgrid.getSelectionModel().getSelected().get('outDocGenerate') == '') { + openActionDialog(this, 'download', ''); + } if (Ext.isOpera) { // because Opera <= 9 // doesn't support the diff --git a/workflow/engine/xmlform/tasks/tasks_AssignmentRules.xml b/workflow/engine/xmlform/tasks/tasks_AssignmentRules.xml index 2d7ad6a0d..81b6f0591 100755 --- a/workflow/engine/xmlform/tasks/tasks_AssignmentRules.xml +++ b/workflow/engine/xmlform/tasks/tasks_AssignmentRules.xml @@ -143,6 +143,7 @@ if (aTaskFlag[1]) if (oTaskData.TAS_ASSIGN_TYPE == "SELF_SERVICE") { getField("TAS_ASSIGN_TYPE][SELF_SERVICE").checked = true; } else { + getField("TAS_GROUP_VARIABLE").value = oTaskData.TAS_GROUP_VARIABLE; if (getField("TAS_ASSIGN_TYPE][SELF_SERVICE_EVALUATE")) { getField("TAS_ASSIGN_TYPE][SELF_SERVICE_EVALUATE").checked = true; }