Merge branch 'master' of git://github.com/colosa/processmaker into BUG-0000

This commit is contained in:
Victor Saisa Lopez
2013-04-24 10:52:52 -04:00
9 changed files with 500 additions and 260 deletions

View File

@@ -980,7 +980,7 @@ class Cases
require_once 'classes/model/AdditionalTables.php';
$oReportTables = new ReportTables();
$addtionalTables = new additionalTables();
if (!isset($Fields['APP_NUMBER'])) {
$Fields['APP_NUMBER'] = $appFields['APP_NUMBER'];
}
@@ -5085,7 +5085,13 @@ class Cases
$aCase = $this->loadCase($APP_UID);
$USER_PERMISSIONS = Array();
$GROUP_PERMISSIONS = Array();
$RESULT = Array("DYNAFORM" => Array(), "INPUT" => Array(), "OUTPUT" => Array(), "CASES_NOTES" => 0);
$RESULT = Array(
"DYNAFORM" => Array(),
"INPUT" => Array(),
"OUTPUT" => Array(),
"CASES_NOTES" => 0,
"MSGS_HISTORY" => Array()
);
//permissions per user
$oCriteria = new Criteria('workflow');
@@ -5342,6 +5348,37 @@ class Cases
case 'CASES_NOTES':
$RESULT['CASES_NOTES'] = 1;
break;
case 'MSGS_HISTORY':
// Permission
$RESULT['MSGS_HISTORY'] = array('PERMISSION' => $ACTION);
$delIndex = array();
if ($TASK_SOURCE != "" && (int)$TASK_SOURCE != 0) {
$oCriteria = new Criteria('workflow');
$oCriteria->add(AppDelegationPeer::APP_UID, $APP_UID);
$oCriteria->add(AppDelegationPeer::PRO_UID, $PRO_UID);
if ($aCase['APP_STATUS'] != 'COMPLETED') {
if ($TASK_SOURCE != '' && $TASK_SOURCE != "0" && $TASK_SOURCE != 0) {
$oCriteria->add(AppDelegationPeer::TAS_UID, $TASK_SOURCE);
}
}
$oCriteria->add(AppDelegationPeer::USR_UID, $USER);
$oDataset = AppDelegationPeer::doSelectRS($oCriteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
if ($TASK_SOURCE == $aRow['TAS_UID']) {
$delIndex[] = $aRow['DEL_INDEX'];
}
$oDataset->next();
}
$RESULT['MSGS_HISTORY'] = array_merge(array('DEL_INDEX' => $delIndex), $RESULT['MSGS_HISTORY']);
}
break;
}
}
}
@@ -5349,7 +5386,8 @@ class Cases
"DYNAFORMS" => $RESULT['DYNAFORM'],
"INPUT_DOCUMENTS" => $RESULT['INPUT'],
"OUTPUT_DOCUMENTS" => $RESULT['OUTPUT'],
"CASES_NOTES" => $RESULT['CASES_NOTES']
"CASES_NOTES" => $RESULT['CASES_NOTES'],
"MSGS_HISTORY" => $RESULT['MSGS_HISTORY']
);
}
@@ -6503,4 +6541,3 @@ class Cases
return false;
}
}

View File

