diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php
index e0dbec4c2..fea4199d5 100755
--- a/workflow/engine/classes/class.case.php
+++ b/workflow/engine/classes/class.case.php
@@ -5529,4 +5529,48 @@ class Cases {
$response['array']=$rows;
return $response;
}
+
+ function getCaseNotes($applicationID, $type = 'array',$userUid = '') {
+ require_once ( "classes/model/AppNotes.php" );
+ $appNotes = new AppNotes();
+ $appNotes = $appNotes->getNotesList($applicationID,$userUid);
+ $response = '';
+ if (is_array($appNotes)) {
+ switch ($type) {
+ case 'array':
+ $response = array();
+ foreach ($appNotes['array']['notes'] as $key => $value) {
+ $list = array();
+ $list['FULL_NAME'] = $value['USR_FIRSTNAME']." ".$value['USR_LASTNAME'];
+ foreach ($value as $keys => $value) {
+ if ($keys != 'USR_FIRSTNAME' && $keys != 'USR_LASTNAME' && $keys != 'USR_EMAIL') {
+ $list[$keys] = $value;
+ }
+ }
+ $response[$key+1] = $list;
+ }
+ break;
+ case 'object':
+ $response = new stdclass();
+ foreach ($appNotes['array']['notes'] as $key => $value) {
+ $response->$key->FULL_NAME = $value['USR_FIRSTNAME']." ".$value['USR_LASTNAME'];
+ foreach ($value as $keys => $value) {
+ if ($keys != 'USR_FIRSTNAME' && $keys != 'USR_LASTNAME' && $keys != 'USR_EMAIL') {
+ $response->$key->$keys = $value;
+ }
+ }
+ }
+ break;
+ case 'string':
+ $response = '';
+ foreach ($appNotes['array']['notes'] as $key => $value) {
+ $response .= $value['USR_FIRSTNAME']." ".$value['USR_LASTNAME']." "."(".$value['USR_USERNAME'].")".
+ " ".$value['NOTE_CONTENT']." "." (".$value['NOTE_DATE']." ) ".
+ " \n";
+ }
+ break;
+ }
+ }
+ return $response;
+ }
}
diff --git a/workflow/engine/classes/class.pmFunctions.php b/workflow/engine/classes/class.pmFunctions.php
index b0b7401f3..6d00c8a4b 100755
--- a/workflow/engine/classes/class.pmFunctions.php
+++ b/workflow/engine/classes/class.pmFunctions.php
@@ -1999,3 +1999,9 @@ function PMFGetUserEmailAddress($id, $APP_UID=null, $prefix='usr') {
return $aRecipient;
}
}
+
+function PMFGetCaseNotes ($applicationID, $type = 'array',$userUid = '') {
+ G::LoadClass('case');
+ $response = Cases::getCaseNotes($applicationID, $type, $userUid);
+ return $response;
+}
diff --git a/workflow/engine/classes/class.wsBase.php b/workflow/engine/classes/class.wsBase.php
index b1c6310cc..fe1e7bab5 100755
--- a/workflow/engine/classes/class.wsBase.php
+++ b/workflow/engine/classes/class.wsBase.php
@@ -2171,5 +2171,27 @@ class wsBase
return $result;
}
}
+
+ public function getCaseNotes ($applicationID, $userUid = '') {
+ try {
+ G::LoadClass('case');
+ $result = new wsGetCaseNotesResponse (0, G::loadTranslation('ID_SUCCESS'), Cases::getCaseNotes($applicationID, 'array', $userUid));
+ $var = array();
+ foreach ($result->notes as $key => $value) {
+ $var2 = array();
+ foreach ($value as $keys => $values) {
+ $field = strtolower($keys);
+ $var2[$field] = $values;
+ }
+ $var[] = $var2;
+ }
+ $result->notes = $var;
+ return $result;
+ }
+ catch ( Exception $e ) {
+ $result = new wsResponse (100, $e->getMessage());
+ return $result;
+ }
+ }
}
diff --git a/workflow/engine/classes/class.wsResponse.php b/workflow/engine/classes/class.wsResponse.php
index 22e814bf3..9fa7a21ba 100755
--- a/workflow/engine/classes/class.wsResponse.php
+++ b/workflow/engine/classes/class.wsResponse.php
@@ -182,4 +182,31 @@ class wsGetVariableResponse
$this->timestamp = date('Y-m-d H:i:s');
}
}
+
+/**
+ * Class wsGetCaseNotesResponse
+ * @package workflow.engine.classes
+ */
+class wsGetCaseNotesResponse
+{
+ public $status_code = 0;
+ public $message = '';
+ public $notes = null;
+ public $timestamp = '';
+
+ /**
+ * Function __construct
+ * Constructor of the class
+ * @param string $status
+ * @param string $message
+ * @param array|object|string $notes
+ * @return void
+ */
+ function __construct( $status, $message, $notes ) {
+ $this->status_code = $status;
+ $this->message = $message;
+ $this->notes = $notes;
+ $this->timestamp = date('Y-m-d H:i:s');
+ }
+}
?>
\ No newline at end of file
diff --git a/workflow/engine/classes/model/AppNotes.php b/workflow/engine/classes/model/AppNotes.php
index ba42c4e5f..52397a40a 100755
--- a/workflow/engine/classes/model/AppNotes.php
+++ b/workflow/engine/classes/model/AppNotes.php
@@ -15,7 +15,7 @@ require_once 'classes/model/om/BaseAppNotes.php';
*/
class AppNotes extends BaseAppNotes {
- function getNotesList($appUid, $usrUid, $start, $limit) {
+ function getNotesList($appUid, $usrUid = '', $start = '', $limit = '') {
require_once ( "classes/model/Users.php" );
G::LoadClass('ArrayPeer');
@@ -35,24 +35,28 @@ class AppNotes extends BaseAppNotes {
$Criteria->addSelectColumn(AppNotesPeer::NOTE_RECIPIENTS);
$Criteria->addSelectColumn(UsersPeer::USR_USERNAME);
$Criteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
- $Criteria->addSelectColumn(UsersPeer::USR_LASTNAME);
-
+ $Criteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$Criteria->addSelectColumn(UsersPeer::USR_EMAIL);
$Criteria->addJoin(AppNotesPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN);
$Criteria->add(appNotesPeer::APP_UID, $appUid, CRITERIA::EQUAL);
+
+ if ($usrUid != '') {
+ $Criteria->add(appNotesPeer::USR_UID, $usrUid, CRITERIA::EQUAL);
+ }
$Criteria->addDescendingOrderByColumn(AppNotesPeer::NOTE_DATE);
-
$response = array();
$totalCount = AppNotesPeer::doCount($Criteria);
$response['totalCount'] = $totalCount;
$response['notes'] = array();
- $Criteria->setLimit($limit);
- $Criteria->setOffset($start);
+ if ($start != '') {
+ $Criteria->setLimit($limit);
+ $Criteria->setOffset($start);
+ }
$oDataset = appNotesPeer::doSelectRS($Criteria);
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
diff --git a/workflow/engine/controllers/appProxy.php b/workflow/engine/controllers/appProxy.php
index 1fd9ce897..1d063b43c 100644
--- a/workflow/engine/controllers/appProxy.php
+++ b/workflow/engine/controllers/appProxy.php
@@ -35,7 +35,7 @@ class AppProxy extends HttpProxyController
$usrUid = isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : "";
$appNotes = new AppNotes();
- $response = $appNotes->getNotesList($appUid, $usrUid, $httpData->start, $httpData->limit);
+ $response = $appNotes->getNotesList($appUid, '', $httpData->start, $httpData->limit);
return $response['array'];
}
diff --git a/workflow/engine/controllers/home.php b/workflow/engine/controllers/home.php
old mode 100644
new mode 100755
index b37589cbd..95b3dd5dc
--- a/workflow/engine/controllers/home.php
+++ b/workflow/engine/controllers/home.php
@@ -224,7 +224,7 @@ class Home extends Controller
$cases['data'][$i]['APP_DEL_PREVIOUS_USER'] = ucwords($row['APP_DEL_PREVIOUS_USER']);
// Completting with Notes
- $notes = $appNotes->getNotesList($row['APP_UID'], $this->userID, $notesStart, $notesLimit);
+ $notes = $appNotes->getNotesList($row['APP_UID'], '', $notesStart, $notesLimit);
$notes = $notes['array'];
$cases['data'][$i]['NOTES_COUNT'] = $notes['totalCount'];
diff --git a/workflow/engine/methods/cases/caseNotesAjax.php b/workflow/engine/methods/cases/caseNotesAjax.php
index f13b38fee..70a2fd4b3 100755
--- a/workflow/engine/methods/cases/caseNotesAjax.php
+++ b/workflow/engine/methods/cases/caseNotesAjax.php
@@ -47,7 +47,7 @@ function getNotesList() {
}
$usrUid = (isset($_SESSION['USER_LOGGED'])) ? $_SESSION['USER_LOGGED'] : "";
$appNotes = new AppNotes();
- $response = $appNotes->getNotesList($appUid, $usrUid, $start, $limit);
+ $response = $appNotes->getNotesList($appUid, '', $start, $limit);
sendJsonResultGeneric($response['array'], $callback);
}
diff --git a/workflow/engine/methods/services/pmos2.wsdl b/workflow/engine/methods/services/pmos2.wsdl
index c56d30ce7..7e65e3d14 100755
--- a/workflow/engine/methods/services/pmos2.wsdl
+++ b/workflow/engine/methods/services/pmos2.wsdl
@@ -662,6 +662,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -838,6 +873,12 @@
+
+
+
+
+
+
@@ -892,7 +933,7 @@
-
+
@@ -967,6 +1008,11 @@
+
+
+
+
+
@@ -1253,6 +1299,16 @@
+
+
+
+
+
+
+
+
diff --git a/workflow/engine/methods/services/soap2.php b/workflow/engine/methods/services/soap2.php
index 4162be5b1..06f642c68 100755
--- a/workflow/engine/methods/services/soap2.php
+++ b/workflow/engine/methods/services/soap2.php
@@ -801,6 +801,17 @@
return $res;
}
+ function getCaseNotes( $params ) {
+ $vsResult = isValidSession($params->sessionId);
+ if( $vsResult->status_code !== 0 ){
+ return $vsResult;
+ }
+
+ $ws = new wsBase ();
+ $res = $ws->getCaseNotes( $params->applicationID ,$params->userUid);
+ return $res;
+ }
+
/*************/
#added By Erik AO in datetime 26.06.2008 10:00:00
@@ -884,5 +895,6 @@ $server->addFunction("ReassignCase");
$server->addFunction("systemInformation");
$server->addFunction("importProcessFromLibrary");
$server->addFunction("removeUserFromGroup");
+$server->addFunction("getCaseNotes");
$server->handle();