Merge remote branch 'upstream/master'
This commit is contained in:
@@ -33,7 +33,7 @@ class WebApplication
|
||||
*/
|
||||
public function setRootDir($rootDir)
|
||||
{
|
||||
$this->rootDir = $rootDir;
|
||||
$this->rootDir = rtrim($rootDir, DS);
|
||||
$this->workflowDir = $rootDir . DS . "workflow" . DS;
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@ class WebApplication
|
||||
*/
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
|
||||
require_once $this->rootDir . "framework/src/Maveriks/Extension/Restler/UploadFormat.php";
|
||||
require_once $this->rootDir . "/framework/src/Maveriks/Extension/Restler/UploadFormat.php";
|
||||
|
||||
// $servicesDir contains directory where Services Classes are allocated
|
||||
$servicesDir = $this->workflowDir . 'engine' . DS . 'src' . DS . 'ProcessMaker' . DS . 'Services' . DS;
|
||||
@@ -383,7 +383,7 @@ class WebApplication
|
||||
PATH_RBAC_CORE . PATH_SEPARATOR .
|
||||
get_include_path()
|
||||
);
|
||||
|
||||
///print_r(get_include_path()); die;
|
||||
|
||||
/*
|
||||
* Setting Up Workspace
|
||||
|
||||
@@ -31,8 +31,7 @@
|
||||
require_once 'classes/model/om/BaseRbacUsersPeer.php';
|
||||
|
||||
// include object class
|
||||
include_once 'classes/model/RbacUsers.php';
|
||||
|
||||
//include_once 'classes/model/RbacUsers.php';
|
||||
|
||||
/**
|
||||
* Skeleton subclass for performing query and update operations on the 'USERS' table.
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
require_once 'classes/model/om/BaseUsersRolesPeer.php';
|
||||
|
||||
// include object class
|
||||
include_once 'classes/model/UsersRoles.php';
|
||||
//include_once 'classes/model/UsersRoles.php';
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
require_once 'propel/util/BasePeer.php';
|
||||
// The object class -- needed for instanceof checks in this class.
|
||||
// actual class may be a subclass -- as returned by RbacUsersPeer::getOMClass()
|
||||
include_once 'classes/model/RbacUsers.php';
|
||||
//include_once 'classes/model/RbacUsers.php';
|
||||
|
||||
/**
|
||||
* Base static class for performing query and update operations on the 'USERS' table.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
require_once 'propel/util/BasePeer.php';
|
||||
// The object class -- needed for instanceof checks in this class.
|
||||
// actual class may be a subclass -- as returned by UsersRolesPeer::getOMClass()
|
||||
include_once 'classes/model/UsersRoles.php';
|
||||
//include_once 'classes/model/UsersRoles.php';
|
||||
|
||||
/**
|
||||
* Base static class for performing query and update operations on the 'USERS_ROLES' table.
|
||||
|
||||
@@ -1269,7 +1269,12 @@ class adminProxy extends HttpProxyController
|
||||
$data = array('info' => array());
|
||||
$pmRestClient = OauthClientsPeer::retrieveByPK('x-pm-local-client');
|
||||
$status = ! empty($pmRestClient);
|
||||
$row = $pmRestClient->toArray(BasePeer::TYPE_FIELDNAME);
|
||||
|
||||
if ($status) {
|
||||
$row = $pmRestClient->toArray(BasePeer::TYPE_FIELDNAME);
|
||||
} else {
|
||||
$row = array("CLIENT_ID" => '');
|
||||
}
|
||||
|
||||
$data['info'] = array(
|
||||
array(
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -456,7 +456,7 @@ class Table
|
||||
public function saveTableData ($pmt_uid, $pmt_data)
|
||||
{
|
||||
$pmt_uid = $this->validateTabUid($pmt_uid, false);
|
||||
$rows = $pmt_data['pmt_rows'];
|
||||
$rows = $pmt_data;
|
||||
|
||||
$additionalTables = new AdditionalTables();
|
||||
$table = $additionalTables->load($pmt_uid, true);
|
||||
@@ -570,7 +570,7 @@ class Table
|
||||
public function updateTableData($pmt_uid, $pmt_data)
|
||||
{
|
||||
$pmt_uid = $this->validateTabUid($pmt_uid, false);
|
||||
$rows = $pmt_data['pmt_rows'];
|
||||
$rows = $pmt_data;
|
||||
$rows = array_merge( array_change_key_case( $rows, CASE_LOWER ), array_change_key_case( $rows, CASE_UPPER ) );
|
||||
|
||||
$oAdditionalTables = new AdditionalTables();
|
||||
|
||||
@@ -226,6 +226,18 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
if ($event && $event->getEvnType() == "START") {
|
||||
$this->wp->setStartTask($data["FLO_ELEMENT_DEST"]);
|
||||
}
|
||||
|
||||
// update case scheduler
|
||||
if ($event && $event->getEvnType() == "START" && $event->getEvnMarker() == "TIMER") {
|
||||
$aData = array('TAS_UID'=>$data["FLO_ELEMENT_DEST"], 'SCH_UID'=>$data["FLO_ELEMENT_ORIGIN"]);
|
||||
$this->wp->updateCaseScheduler($aData);
|
||||
}
|
||||
|
||||
// update web entry
|
||||
if ($event && $event->getEvnType() == "START" && $event->getEvnMarker() == "MESSAGE") {
|
||||
$aData = array('TAS_UID'=>$data["FLO_ELEMENT_DEST"], 'WE_UID'=>$data["FLO_ELEMENT_ORIGIN"]);
|
||||
$this->wp->updateWebEntry($aData);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -271,6 +283,25 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
$this->wp->setStartTask($activity->getActUid(), false);
|
||||
}
|
||||
}
|
||||
|
||||
// update case scheduler
|
||||
if (! is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "TIMER") {
|
||||
$aData = array(
|
||||
'TAS_UID'=>'',
|
||||
'SCH_UID'=>$flow->getFloElementOrigin()
|
||||
);
|
||||
$this->wp->updateCaseScheduler($aData);
|
||||
}
|
||||
|
||||
// update web entry
|
||||
if (! is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "MESSAGE") {
|
||||
$aData = array(
|
||||
'TAS_UID'=>'',
|
||||
'WE_UID'=>$flow->getFloElementOrigin()
|
||||
);
|
||||
$this->wp->updateWebEntry($aData);
|
||||
}
|
||||
|
||||
} elseif ($flow->getFloElementOriginType() == "bpmnActivity" &&
|
||||
$flow->getFloElementDestType() == "bpmnEvent") {
|
||||
// verify case: activity -> event(end)
|
||||
@@ -306,7 +337,38 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
throw new \RuntimeException("Required param \"EVN_TYPE\" is missing.");
|
||||
}
|
||||
|
||||
return parent::addEvent($data);
|
||||
$eventUid = parent::addEvent($data);
|
||||
$event = \BpmnEventPeer::retrieveByPK($eventUid);
|
||||
|
||||
// create case scheduler
|
||||
if ($event && $event->getEvnMarker() == "TIMER" && $event->getEvnType() == "START") {
|
||||
$this->wp->addCaseScheduler($eventUid);
|
||||
}
|
||||
|
||||
// create web entry
|
||||
if ($event && $event->getEvnMarker() == "MESSAGE" && $event->getEvnType() == "START") {
|
||||
$this->wp->addWebEntry($eventUid);
|
||||
}
|
||||
|
||||
return $eventUid;
|
||||
}
|
||||
|
||||
public function removeEvent($data)
|
||||
{
|
||||
|
||||
$event = \BpmnEventPeer::retrieveByPK($data);
|
||||
|
||||
// delete case scheduler
|
||||
if ($event && $event->getEvnMarker() == "TIMER" && $event->getEvnType() == "START") {
|
||||
$this->wp->removeCaseScheduler($data);
|
||||
}
|
||||
|
||||
// delete web entry
|
||||
if ($event && $event->getEvnMarker() == "MESSAGE" && $event->getEvnType() == "START") {
|
||||
$this->wp->removeWebEntry($data);
|
||||
}
|
||||
|
||||
parent::removeEvent($data);
|
||||
}
|
||||
|
||||
public function mapBpmnFlowsToWorkflowRoutes()
|
||||
|
||||
@@ -580,9 +580,10 @@ class Bpmn extends Handler
|
||||
case "bpmnActivity": $class = "BpmnActivity"; break;
|
||||
case "bpmnGateway": $class = "BpmnGateway"; break;
|
||||
case "bpmnEvent": $class = "BpmnEvent"; break;
|
||||
case "bpmnArtifact": $class = "BpmnArtifact"; break;
|
||||
default:
|
||||
throw new \RuntimeException(sprintf("Invalid Object type, accepted types: [%s|%s|%s], given %s.",
|
||||
"BpmnActivity", "BpmnBpmnGateway", "BpmnEvent", $data["FLO_ELEMENT_ORIGIN_TYPE"]
|
||||
throw new \RuntimeException(sprintf("Invalid Object type, accepted types: [%s|%s|%s|%s], given %s.",
|
||||
"BpmnActivity", "BpmnBpmnGateway", "BpmnEvent", "bpmnArtifact", $data["FLO_ELEMENT_ORIGIN_TYPE"]
|
||||
));
|
||||
}
|
||||
|
||||
@@ -597,9 +598,10 @@ class Bpmn extends Handler
|
||||
case "bpmnActivity": $class = "BpmnActivity"; break;
|
||||
case "bpmnGateway": $class = "BpmnGateway"; break;
|
||||
case "bpmnEvent": $class = "BpmnEvent"; break;
|
||||
case "bpmnArtifact": $class = "BpmnArtifact"; break;
|
||||
default:
|
||||
throw new \RuntimeException(sprintf("Invalid Object type, accepted types: [%s|%s|%s], given %s.",
|
||||
"BpmnActivity", "BpmnBpmnGateway", "BpmnEvent", $data["FLO_ELEMENT_DEST_TYPE"]
|
||||
throw new \RuntimeException(sprintf("Invalid Object type, accepted types: [%s|%s|%s|%s], given %s.",
|
||||
"BpmnActivity", "BpmnBpmnGateway", "BpmnEvent", "bpmnArtifact", $data["FLO_ELEMENT_DEST_TYPE"]
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
@@ -771,4 +771,120 @@ class Workflow extends Handler
|
||||
$status = $value ? "DISABLED" : "ACTIVE";
|
||||
$this->update(array("PRO_STATUS" => $status));
|
||||
}
|
||||
|
||||
public function addCaseScheduler($schUid)
|
||||
{
|
||||
try {
|
||||
$caseScheduler = new \CaseScheduler();
|
||||
$data = array(
|
||||
'SCH_NAME'=>'',
|
||||
'SCH_DEL_USER_NAME'=>'',
|
||||
'SCH_DEL_USER_UID'=>'',
|
||||
'PRO_UID'=>$this->proUid,
|
||||
'TAS_UID'=>'',
|
||||
'SCH_TIME_NEXT_RUN'=>date('Y-m-d H:i:s'),
|
||||
'SCH_LAST_RUN_TIME'=>NULL,
|
||||
'SCH_STATE'=>'',
|
||||
'SCH_LAST_STATE'=>'',
|
||||
'USR_UID'=>'',
|
||||
'SCH_OPTION'=>'',
|
||||
'SCH_START_TIME'=>date('Y-m-d H:i:s'),
|
||||
'SCH_START_DATE'=>date('Y-m-d H:i:s'),
|
||||
'SCH_DAYS_PERFORM_TASK'=>'',
|
||||
'SCH_EVERY_DAYS'=>NULL,
|
||||
'SCH_WEEK_DAYS'=>'',
|
||||
'SCH_START_DAY'=>'',
|
||||
'SCH_START_DAY_OPT_1'=>'',
|
||||
'SCH_START_DAY_OPT_2'=>'',
|
||||
'SCH_MONTHS'=>'',
|
||||
'SCH_END_DATE'=>date('Y-m-d H:i:s'),
|
||||
'SCH_REPEAT_EVERY'=>'',
|
||||
'SCH_REPEAT_STOP_IF_RUNNING'=>'',
|
||||
'CASE_SH_PLUGIN_UID'=>NULL,
|
||||
'SCH_DEL_USER_PASS'=>'',
|
||||
'SCH_UID'=>$schUid,
|
||||
'SCH_REPEAT_UNTIL'=>''
|
||||
);
|
||||
|
||||
self::log("Adding Case Scheduler with data: ", $data);
|
||||
$caseSchedulerUid = $caseScheduler->create($data);
|
||||
self::log("Adding Case Scheduler success!, created case Scheduler id: ", $caseSchedulerUid);
|
||||
|
||||
return $caseSchedulerUid;
|
||||
} catch (\Exception $oError) {
|
||||
throw ($oError);
|
||||
}
|
||||
}
|
||||
|
||||
public function removeCaseScheduler($schUid)
|
||||
{
|
||||
try {
|
||||
$caseScheduler = new \CaseScheduler();
|
||||
self::log("Remove Case Scheduler: ".$schUid);
|
||||
$caseScheduler->remove($schUid);
|
||||
self::log("Remove Case Scheduler Success!");
|
||||
} catch (\Exception $e) {
|
||||
self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
public function updateCaseScheduler($data)
|
||||
{
|
||||
try {
|
||||
$caseScheduler = new \CaseScheduler();
|
||||
$caseScheduler->update($data);
|
||||
self::log("Update Case Scheduler Success!");
|
||||
} catch (\Exception $e) {
|
||||
self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
public function addWebEntry($weUid)
|
||||
{
|
||||
try {
|
||||
$webEntry = new \WebEntry();
|
||||
$webEntryUid = $weUid;
|
||||
$webEntry->setWeUid($webEntryUid);
|
||||
$webEntry->setProUid($this->proUid);
|
||||
$webEntry->setWeMethod('');
|
||||
$webEntry->setWeCreateDate(date('Y-m-d H:i:s'));
|
||||
$webEntry->save();
|
||||
|
||||
//Return
|
||||
self::log("Adding Web Entry success!, created Web Entry id: ", $webEntryUid);
|
||||
return $webEntryUid;
|
||||
} catch (\Exception $oError) {
|
||||
throw ($oError);
|
||||
}
|
||||
}
|
||||
|
||||
public function removeWebEntry($weUid)
|
||||
{
|
||||
try {
|
||||
$webEntry = new \ProcessMaker\BusinessModel\WebEntry();
|
||||
self::log("Remove Web Entry: ".$weUid);
|
||||
$webEntry->delete($weUid);
|
||||
self::log("Remove Web Entry Success!");
|
||||
} catch (\Exception $e) {
|
||||
self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
public function updateWebEntry($data)
|
||||
{
|
||||
try {
|
||||
$webEntryUid = $data['WE_UID'];
|
||||
$webEntry = \WebEntryPeer::retrieveByPK($webEntryUid);
|
||||
$webEntry->fromArray($data, \BasePeer::TYPE_FIELDNAME);
|
||||
$webEntry->save();
|
||||
self::log("Update Web Entry Success!");
|
||||
} catch (\Exception $e) {
|
||||
self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
|
||||
throw $e;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -103,7 +103,6 @@ class Pmtable extends Api
|
||||
* @param string $pmt_uid {@min 1} {@max 32}
|
||||
*
|
||||
* @param array $request_data
|
||||
* @param array $pmt_rows {@from body} {@required true}
|
||||
* @return array
|
||||
*
|
||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
||||
@@ -114,8 +113,7 @@ class Pmtable extends Api
|
||||
*/
|
||||
public function doPostPmTableData(
|
||||
$pmt_uid,
|
||||
$request_data,
|
||||
$pmt_rows = ''
|
||||
$request_data
|
||||
) {
|
||||
try {
|
||||
$oReportTable = new \ProcessMaker\BusinessModel\Table();
|
||||
@@ -130,7 +128,6 @@ class Pmtable extends Api
|
||||
* @param string $pmt_uid {@min 1} {@max 32}
|
||||
*
|
||||
* @param array $request_data
|
||||
* @param string $pmt_tab_dsc {@from body}
|
||||
* @return void
|
||||
*
|
||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
||||
@@ -140,8 +137,7 @@ class Pmtable extends Api
|
||||
*/
|
||||
public function doPutPmTable(
|
||||
$pmt_uid,
|
||||
$request_data,
|
||||
$pmt_tab_dsc = ''
|
||||
$request_data
|
||||
) {
|
||||
try {
|
||||
$request_data['pmt_uid'] = $pmt_uid;
|
||||
@@ -156,7 +152,6 @@ class Pmtable extends Api
|
||||
* @param string $pmt_uid {@min 1} {@max 32}
|
||||
*
|
||||
* @param array $request_data
|
||||
* @param array $pmt_rows {@from body} {@required true}
|
||||
* @return array
|
||||
*
|
||||
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
|
||||
@@ -166,8 +161,7 @@ class Pmtable extends Api
|
||||
*/
|
||||
public function doPutPmTableData(
|
||||
$pmt_uid,
|
||||
$request_data,
|
||||
$pmt_rows = ''
|
||||
$request_data
|
||||
) {
|
||||
try {
|
||||
$oReportTable = new \ProcessMaker\BusinessModel\Table();
|
||||
|
||||
Reference in New Issue
Block a user