@@ -3621,6 +3621,10 @@ class processMap
$sObjectType = G::LoadTranslation('ID_CASES_NOTES');
$sObject = 'N/A';
break;
case 'MSGS_HISTORY':
$sObjectType = G::LoadTranslation('MSGS_HISTORY');
$sObject = G::LoadTranslation('ID_ALL');
break;
default:
$sObjectType = G::LoadTranslation('ID_ALL');
$sObject = G::LoadTranslation('ID_ALL');
@@ -3635,8 +3639,7 @@ class processMap
//Obtain action (permission)
$sAction = G::LoadTranslation('ID_' . $aRow['OP_ACTION']);
//Add to array
$aObjectsPermissions[] = array('OP_UID' => $aRow['OP_UID'], 'TASK_TARGET' => $sTaskTarget, 'GROUP_USER' => $sUserGroup, 'TASK_SOURCE' => $sTaskSource, 'OBJECT_TYPE' => $sObjectType, 'OBJECT' => $sObject, 'PARTICIPATED' => $sParticipated, 'ACTION' => $sAction, 'OP_CASE_STATUS' => $aRow['OP_CASE_STATUS']
);
$aObjectsPermissions[] = array('OP_UID' => $aRow['OP_UID'], 'TASK_TARGET' => $sTaskTarget, 'GROUP_USER' => $sUserGroup, 'TASK_SOURCE' => $sTaskSource, 'OBJECT_TYPE' => $sObjectType, 'OBJECT' => $sObject, 'PARTICIPATED' => $sParticipated, 'ACTION' => $sAction, 'OP_CASE_STATUS' => $aRow['OP_CASE_STATUS']);
$oDataset->next();
}
global $_DBArray;
@@ -3894,8 +3897,12 @@ class processMap
global $G_PUBLISH;
$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'processes/processes_NewObjectPermission', '',
array('GROUP_USER' => $usersGroups, 'LANG' => SYS_LANG, 'PRO_UID' => $sProcessUID, 'ID_DELETE' => G::LoadTranslation('ID_DELETE')
), 'processes_SaveObjectPermission');
array('GROUP_USER' => $usersGroups,
'LANG' => SYS_LANG,
'PRO_UID' => $sProcessUID,
'ID_DELETE' => G::LoadTranslation('ID_DELETE'),
'ID_RESEND' => G::LoadTranslation('ID_RESEND')
), 'processes_SaveObjectPermission');
G::RenderPage('publish', 'raw');
return true;
}
@@ -4048,6 +4055,7 @@ class processMap
$aFields['GROUP_USER'] = $usersGroups;
$aFields['ID_DELETE'] = G::LoadTranslation('ID_DELETE');
$aFields['ID_RESEND'] = G::LoadTranslation('ID_RESEND');
global $G_PUBLISH;
$G_PUBLISH = new Publisher();

View File

@@ -965,7 +965,7 @@ class System
$res['SKIN_FOLDER_ID'] = strtolower( $folderId );
foreach ($skinInformationArray as $keyInfo => $infoValue) {
$res['SKIN_' . strtoupper( $keyInfo )] = $infoValue['__VALUE__'];
$res['SKIN_' . strtoupper( $keyInfo )] = (isset($infoValue['__VALUE__'])) ? $infoValue['__VALUE__'] : '';
}
$res['SKIN_CREATEDATE'] = (isset($res['SKIN_CREATEDATE'])) ? $res['SKIN_CREATEDATE']: '';
$res['SKIN_MODIFIEDDATE'] = (isset($res['SKIN_MODIFIEDDATE'])) ? $res['SKIN_MODIFIEDDATE']: '';

View File

