PMC-8
This commit is contained in:
@@ -7,6 +7,7 @@ use ProcessMaker\ChangeLog\ChangeLog;
|
||||
/*----------------------------------********---------------------------------*/
|
||||
use ProcessMaker\Core\System;
|
||||
use ProcessMaker\Plugins\PluginRegistry;
|
||||
use ProcessMaker\Util\DateTime;
|
||||
|
||||
/**
|
||||
* A Cases object where you can do start, load, update, refresh about cases
|
||||
@@ -7213,6 +7214,7 @@ class Cases
|
||||
* @param string $type
|
||||
* @param string $userUid
|
||||
* @return array|stdclass|string
|
||||
*
|
||||
*/
|
||||
public function getCaseNotes($applicationID, $type = 'array', $userUid = '')
|
||||
{
|
||||
@@ -7225,7 +7227,7 @@ class Cases
|
||||
if (is_array($appNotes)) {
|
||||
switch ($type) {
|
||||
case 'array':
|
||||
$response = array();
|
||||
$response = [];
|
||||
foreach ($appNotes['array']['notes'] as $key => $value) {
|
||||
$list = array();
|
||||
$list['FULL_NAME'] = $value['USR_FIRSTNAME'] . " " . $value['USR_LASTNAME'];
|
||||
@@ -7233,6 +7235,9 @@ class Cases
|
||||
if ($keys != 'USR_FIRSTNAME' && $keys != 'USR_LASTNAME' && $keys != 'USR_EMAIL') {
|
||||
$list[$keys] = $value;
|
||||
}
|
||||
if ($keys == 'NOTE_DATE') {
|
||||
$list[$keys] = DateTime::convertUtcToTimeZone($value);
|
||||
}
|
||||
}
|
||||
$response[$key + 1] = $list;
|
||||
}
|
||||
@@ -7245,6 +7250,9 @@ class Cases
|
||||
if ($keys != 'USR_FIRSTNAME' && $keys != 'USR_LASTNAME' && $keys != 'USR_EMAIL') {
|
||||
$response->$key->$keys = $value;
|
||||
}
|
||||
if ($keys == 'NOTE_DATE') {
|
||||
$response->$key->$keys = DateTime::convertUtcToTimeZone($value);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -7254,7 +7262,7 @@ class Cases
|
||||
$response .= $value['USR_FIRSTNAME'] . " " .
|
||||
$value['USR_LASTNAME'] . " " .
|
||||
"(" . $value['USR_USERNAME'] . ")" .
|
||||
" " . $value['NOTE_CONTENT'] . " " . " (" . $value['NOTE_DATE'] . " ) " .
|
||||
" " . $value['NOTE_CONTENT'] . " " . " (" . DateTime::convertUtcToTimeZone($value['NOTE_DATE']) . " ) " .
|
||||
" \n";
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
//require_once 'classes/model/om/BaseAppNotes.php';
|
||||
use ProcessMaker\Core\System;
|
||||
use ProcessMaker\Util\DateTime;
|
||||
|
||||
/**
|
||||
* Skeleton subclass for representing a row from the 'APP_NOTES' table.
|
||||
@@ -14,8 +14,33 @@ use ProcessMaker\Core\System;
|
||||
*
|
||||
* @package classes.model
|
||||
*/
|
||||
|
||||
class AppNotes extends BaseAppNotes
|
||||
{
|
||||
/**
|
||||
* Get the existing case notes information from a case
|
||||
*
|
||||
* @param string $appUid
|
||||
* @param string $usrUid
|
||||
* @param string $start
|
||||
* @param int $limit
|
||||
* @param string $sort
|
||||
* @param string $dir
|
||||
* @param string $dateFrom
|
||||
* @param string $dateTo
|
||||
* @param string $search
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @see \Cases->getCaseNotes()
|
||||
* @see \AppProxy->getNotesList()
|
||||
* @see \Home->getAppsData()
|
||||
* @see workflow/engine/methods/cases/caseNotesAjax.php->getNotesList()
|
||||
* @see \ProcessMaker\BusinessModel\Cases->getCaseNotes()
|
||||
* @see \ProcessMaker\Services\Api\Light->doGetCaseNotes()
|
||||
*
|
||||
* @link https://wiki.processmaker.com/3.2/Case_Notes#Viewing_Existing_Case_Notes
|
||||
*/
|
||||
public function getNotesList(
|
||||
$appUid,
|
||||
$usrUid = '',
|
||||
@@ -25,70 +50,71 @@ class AppNotes extends BaseAppNotes
|
||||
$dir = 'DESC',
|
||||
$dateFrom = '',
|
||||
$dateTo = '',
|
||||
$search = '')
|
||||
{
|
||||
$Criteria = new Criteria( 'workflow' );
|
||||
$Criteria->clearSelectColumns();
|
||||
$search = ''
|
||||
) {
|
||||
$criteria = new Criteria('workflow');
|
||||
$criteria->clearSelectColumns();
|
||||
|
||||
$Criteria->addSelectColumn( AppNotesPeer::APP_UID );
|
||||
$Criteria->addSelectColumn( AppNotesPeer::USR_UID );
|
||||
$Criteria->addSelectColumn( AppNotesPeer::NOTE_DATE );
|
||||
$Criteria->addSelectColumn( AppNotesPeer::NOTE_CONTENT );
|
||||
$Criteria->addSelectColumn( AppNotesPeer::NOTE_TYPE );
|
||||
$Criteria->addSelectColumn( AppNotesPeer::NOTE_AVAILABILITY );
|
||||
$Criteria->addSelectColumn( AppNotesPeer::NOTE_ORIGIN_OBJ );
|
||||
$Criteria->addSelectColumn( AppNotesPeer::NOTE_AFFECTED_OBJ1 );
|
||||
$Criteria->addSelectColumn( AppNotesPeer::NOTE_AFFECTED_OBJ2 );
|
||||
$Criteria->addSelectColumn( AppNotesPeer::NOTE_RECIPIENTS );
|
||||
$Criteria->addSelectColumn( UsersPeer::USR_USERNAME );
|
||||
$Criteria->addSelectColumn( UsersPeer::USR_FIRSTNAME );
|
||||
$Criteria->addSelectColumn( UsersPeer::USR_LASTNAME );
|
||||
$Criteria->addSelectColumn( UsersPeer::USR_EMAIL );
|
||||
$criteria->addSelectColumn(AppNotesPeer::APP_UID);
|
||||
$criteria->addSelectColumn(AppNotesPeer::USR_UID);
|
||||
$criteria->addSelectColumn(AppNotesPeer::NOTE_DATE);
|
||||
$criteria->addSelectColumn(AppNotesPeer::NOTE_CONTENT);
|
||||
$criteria->addSelectColumn(AppNotesPeer::NOTE_TYPE);
|
||||
$criteria->addSelectColumn(AppNotesPeer::NOTE_AVAILABILITY);
|
||||
$criteria->addSelectColumn(AppNotesPeer::NOTE_ORIGIN_OBJ);
|
||||
$criteria->addSelectColumn(AppNotesPeer::NOTE_AFFECTED_OBJ1);
|
||||
$criteria->addSelectColumn(AppNotesPeer::NOTE_AFFECTED_OBJ2);
|
||||
$criteria->addSelectColumn(AppNotesPeer::NOTE_RECIPIENTS);
|
||||
$criteria->addSelectColumn(UsersPeer::USR_USERNAME);
|
||||
$criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
|
||||
$criteria->addSelectColumn(UsersPeer::USR_LASTNAME);
|
||||
$criteria->addSelectColumn(UsersPeer::USR_EMAIL);
|
||||
|
||||
$Criteria->addJoin( AppNotesPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN );
|
||||
$criteria->addJoin(AppNotesPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
|
||||
|
||||
$Criteria->add( AppNotesPeer::APP_UID, $appUid, Criteria::EQUAL );
|
||||
$criteria->add(AppNotesPeer::APP_UID, $appUid, Criteria::EQUAL);
|
||||
|
||||
if ($usrUid != '') {
|
||||
$Criteria->add( AppNotesPeer::USR_UID, $usrUid, Criteria::EQUAL );
|
||||
$criteria->add(AppNotesPeer::USR_UID, $usrUid, Criteria::EQUAL);
|
||||
}
|
||||
if ($dateFrom != '') {
|
||||
$Criteria->add( AppNotesPeer::NOTE_DATE, $dateFrom, Criteria::GREATER_EQUAL );
|
||||
$criteria->add(AppNotesPeer::NOTE_DATE, $dateFrom, Criteria::GREATER_EQUAL);
|
||||
}
|
||||
if ($dateTo != '') {
|
||||
$Criteria->add( AppNotesPeer::NOTE_DATE, $dateTo, Criteria::LESS_EQUAL );
|
||||
$criteria->add(AppNotesPeer::NOTE_DATE, $dateTo, Criteria::LESS_EQUAL);
|
||||
}
|
||||
if ($search != '') {
|
||||
$Criteria->add( AppNotesPeer::NOTE_CONTENT, '%'.$search.'%', Criteria::LIKE );
|
||||
$criteria->add(AppNotesPeer::NOTE_CONTENT, '%' . $search . '%', Criteria::LIKE);
|
||||
}
|
||||
|
||||
if ($dir == 'DESC') {
|
||||
$Criteria->addDescendingOrderByColumn($sort);
|
||||
$criteria->addDescendingOrderByColumn($sort);
|
||||
} else {
|
||||
$Criteria->addAscendingOrderByColumn($sort);
|
||||
$criteria->addAscendingOrderByColumn($sort);
|
||||
}
|
||||
|
||||
$response = array ();
|
||||
$totalCount = AppNotesPeer::doCount( $Criteria );
|
||||
$response = [];
|
||||
$totalCount = AppNotesPeer::doCount($criteria);
|
||||
$response['totalCount'] = $totalCount;
|
||||
$response['notes'] = array ();
|
||||
$response['notes'] = [];
|
||||
|
||||
if ($start != '') {
|
||||
$Criteria->setLimit( $limit );
|
||||
$Criteria->setOffset( $start );
|
||||
$criteria->setLimit($limit);
|
||||
$criteria->setOffset($start);
|
||||
}
|
||||
|
||||
$oDataset = appNotesPeer::doSelectRS( $Criteria );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDataset->next();
|
||||
$dataset = AppNotesPeer::doSelectRS($criteria);
|
||||
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$dataset->next();
|
||||
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$aRow['NOTE_CONTENT'] = stripslashes($aRow['NOTE_CONTENT']);
|
||||
$response['notes'][] = $aRow;
|
||||
$oDataset->next();
|
||||
while ($row = $dataset->getRow()) {
|
||||
$row['NOTE_CONTENT'] = stripslashes($row['NOTE_CONTENT']);
|
||||
$response['notes'][] = $row;
|
||||
$dataset->next();
|
||||
}
|
||||
|
||||
$result['criteria'] = $Criteria;
|
||||
$result = [];
|
||||
$result['criteria'] = $criteria;
|
||||
$result['array'] = $response;
|
||||
|
||||
return $result;
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
<?php
|
||||
use ProcessMaker\Util\DateTime;
|
||||
|
||||
if (!isset($_SESSION['USER_LOGGED'])) {
|
||||
$response = new stdclass();
|
||||
$response->message = G::LoadTranslation('ID_LOGIN_AGAIN');
|
||||
@@ -23,7 +25,14 @@ class AppProxy extends HttpProxyController
|
||||
* @param int $httpData->start
|
||||
* @param int $httpData->limit
|
||||
* @param string $httpData->appUid (optionalif it is not passed try use $_SESSION['APPLICATION'])
|
||||
* @return array containg the case notes
|
||||
* @return array containing the case notes
|
||||
*
|
||||
* @see workflow/engine/methods/cases/open.php
|
||||
* @see workflow/engine/methods/cases/casesListExtJs.php
|
||||
* @see workflow/engine/methods/cases/casesConsolidatedListExtJs.php
|
||||
*
|
||||
* @link https://wiki.processmaker.com/3.2/Case_Notes
|
||||
* @link https://wiki.processmaker.com/3.2/Cases/Case_Notes
|
||||
*/
|
||||
function getNotesList($httpData)
|
||||
{
|
||||
@@ -66,8 +75,7 @@ class AppProxy extends HttpProxyController
|
||||
$httpData->pro = $caseLoad['PRO_UID'];
|
||||
}
|
||||
|
||||
if(!isset($httpData->pro) || empty($httpData->pro) )
|
||||
{
|
||||
if (!isset($httpData->pro) || empty($httpData->pro)) {
|
||||
$proUid = $_SESSION['PROCESS'];
|
||||
} else {
|
||||
$proUid = $httpData->pro;
|
||||
@@ -84,8 +92,11 @@ class AppProxy extends HttpProxyController
|
||||
$respBlock = $case->getAllObjectsFrom($proUid, $appUid, $tasUid, $usrUid, "BLOCK", $delIndex);
|
||||
|
||||
if ($respView['CASES_NOTES'] == 0 && $respBlock['CASES_NOTES'] == 0) {
|
||||
return array ('totalCount' => 0,'notes' => array (),'noPerms' => 1
|
||||
);
|
||||
return [
|
||||
'totalCount' => 0,
|
||||
'notes' => [],
|
||||
'noPerms' => 1
|
||||
];
|
||||
}
|
||||
|
||||
$usrUid = isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : "";
|
||||
@@ -93,6 +104,12 @@ class AppProxy extends HttpProxyController
|
||||
$response = $appNotes->getNotesList($appUid, '', $httpData->start, $httpData->limit);
|
||||
$response = AppNotes::applyHtmlentitiesInNotes($response);
|
||||
|
||||
$iterator = 0;
|
||||
foreach ($response['array']['notes'] as $value) {
|
||||
$response ['array']['notes'][$iterator]['NOTE_DATE'] = DateTime::convertUtcToTimeZone($value['NOTE_DATE']);
|
||||
$iterator++;
|
||||
}
|
||||
|
||||
require_once("classes/model/Application.php");
|
||||
$oApplication = new Application();
|
||||
$aApplication = $oApplication->Load($appUid);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use ProcessMaker\Core\System;
|
||||
use ProcessMaker\Util\DateTime;
|
||||
|
||||
/**
|
||||
* Home controller
|
||||
@@ -359,6 +360,29 @@ class Home extends Controller
|
||||
$this->render();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the cases information
|
||||
*
|
||||
* @param string $type
|
||||
* @param integer $start
|
||||
* @param integer $limit
|
||||
* @param string $user
|
||||
* @param string $filter
|
||||
* @param string $search
|
||||
* @param string $process
|
||||
* @param string $status
|
||||
* @param string $dateFrom
|
||||
* @param string $dateTo
|
||||
* @param string $callback
|
||||
* @param string $dir
|
||||
* @param string $sort
|
||||
* @param string $category
|
||||
* @return array
|
||||
*
|
||||
* @see \Home->appAdvancedSearch()
|
||||
* @see \Home->appList()
|
||||
* @see \Home->getApps()
|
||||
*/
|
||||
public function getAppsData(
|
||||
$type,
|
||||
$start = null,
|
||||
@@ -528,7 +552,8 @@ class Home extends Controller
|
||||
$cases['data'][$i]['DEL_DELEGATE_DATE'] = '';
|
||||
if (!empty(config("system.workspace"))) {
|
||||
if (isset($generalConfCasesList['casesListDateFormat']) && !empty($generalConfCasesList['casesListDateFormat'])) {
|
||||
$cases['data'][$i]['DEL_DELEGATE_DATE'] = $conf->getSystemDate($row['DEL_DELEGATE_DATE'], 'casesListDateFormat');
|
||||
$cases['data'][$i]['DEL_DELEGATE_DATE'] = $conf->getSystemDate($row['DEL_DELEGATE_DATE'],
|
||||
'casesListDateFormat');
|
||||
}
|
||||
}
|
||||
if ($cases['data'][$i]['DEL_DELEGATE_DATE'] == '') {
|
||||
@@ -542,6 +567,12 @@ class Home extends Controller
|
||||
$notes = $appNotes->getNotesList($row['APP_UID'], '', $notesStart, $notesLimit);
|
||||
$notes = AppNotes::applyHtmlentitiesInNotes($notes);
|
||||
|
||||
$iterator = 0;
|
||||
foreach ($notes['array']['notes'] as $val) {
|
||||
$notes ['array']['notes'][$iterator]['NOTE_DATE'] = DateTime::convertUtcToTimeZone($val['NOTE_DATE']);
|
||||
$iterator++;
|
||||
}
|
||||
|
||||
$notes = $notes['array'];
|
||||
|
||||
$cases['data'][$i]['NOTES_COUNT'] = $notes['totalCount'];
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
<?php
|
||||
/**
|
||||
* @deprecated This file is not used anymore, it will be removed in future versions of PM
|
||||
*/
|
||||
|
||||
if (! isset( $_REQUEST['action'] )) {
|
||||
$res['success'] = 'failure';
|
||||
$res['message'] = 'You may request an action';
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use ProcessMaker\Util\ParseSoapVariableName;
|
||||
use ProcessMaker\Util\DateTime;
|
||||
|
||||
ini_set("soap.wsdl_cache_enabled", 0); //disabling WSDL cache
|
||||
|
||||
@@ -923,6 +924,13 @@ function systemInformation($params)
|
||||
return $res;
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtains the cases notes in a soap call
|
||||
*
|
||||
* @param $params
|
||||
* @return WsGetCaseNotesResponse|WsResponse
|
||||
*
|
||||
*/
|
||||
function getCaseNotes($params)
|
||||
{
|
||||
$vsResult = isValidSession($params->sessionId);
|
||||
@@ -934,6 +942,11 @@ function getCaseNotes($params)
|
||||
$ws = new WsBase();
|
||||
$res = $ws->getCaseNotes($params->applicationID, $params->userUid);
|
||||
|
||||
foreach ($res->notes as $key => $value) {
|
||||
$res->notes[$key]['note_date'] = DateTime::convertUtcToTimeZone($res->notes[$key]['note_date']);
|
||||
|
||||
}
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user