@@ -25,11 +25,11 @@
$actionAjax = isset( $_REQUEST['actionAjax'] ) ? $_REQUEST['actionAjax'] : null;
if ($actionAjax == 'messageHistoryGridList_JXP') {
if (!isset($_REQUEST['start'])) {
$_REQUEST['start'] = 0;
}
if (!isset($_REQUEST['limit'])) {
$_REQUEST['limit'] = 20;
}
@@ -46,13 +46,44 @@ if ($actionAjax == 'messageHistoryGridList_JXP') {
$result = new stdClass();
$aProcesses = Array ();
foreach ($appMessageArray as $index => $value) {
if ($appMessageArray[$index]['APP_MSG_SHOW_MESSAGE'] == 1) {
$appMessageArray[$index]['ID_MESSAGE'] = $appMessageArray[$index]['APP_UID'] . '_' . $appMessageArray[$index]['APP_MSG_UID'];
$aProcesses[] = $appMessageArray[$index];
$proUid = $_SESSION['PROCESS'];
$appUid = $_SESSION['APPLICATION'];
$tasUid = $_SESSION['TASK'];
$usrUid = $_SESSION['USER_LOGGED'];
$respView = $oCase->getAllObjectsFrom( $proUid, $appUid, $tasUid, $usrUid, 'VIEW' );
$respBlock = $oCase->getAllObjectsFrom( $proUid, $appUid, $tasUid, $usrUid, 'BLOCK' );
$respResend = $oCase->getAllObjectsFrom( $proUid, $appUid, $tasUid, $usrUid, 'RESEND' );
$delIndex = array();
$respMess = "";
if (count($respView['MSGS_HISTORY'])>0) {
$respMess = $respView['MSGS_HISTORY']['PERMISSION'];
$delIndex = $respView['MSGS_HISTORY']['DEL_INDEX'];
} else {
if (count($respBlock['MSGS_HISTORY'])>0) {
$respMess = $respBlock['MSGS_HISTORY']['PERMISSION'];
$delIndex = $respView['MSGS_HISTORY']['DEL_INDEX'];
} else {
if (count($respResend['MSGS_HISTORY'])>0) {
$respMess = $respResend['MSGS_HISTORY']['PERMISSION'];
$delIndex = $respView['MSGS_HISTORY']['DEL_INDEX'];
}
}
}
foreach ($appMessageArray as $index => $value) {
if (($appMessageArray[$index]['APP_MSG_SHOW_MESSAGE'] == 1 && $respMess != 'BLOCK' ) &&
($appMessageArray[$index]['DEL_INDEX'] == 0 || in_array($appMessageArray[$index]['DEL_INDEX'], $delIndex ))) {
$appMessageArray[$index]['ID_MESSAGE'] = $appMessageArray[$index]['APP_UID'] . '_' . $appMessageArray[$index]['APP_MSG_UID'];
if ($respMess == 'BLOCK' || $respMess == '') {
$appMessageArray[$index]['APP_MSG_BODY'] = "";
}
$aProcesses[] = array_merge($appMessageArray[$index], array('MSGS_HISTORY' => $respMess));
}
}
$totalCount = 0;
foreach ($appMessageCountArray as $index => $value) {
if ($appMessageCountArray[$index]['APP_MSG_SHOW_MESSAGE'] == 1) {

View File

@@ -42,10 +42,11 @@ if ($access != 1) {
break;
}
}
if (isset( $_POST['form'] ))
if (isset( $_POST['form'] )) {
$sValue = $_POST['form']; //For old processmap
else
} else {
$sValue = $_POST; //For new processmap EXtjs
}
list ($iRelation, $sUserGroup) = explode( '|', $sValue['GROUP_USER'] );
@@ -69,8 +70,7 @@ switch ($sValue['OP_OBJ_TYPE']) {
}
require_once 'classes/model/ObjectPermission.php';
$oOP = new ObjectPermission();
$aData = array ('OP_UID' => G::generateUniqueID(),'PRO_UID' => $sValue['PRO_UID'],'TAS_UID' => $sValue['TAS_UID'],'USR_UID' => (string) $sUserGroup,'OP_USER_RELATION' => $iRelation,'OP_TASK_SOURCE' => $sValue['OP_TASK_SOURCE'],'OP_PARTICIPATE' => $sValue['OP_PARTICIPATE'],'OP_OBJ_TYPE' => $sValue['OP_OBJ_TYPE'],'OP_OBJ_UID' => $sObjectUID,'OP_ACTION' => $sValue['OP_ACTION'],'OP_CASE_STATUS' => $sValue['OP_CASE_STATUS']
);
$aData = array ('OP_UID' => G::generateUniqueID(),'PRO_UID' => $sValue['PRO_UID'],'TAS_UID' => $sValue['TAS_UID'],'USR_UID' => (string) $sUserGroup,'OP_USER_RELATION' => $iRelation,'OP_TASK_SOURCE' => $sValue['OP_TASK_SOURCE'],'OP_PARTICIPATE' => $sValue['OP_PARTICIPATE'],'OP_OBJ_TYPE' => $sValue['OP_OBJ_TYPE'],'OP_OBJ_UID' => $sObjectUID,'OP_ACTION' => $sValue['OP_ACTION'],'OP_CASE_STATUS' => $sValue['OP_CASE_STATUS']);
$oOP->fromArray( $aData, BasePeer::TYPE_FIELDNAME );
$oOP->save();
G::LoadClass( 'processMap' );

View File

@@ -49,14 +49,14 @@ function skinList ()
if (isset( $_REQUEST['activeskin'] )) {
$wildcard = '@';
}
$classicSkin = '';
if (defined('PARTNER_FLAG')) {
$classicSkin = '00000000000000000000000000000001';
}
foreach ($skinList['skins'] as $key => $value) {
if ($value['SKIN_ID'] != $classicSkin) {
if (!isset($value['SKIN_ID']) || $value['SKIN_ID'] != $classicSkin) {
if ($value['SKIN_FOLDER_ID'] != 'simplified' && $value['SKIN_FOLDER_ID'] != 'uxs' && $value['SKIN_FOLDER_ID'] != 'uxmodern') {
if ($skinList['currentSkin'] == $value['SKIN_FOLDER_ID']) {
$value['SKIN_STATUS'] = $wildcard . G::LoadTranslation( 'ID_ACTIVE' );

File diff suppressed because it is too large Load Diff

View File

@@ -44,6 +44,7 @@
<option name="INPUT">Input Document</option>
<option name="OUTPUT">Output Document</option>
<option name="CASES_NOTES">Cases Notes</option>
<option name="MSGS_HISTORY">Messages History</option>
</en>
</OP_OBJ_TYPE>
<ALL type="dropdown" mode="edit" sqlConnection="dbarray">
@@ -65,7 +66,10 @@
<en>Output Document<option name="">All</option></en>
</OUTPUTS>
<OP_ACTION type="dropdown" mode="edit">
<en>Permission<option name="VIEW">View</option><option name="BLOCK">Block</option></en>
<en>Permission
<option name="VIEW">View</option>
<option name="BLOCK">Block</option>
</en>
</OP_ACTION>
<BTN_CANCEL type="button" onclick="cancel();">
@@ -76,6 +80,7 @@
<en>Create</en>
</CREATE>
<ID_DELETE type="private"/>
<ID_RESEND type="private"/>
<JS type="javascript"><![CDATA[
var aOptions = [];
var getOptions = function() {
@@ -85,35 +90,33 @@ var getOptions = function() {
}
};
var rebuildOptions = function(sType) {
var oAux = getField('OP_ACTION');
while (oAux.options.length) {
oAux.remove(0);
}
for (var i = 0; i < aOptions.length; i++) {
var oOption = document.createElement('OPTION');
oOption.value = aOptions[i].value;
oOption.text = aOptions[i].label;
oAux.options.add(oOption);
}
switch (sType) {
case 'INPUT':
case 'OUTPUT':
var oAux = getField('OP_ACTION');
while (oAux.options.length) {
oAux.remove(0);
}
for (var i = 0; i < aOptions.length; i++) {
var oOption = document.createElement('OPTION');
oOption.value = aOptions[i].value;
oOption.text = aOptions[i].label;
oAux.options.add(oOption);
}
var oOption = document.createElement('OPTION');
oOption.value = 'DELETE';
oOption.text = '@#ID_DELETE';
oAux.options.add(oOption);
break
break;
case 'MSGS_HISTORY' :
var oOption = document.createElement('OPTION');
oOption.value = 'RESEND';
oOption.text = '@#ID_RESEND';
oAux.options.add(oOption);
break;
default:
var oAux = getField('OP_ACTION');
while (oAux.options.length) {
oAux.remove(0);
}
for (var i = 0; i < aOptions.length; i++) {
var oOption = document.createElement('OPTION');
oOption.value = aOptions[i].value;
oOption.text = aOptions[i].label;
oAux.options.add(oOption);
}
break;
}
};
@@ -179,6 +182,17 @@ leimnud.event.add(getField('OP_OBJ_TYPE'), 'change', function() {
hideRowById('OUTPUTS');
hideRowById('OP_ACTION');
break;
case 'MSGS_HISTORY':
getField('ALL').value = '';
getField('DYNAFORMS').value = '';
getField('INPUTS').value = '';
getField('OUTPUTS').value = (getField('OUTPUTS').options[0] ? getField('OUTPUTS').options[0].value : '');
hideRowById('ALL');
hideRowById('DYNAFORMS');
hideRowById('INPUTS');
hideRowById('OUTPUTS');
showRowById('OP_ACTION');
break;
}
rebuildOptions(vValue);
});