diff --git a/workflow/engine/classes/model/ElementTaskRelation.php b/workflow/engine/classes/model/ElementTaskRelation.php
new file mode 100644
index 000000000..bfd54afdd
--- /dev/null
+++ b/workflow/engine/classes/model/ElementTaskRelation.php
@@ -0,0 +1,5 @@
+dbMap = Propel::getDatabaseMap('workflow');
- $tMap = $this->dbMap->addTable('MESSAGE_EVENT_TASK_RELATION');
- $tMap->setPhpName('MessageEventTaskRelation');
+ $tMap = $this->dbMap->addTable('ELEMENT_TASK_RELATION');
+ $tMap->setPhpName('ElementTaskRelation');
$tMap->setUseIdGenerator(false);
- $tMap->addPrimaryKey('MSGETR_UID', 'MsgetrUid', 'string', CreoleTypes::VARCHAR, true, 32);
+ $tMap->addPrimaryKey('ETR_UID', 'EtrUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('PRJ_UID', 'PrjUid', 'string', CreoleTypes::VARCHAR, true, 32);
- $tMap->addColumn('EVN_UID', 'EvnUid', 'string', CreoleTypes::VARCHAR, true, 32);
+ $tMap->addColumn('ELEMENT_UID', 'ElementUid', 'string', CreoleTypes::VARCHAR, true, 32);
+
+ $tMap->addColumn('ELEMENT_TYPE', 'ElementType', 'string', CreoleTypes::VARCHAR, true, 50);
$tMap->addColumn('TAS_UID', 'TasUid', 'string', CreoleTypes::VARCHAR, true, 32);
} // doBuild()
-} // MessageEventTaskRelationMapBuilder
+} // ElementTaskRelationMapBuilder
diff --git a/workflow/engine/classes/model/om/BaseMessageEventTaskRelation.php b/workflow/engine/classes/model/om/BaseElementTaskRelation.php
similarity index 73%
rename from workflow/engine/classes/model/om/BaseMessageEventTaskRelation.php
rename to workflow/engine/classes/model/om/BaseElementTaskRelation.php
index 44208e082..7cf07f552 100644
--- a/workflow/engine/classes/model/om/BaseMessageEventTaskRelation.php
+++ b/workflow/engine/classes/model/om/BaseElementTaskRelation.php
@@ -7,31 +7,31 @@ require_once 'propel/om/Persistent.php';
include_once 'propel/util/Criteria.php';
-include_once 'classes/model/MessageEventTaskRelationPeer.php';
+include_once 'classes/model/ElementTaskRelationPeer.php';
/**
- * Base class that represents a row from the 'MESSAGE_EVENT_TASK_RELATION' table.
+ * Base class that represents a row from the 'ELEMENT_TASK_RELATION' table.
*
*
*
* @package workflow.classes.model.om
*/
-abstract class BaseMessageEventTaskRelation extends BaseObject implements Persistent
+abstract class BaseElementTaskRelation extends BaseObject implements Persistent
{
/**
* The Peer class.
* Instance provides a convenient way of calling static methods on a class
* that calling code may not be able to identify.
- * @var MessageEventTaskRelationPeer
+ * @var ElementTaskRelationPeer
*/
protected static $peer;
/**
- * The value for the msgetr_uid field.
+ * The value for the etr_uid field.
* @var string
*/
- protected $msgetr_uid;
+ protected $etr_uid;
/**
* The value for the prj_uid field.
@@ -40,10 +40,16 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
protected $prj_uid;
/**
- * The value for the evn_uid field.
+ * The value for the element_uid field.
* @var string
*/
- protected $evn_uid;
+ protected $element_uid;
+
+ /**
+ * The value for the element_type field.
+ * @var string
+ */
+ protected $element_type = '';
/**
* The value for the tas_uid field.
@@ -66,14 +72,14 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
protected $alreadyInValidation = false;
/**
- * Get the [msgetr_uid] column value.
+ * Get the [etr_uid] column value.
*
* @return string
*/
- public function getMsgetrUid()
+ public function getEtrUid()
{
- return $this->msgetr_uid;
+ return $this->etr_uid;
}
/**
@@ -88,14 +94,25 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
}
/**
- * Get the [evn_uid] column value.
+ * Get the [element_uid] column value.
*
* @return string
*/
- public function getEvnUid()
+ public function getElementUid()
{
- return $this->evn_uid;
+ return $this->element_uid;
+ }
+
+ /**
+ * Get the [element_type] column value.
+ *
+ * @return string
+ */
+ public function getElementType()
+ {
+
+ return $this->element_type;
}
/**
@@ -110,12 +127,12 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
}
/**
- * Set the value of [msgetr_uid] column.
+ * Set the value of [etr_uid] column.
*
* @param string $v new value
* @return void
*/
- public function setMsgetrUid($v)
+ public function setEtrUid($v)
{
// Since the native PHP type for this column is string,
@@ -124,12 +141,12 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
$v = (string) $v;
}
- if ($this->msgetr_uid !== $v) {
- $this->msgetr_uid = $v;
- $this->modifiedColumns[] = MessageEventTaskRelationPeer::MSGETR_UID;
+ if ($this->etr_uid !== $v) {
+ $this->etr_uid = $v;
+ $this->modifiedColumns[] = ElementTaskRelationPeer::ETR_UID;
}
- } // setMsgetrUid()
+ } // setEtrUid()
/**
* Set the value of [prj_uid] column.
@@ -148,18 +165,18 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
if ($this->prj_uid !== $v) {
$this->prj_uid = $v;
- $this->modifiedColumns[] = MessageEventTaskRelationPeer::PRJ_UID;
+ $this->modifiedColumns[] = ElementTaskRelationPeer::PRJ_UID;
}
} // setPrjUid()
/**
- * Set the value of [evn_uid] column.
+ * Set the value of [element_uid] column.
*
* @param string $v new value
* @return void
*/
- public function setEvnUid($v)
+ public function setElementUid($v)
{
// Since the native PHP type for this column is string,
@@ -168,12 +185,34 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
$v = (string) $v;
}
- if ($this->evn_uid !== $v) {
- $this->evn_uid = $v;
- $this->modifiedColumns[] = MessageEventTaskRelationPeer::EVN_UID;
+ if ($this->element_uid !== $v) {
+ $this->element_uid = $v;
+ $this->modifiedColumns[] = ElementTaskRelationPeer::ELEMENT_UID;
}
- } // setEvnUid()
+ } // setElementUid()
+
+ /**
+ * Set the value of [element_type] column.
+ *
+ * @param string $v new value
+ * @return void
+ */
+ public function setElementType($v)
+ {
+
+ // Since the native PHP type for this column is string,
+ // we will cast the input to a string (if it is not).
+ if ($v !== null && !is_string($v)) {
+ $v = (string) $v;
+ }
+
+ if ($this->element_type !== $v || $v === '') {
+ $this->element_type = $v;
+ $this->modifiedColumns[] = ElementTaskRelationPeer::ELEMENT_TYPE;
+ }
+
+ } // setElementType()
/**
* Set the value of [tas_uid] column.
@@ -192,7 +231,7 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
if ($this->tas_uid !== $v) {
$this->tas_uid = $v;
- $this->modifiedColumns[] = MessageEventTaskRelationPeer::TAS_UID;
+ $this->modifiedColumns[] = ElementTaskRelationPeer::TAS_UID;
}
} // setTasUid()
@@ -214,23 +253,25 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
{
try {
- $this->msgetr_uid = $rs->getString($startcol + 0);
+ $this->etr_uid = $rs->getString($startcol + 0);
$this->prj_uid = $rs->getString($startcol + 1);
- $this->evn_uid = $rs->getString($startcol + 2);
+ $this->element_uid = $rs->getString($startcol + 2);
- $this->tas_uid = $rs->getString($startcol + 3);
+ $this->element_type = $rs->getString($startcol + 3);
+
+ $this->tas_uid = $rs->getString($startcol + 4);
$this->resetModified();
$this->setNew(false);
// FIXME - using NUM_COLUMNS may be clearer.
- return $startcol + 4; // 4 = MessageEventTaskRelationPeer::NUM_COLUMNS - MessageEventTaskRelationPeer::NUM_LAZY_LOAD_COLUMNS).
+ return $startcol + 5; // 5 = ElementTaskRelationPeer::NUM_COLUMNS - ElementTaskRelationPeer::NUM_LAZY_LOAD_COLUMNS).
} catch (Exception $e) {
- throw new PropelException("Error populating MessageEventTaskRelation object", $e);
+ throw new PropelException("Error populating ElementTaskRelation object", $e);
}
}
@@ -250,12 +291,12 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
}
if ($con === null) {
- $con = Propel::getConnection(MessageEventTaskRelationPeer::DATABASE_NAME);
+ $con = Propel::getConnection(ElementTaskRelationPeer::DATABASE_NAME);
}
try {
$con->begin();
- MessageEventTaskRelationPeer::doDelete($this, $con);
+ ElementTaskRelationPeer::doDelete($this, $con);
$this->setDeleted(true);
$con->commit();
} catch (PropelException $e) {
@@ -281,7 +322,7 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
}
if ($con === null) {
- $con = Propel::getConnection(MessageEventTaskRelationPeer::DATABASE_NAME);
+ $con = Propel::getConnection(ElementTaskRelationPeer::DATABASE_NAME);
}
try {
@@ -316,14 +357,14 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
// If this object has been modified, then save it to the database.
if ($this->isModified()) {
if ($this->isNew()) {
- $pk = MessageEventTaskRelationPeer::doInsert($this, $con);
+ $pk = ElementTaskRelationPeer::doInsert($this, $con);
$affectedRows += 1; // we are assuming that there is only 1 row per doInsert() which
// should always be true here (even though technically
// BasePeer::doInsert() can insert multiple rows).
$this->setNew(false);
} else {
- $affectedRows += MessageEventTaskRelationPeer::doUpdate($this, $con);
+ $affectedRows += ElementTaskRelationPeer::doUpdate($this, $con);
}
$this->resetModified(); // [HL] After being saved an object is no longer 'modified'
}
@@ -394,7 +435,7 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
$failureMap = array();
- if (($retval = MessageEventTaskRelationPeer::doValidate($this, $columns)) !== true) {
+ if (($retval = ElementTaskRelationPeer::doValidate($this, $columns)) !== true) {
$failureMap = array_merge($failureMap, $retval);
}
@@ -417,7 +458,7 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
*/
public function getByName($name, $type = BasePeer::TYPE_PHPNAME)
{
- $pos = MessageEventTaskRelationPeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
+ $pos = ElementTaskRelationPeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
return $this->getByPosition($pos);
}
@@ -432,15 +473,18 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
{
switch($pos) {
case 0:
- return $this->getMsgetrUid();
+ return $this->getEtrUid();
break;
case 1:
return $this->getPrjUid();
break;
case 2:
- return $this->getEvnUid();
+ return $this->getElementUid();
break;
case 3:
+ return $this->getElementType();
+ break;
+ case 4:
return $this->getTasUid();
break;
default:
@@ -461,12 +505,13 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
*/
public function toArray($keyType = BasePeer::TYPE_PHPNAME)
{
- $keys = MessageEventTaskRelationPeer::getFieldNames($keyType);
+ $keys = ElementTaskRelationPeer::getFieldNames($keyType);
$result = array(
- $keys[0] => $this->getMsgetrUid(),
+ $keys[0] => $this->getEtrUid(),
$keys[1] => $this->getPrjUid(),
- $keys[2] => $this->getEvnUid(),
- $keys[3] => $this->getTasUid(),
+ $keys[2] => $this->getElementUid(),
+ $keys[3] => $this->getElementType(),
+ $keys[4] => $this->getTasUid(),
);
return $result;
}
@@ -483,7 +528,7 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
*/
public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME)
{
- $pos = MessageEventTaskRelationPeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
+ $pos = ElementTaskRelationPeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
return $this->setByPosition($pos, $value);
}
@@ -499,15 +544,18 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
{
switch($pos) {
case 0:
- $this->setMsgetrUid($value);
+ $this->setEtrUid($value);
break;
case 1:
$this->setPrjUid($value);
break;
case 2:
- $this->setEvnUid($value);
+ $this->setElementUid($value);
break;
case 3:
+ $this->setElementType($value);
+ break;
+ case 4:
$this->setTasUid($value);
break;
} // switch()
@@ -531,10 +579,10 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
*/
public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
{
- $keys = MessageEventTaskRelationPeer::getFieldNames($keyType);
+ $keys = ElementTaskRelationPeer::getFieldNames($keyType);
if (array_key_exists($keys[0], $arr)) {
- $this->setMsgetrUid($arr[$keys[0]]);
+ $this->setEtrUid($arr[$keys[0]]);
}
if (array_key_exists($keys[1], $arr)) {
@@ -542,11 +590,15 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
}
if (array_key_exists($keys[2], $arr)) {
- $this->setEvnUid($arr[$keys[2]]);
+ $this->setElementUid($arr[$keys[2]]);
}
if (array_key_exists($keys[3], $arr)) {
- $this->setTasUid($arr[$keys[3]]);
+ $this->setElementType($arr[$keys[3]]);
+ }
+
+ if (array_key_exists($keys[4], $arr)) {
+ $this->setTasUid($arr[$keys[4]]);
}
}
@@ -558,22 +610,26 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
*/
public function buildCriteria()
{
- $criteria = new Criteria(MessageEventTaskRelationPeer::DATABASE_NAME);
+ $criteria = new Criteria(ElementTaskRelationPeer::DATABASE_NAME);
- if ($this->isColumnModified(MessageEventTaskRelationPeer::MSGETR_UID)) {
- $criteria->add(MessageEventTaskRelationPeer::MSGETR_UID, $this->msgetr_uid);
+ if ($this->isColumnModified(ElementTaskRelationPeer::ETR_UID)) {
+ $criteria->add(ElementTaskRelationPeer::ETR_UID, $this->etr_uid);
}
- if ($this->isColumnModified(MessageEventTaskRelationPeer::PRJ_UID)) {
- $criteria->add(MessageEventTaskRelationPeer::PRJ_UID, $this->prj_uid);
+ if ($this->isColumnModified(ElementTaskRelationPeer::PRJ_UID)) {
+ $criteria->add(ElementTaskRelationPeer::PRJ_UID, $this->prj_uid);
}
- if ($this->isColumnModified(MessageEventTaskRelationPeer::EVN_UID)) {
- $criteria->add(MessageEventTaskRelationPeer::EVN_UID, $this->evn_uid);
+ if ($this->isColumnModified(ElementTaskRelationPeer::ELEMENT_UID)) {
+ $criteria->add(ElementTaskRelationPeer::ELEMENT_UID, $this->element_uid);
}
- if ($this->isColumnModified(MessageEventTaskRelationPeer::TAS_UID)) {
- $criteria->add(MessageEventTaskRelationPeer::TAS_UID, $this->tas_uid);
+ if ($this->isColumnModified(ElementTaskRelationPeer::ELEMENT_TYPE)) {
+ $criteria->add(ElementTaskRelationPeer::ELEMENT_TYPE, $this->element_type);
+ }
+
+ if ($this->isColumnModified(ElementTaskRelationPeer::TAS_UID)) {
+ $criteria->add(ElementTaskRelationPeer::TAS_UID, $this->tas_uid);
}
@@ -590,9 +646,9 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
*/
public function buildPkeyCriteria()
{
- $criteria = new Criteria(MessageEventTaskRelationPeer::DATABASE_NAME);
+ $criteria = new Criteria(ElementTaskRelationPeer::DATABASE_NAME);
- $criteria->add(MessageEventTaskRelationPeer::MSGETR_UID, $this->msgetr_uid);
+ $criteria->add(ElementTaskRelationPeer::ETR_UID, $this->etr_uid);
return $criteria;
}
@@ -603,18 +659,18 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
*/
public function getPrimaryKey()
{
- return $this->getMsgetrUid();
+ return $this->getEtrUid();
}
/**
- * Generic method to set the primary key (msgetr_uid column).
+ * Generic method to set the primary key (etr_uid column).
*
* @param string $key Primary key.
* @return void
*/
public function setPrimaryKey($key)
{
- $this->setMsgetrUid($key);
+ $this->setEtrUid($key);
}
/**
@@ -623,7 +679,7 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
* If desired, this method can also make copies of all associated (fkey referrers)
* objects.
*
- * @param object $copyObj An object of MessageEventTaskRelation (or compatible) type.
+ * @param object $copyObj An object of ElementTaskRelation (or compatible) type.
* @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row.
* @throws PropelException
*/
@@ -632,14 +688,16 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
$copyObj->setPrjUid($this->prj_uid);
- $copyObj->setEvnUid($this->evn_uid);
+ $copyObj->setElementUid($this->element_uid);
+
+ $copyObj->setElementType($this->element_type);
$copyObj->setTasUid($this->tas_uid);
$copyObj->setNew(true);
- $copyObj->setMsgetrUid(NULL); // this is a pkey column, so set to default value
+ $copyObj->setEtrUid(NULL); // this is a pkey column, so set to default value
}
@@ -652,7 +710,7 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
* objects.
*
* @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row.
- * @return MessageEventTaskRelation Clone of current object.
+ * @return ElementTaskRelation Clone of current object.
* @throws PropelException
*/
public function copy($deepCopy = false)
@@ -671,12 +729,12 @@ abstract class BaseMessageEventTaskRelation extends BaseObject implements Persis
* same instance for all member of this class. The method could therefore
* be static, but this would prevent one from overriding the behavior.
*
- * @return MessageEventTaskRelationPeer
+ * @return ElementTaskRelationPeer
*/
public function getPeer()
{
if (self::$peer === null) {
- self::$peer = new MessageEventTaskRelationPeer();
+ self::$peer = new ElementTaskRelationPeer();
}
return self::$peer;
}
diff --git a/workflow/engine/classes/model/om/BaseMessageEventTaskRelationPeer.php b/workflow/engine/classes/model/om/BaseElementTaskRelationPeer.php
similarity index 74%
rename from workflow/engine/classes/model/om/BaseMessageEventTaskRelationPeer.php
rename to workflow/engine/classes/model/om/BaseElementTaskRelationPeer.php
index d5a6f62d9..ab7c9a3ff 100644
--- a/workflow/engine/classes/model/om/BaseMessageEventTaskRelationPeer.php
+++ b/workflow/engine/classes/model/om/BaseElementTaskRelationPeer.php
@@ -2,46 +2,49 @@
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 MessageEventTaskRelationPeer::getOMClass()
-include_once 'classes/model/MessageEventTaskRelation.php';
+// actual class may be a subclass -- as returned by ElementTaskRelationPeer::getOMClass()
+include_once 'classes/model/ElementTaskRelation.php';
/**
- * Base static class for performing query and update operations on the 'MESSAGE_EVENT_TASK_RELATION' table.
+ * Base static class for performing query and update operations on the 'ELEMENT_TASK_RELATION' table.
*
*
*
* @package workflow.classes.model.om
*/
-abstract class BaseMessageEventTaskRelationPeer
+abstract class BaseElementTaskRelationPeer
{
/** the default database name for this class */
const DATABASE_NAME = 'workflow';
/** the table name for this class */
- const TABLE_NAME = 'MESSAGE_EVENT_TASK_RELATION';
+ const TABLE_NAME = 'ELEMENT_TASK_RELATION';
/** A class that can be returned by this peer. */
- const CLASS_DEFAULT = 'classes.model.MessageEventTaskRelation';
+ const CLASS_DEFAULT = 'classes.model.ElementTaskRelation';
/** The total number of columns. */
- const NUM_COLUMNS = 4;
+ const NUM_COLUMNS = 5;
/** The number of lazy-loaded columns. */
const NUM_LAZY_LOAD_COLUMNS = 0;
- /** the column name for the MSGETR_UID field */
- const MSGETR_UID = 'MESSAGE_EVENT_TASK_RELATION.MSGETR_UID';
+ /** the column name for the ETR_UID field */
+ const ETR_UID = 'ELEMENT_TASK_RELATION.ETR_UID';
/** the column name for the PRJ_UID field */
- const PRJ_UID = 'MESSAGE_EVENT_TASK_RELATION.PRJ_UID';
+ const PRJ_UID = 'ELEMENT_TASK_RELATION.PRJ_UID';
- /** the column name for the EVN_UID field */
- const EVN_UID = 'MESSAGE_EVENT_TASK_RELATION.EVN_UID';
+ /** the column name for the ELEMENT_UID field */
+ const ELEMENT_UID = 'ELEMENT_TASK_RELATION.ELEMENT_UID';
+
+ /** the column name for the ELEMENT_TYPE field */
+ const ELEMENT_TYPE = 'ELEMENT_TASK_RELATION.ELEMENT_TYPE';
/** the column name for the TAS_UID field */
- const TAS_UID = 'MESSAGE_EVENT_TASK_RELATION.TAS_UID';
+ const TAS_UID = 'ELEMENT_TASK_RELATION.TAS_UID';
/** The PHP to DB Name Mapping */
private static $phpNameMap = null;
@@ -54,10 +57,10 @@ abstract class BaseMessageEventTaskRelationPeer
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
private static $fieldNames = array (
- BasePeer::TYPE_PHPNAME => array ('MsgetrUid', 'PrjUid', 'EvnUid', 'TasUid', ),
- BasePeer::TYPE_COLNAME => array (MessageEventTaskRelationPeer::MSGETR_UID, MessageEventTaskRelationPeer::PRJ_UID, MessageEventTaskRelationPeer::EVN_UID, MessageEventTaskRelationPeer::TAS_UID, ),
- BasePeer::TYPE_FIELDNAME => array ('MSGETR_UID', 'PRJ_UID', 'EVN_UID', 'TAS_UID', ),
- BasePeer::TYPE_NUM => array (0, 1, 2, 3, )
+ BasePeer::TYPE_PHPNAME => array ('EtrUid', 'PrjUid', 'ElementUid', 'ElementType', 'TasUid', ),
+ BasePeer::TYPE_COLNAME => array (ElementTaskRelationPeer::ETR_UID, ElementTaskRelationPeer::PRJ_UID, ElementTaskRelationPeer::ELEMENT_UID, ElementTaskRelationPeer::ELEMENT_TYPE, ElementTaskRelationPeer::TAS_UID, ),
+ BasePeer::TYPE_FIELDNAME => array ('ETR_UID', 'PRJ_UID', 'ELEMENT_UID', 'ELEMENT_TYPE', 'TAS_UID', ),
+ BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, )
);
/**
@@ -67,10 +70,10 @@ abstract class BaseMessageEventTaskRelationPeer
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/
private static $fieldKeys = array (
- BasePeer::TYPE_PHPNAME => array ('MsgetrUid' => 0, 'PrjUid' => 1, 'EvnUid' => 2, 'TasUid' => 3, ),
- BasePeer::TYPE_COLNAME => array (MessageEventTaskRelationPeer::MSGETR_UID => 0, MessageEventTaskRelationPeer::PRJ_UID => 1, MessageEventTaskRelationPeer::EVN_UID => 2, MessageEventTaskRelationPeer::TAS_UID => 3, ),
- BasePeer::TYPE_FIELDNAME => array ('MSGETR_UID' => 0, 'PRJ_UID' => 1, 'EVN_UID' => 2, 'TAS_UID' => 3, ),
- BasePeer::TYPE_NUM => array (0, 1, 2, 3, )
+ BasePeer::TYPE_PHPNAME => array ('EtrUid' => 0, 'PrjUid' => 1, 'ElementUid' => 2, 'ElementType' => 3, 'TasUid' => 4, ),
+ BasePeer::TYPE_COLNAME => array (ElementTaskRelationPeer::ETR_UID => 0, ElementTaskRelationPeer::PRJ_UID => 1, ElementTaskRelationPeer::ELEMENT_UID => 2, ElementTaskRelationPeer::ELEMENT_TYPE => 3, ElementTaskRelationPeer::TAS_UID => 4, ),
+ BasePeer::TYPE_FIELDNAME => array ('ETR_UID' => 0, 'PRJ_UID' => 1, 'ELEMENT_UID' => 2, 'ELEMENT_TYPE' => 3, 'TAS_UID' => 4, ),
+ BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, )
);
/**
@@ -80,8 +83,8 @@ abstract class BaseMessageEventTaskRelationPeer
*/
public static function getMapBuilder()
{
- include_once 'classes/model/map/MessageEventTaskRelationMapBuilder.php';
- return BasePeer::getMapBuilder('classes.model.map.MessageEventTaskRelationMapBuilder');
+ include_once 'classes/model/map/ElementTaskRelationMapBuilder.php';
+ return BasePeer::getMapBuilder('classes.model.map.ElementTaskRelationMapBuilder');
}
/**
* Gets a map (hash) of PHP names to DB column names.
@@ -94,7 +97,7 @@ abstract class BaseMessageEventTaskRelationPeer
public static function getPhpNameMap()
{
if (self::$phpNameMap === null) {
- $map = MessageEventTaskRelationPeer::getTableMap();
+ $map = ElementTaskRelationPeer::getTableMap();
$columns = $map->getColumns();
$nameMap = array();
foreach ($columns as $column) {
@@ -149,12 +152,12 @@ abstract class BaseMessageEventTaskRelationPeer
* $c->addJoin(TablePeer::alias("alias1", TablePeer::PRIMARY_KEY_COLUMN), TablePeer::PRIMARY_KEY_COLUMN);
*
* @param string $alias The alias for the current table.
- * @param string $column The column name for current table. (i.e. MessageEventTaskRelationPeer::COLUMN_NAME).
+ * @param string $column The column name for current table. (i.e. ElementTaskRelationPeer::COLUMN_NAME).
* @return string
*/
public static function alias($alias, $column)
{
- return str_replace(MessageEventTaskRelationPeer::TABLE_NAME.'.', $alias.'.', $column);
+ return str_replace(ElementTaskRelationPeer::TABLE_NAME.'.', $alias.'.', $column);
}
/**
@@ -171,18 +174,20 @@ abstract class BaseMessageEventTaskRelationPeer
public static function addSelectColumns(Criteria $criteria)
{
- $criteria->addSelectColumn(MessageEventTaskRelationPeer::MSGETR_UID);
+ $criteria->addSelectColumn(ElementTaskRelationPeer::ETR_UID);
- $criteria->addSelectColumn(MessageEventTaskRelationPeer::PRJ_UID);
+ $criteria->addSelectColumn(ElementTaskRelationPeer::PRJ_UID);
- $criteria->addSelectColumn(MessageEventTaskRelationPeer::EVN_UID);
+ $criteria->addSelectColumn(ElementTaskRelationPeer::ELEMENT_UID);
- $criteria->addSelectColumn(MessageEventTaskRelationPeer::TAS_UID);
+ $criteria->addSelectColumn(ElementTaskRelationPeer::ELEMENT_TYPE);
+
+ $criteria->addSelectColumn(ElementTaskRelationPeer::TAS_UID);
}
- const COUNT = 'COUNT(MESSAGE_EVENT_TASK_RELATION.MSGETR_UID)';
- const COUNT_DISTINCT = 'COUNT(DISTINCT MESSAGE_EVENT_TASK_RELATION.MSGETR_UID)';
+ const COUNT = 'COUNT(ELEMENT_TASK_RELATION.ETR_UID)';
+ const COUNT_DISTINCT = 'COUNT(DISTINCT ELEMENT_TASK_RELATION.ETR_UID)';
/**
* Returns the number of rows matching criteria.
@@ -200,9 +205,9 @@ abstract class BaseMessageEventTaskRelationPeer
// clear out anything that might confuse the ORDER BY clause
$criteria->clearSelectColumns()->clearOrderByColumns();
if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) {
- $criteria->addSelectColumn(MessageEventTaskRelationPeer::COUNT_DISTINCT);
+ $criteria->addSelectColumn(ElementTaskRelationPeer::COUNT_DISTINCT);
} else {
- $criteria->addSelectColumn(MessageEventTaskRelationPeer::COUNT);
+ $criteria->addSelectColumn(ElementTaskRelationPeer::COUNT);
}
// just in case we're grouping: add those columns to the select statement
@@ -210,7 +215,7 @@ abstract class BaseMessageEventTaskRelationPeer
$criteria->addSelectColumn($column);
}
- $rs = MessageEventTaskRelationPeer::doSelectRS($criteria, $con);
+ $rs = ElementTaskRelationPeer::doSelectRS($criteria, $con);
if ($rs->next()) {
return $rs->getInt(1);
} else {
@@ -223,7 +228,7 @@ abstract class BaseMessageEventTaskRelationPeer
*
* @param Criteria $criteria object used to create the SELECT statement.
* @param Connection $con
- * @return MessageEventTaskRelation
+ * @return ElementTaskRelation
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
@@ -231,7 +236,7 @@ abstract class BaseMessageEventTaskRelationPeer
{
$critcopy = clone $criteria;
$critcopy->setLimit(1);
- $objects = MessageEventTaskRelationPeer::doSelect($critcopy, $con);
+ $objects = ElementTaskRelationPeer::doSelect($critcopy, $con);
if ($objects) {
return $objects[0];
}
@@ -248,7 +253,7 @@ abstract class BaseMessageEventTaskRelationPeer
*/
public static function doSelect(Criteria $criteria, $con = null)
{
- return MessageEventTaskRelationPeer::populateObjects(MessageEventTaskRelationPeer::doSelectRS($criteria, $con));
+ return ElementTaskRelationPeer::populateObjects(ElementTaskRelationPeer::doSelectRS($criteria, $con));
}
/**
* Prepares the Criteria object and uses the parent doSelect()
@@ -272,7 +277,7 @@ abstract class BaseMessageEventTaskRelationPeer
if (!$criteria->getSelectColumns()) {
$criteria = clone $criteria;
- MessageEventTaskRelationPeer::addSelectColumns($criteria);
+ ElementTaskRelationPeer::addSelectColumns($criteria);
}
// Set the correct dbName
@@ -294,7 +299,7 @@ abstract class BaseMessageEventTaskRelationPeer
$results = array();
// set the class once to avoid overhead in the loop
- $cls = MessageEventTaskRelationPeer::getOMClass();
+ $cls = ElementTaskRelationPeer::getOMClass();
$cls = Propel::import($cls);
// populate the object(s)
while ($rs->next()) {
@@ -329,13 +334,13 @@ abstract class BaseMessageEventTaskRelationPeer
*/
public static function getOMClass()
{
- return MessageEventTaskRelationPeer::CLASS_DEFAULT;
+ return ElementTaskRelationPeer::CLASS_DEFAULT;
}
/**
- * Method perform an INSERT on the database, given a MessageEventTaskRelation or Criteria object.
+ * Method perform an INSERT on the database, given a ElementTaskRelation or Criteria object.
*
- * @param mixed $values Criteria or MessageEventTaskRelation object containing data that is used to create the INSERT statement.
+ * @param mixed $values Criteria or ElementTaskRelation object containing data that is used to create the INSERT statement.
* @param Connection $con the connection to use
* @return mixed The new primary key.
* @throws PropelException Any exceptions caught during processing will be
@@ -350,7 +355,7 @@ abstract class BaseMessageEventTaskRelationPeer
if ($values instanceof Criteria) {
$criteria = clone $values; // rename for clarity
} else {
- $criteria = $values->buildCriteria(); // build Criteria from MessageEventTaskRelation object
+ $criteria = $values->buildCriteria(); // build Criteria from ElementTaskRelation object
}
@@ -372,9 +377,9 @@ abstract class BaseMessageEventTaskRelationPeer
}
/**
- * Method perform an UPDATE on the database, given a MessageEventTaskRelation or Criteria object.
+ * Method perform an UPDATE on the database, given a ElementTaskRelation or Criteria object.
*
- * @param mixed $values Criteria or MessageEventTaskRelation object containing data create the UPDATE statement.
+ * @param mixed $values Criteria or ElementTaskRelation object containing data create the UPDATE statement.
* @param Connection $con The connection to use (specify Connection exert more control over transactions).
* @return int The number of affected rows (if supported by underlying database driver).
* @throws PropelException Any exceptions caught during processing will be
@@ -391,8 +396,8 @@ abstract class BaseMessageEventTaskRelationPeer
if ($values instanceof Criteria) {
$criteria = clone $values; // rename for clarity
- $comparison = $criteria->getComparison(MessageEventTaskRelationPeer::MSGETR_UID);
- $selectCriteria->add(MessageEventTaskRelationPeer::MSGETR_UID, $criteria->remove(MessageEventTaskRelationPeer::MSGETR_UID), $comparison);
+ $comparison = $criteria->getComparison(ElementTaskRelationPeer::ETR_UID);
+ $selectCriteria->add(ElementTaskRelationPeer::ETR_UID, $criteria->remove(ElementTaskRelationPeer::ETR_UID), $comparison);
} else {
$criteria = $values->buildCriteria(); // gets full criteria
@@ -406,7 +411,7 @@ abstract class BaseMessageEventTaskRelationPeer
}
/**
- * Method to DELETE all rows from the MESSAGE_EVENT_TASK_RELATION table.
+ * Method to DELETE all rows from the ELEMENT_TASK_RELATION table.
*
* @return int The number of affected rows (if supported by underlying database driver).
*/
@@ -420,7 +425,7 @@ abstract class BaseMessageEventTaskRelationPeer
// use transaction because $criteria could contain info
// for more than one table or we could emulating ON DELETE CASCADE, etc.
$con->begin();
- $affectedRows += BasePeer::doDeleteAll(MessageEventTaskRelationPeer::TABLE_NAME, $con);
+ $affectedRows += BasePeer::doDeleteAll(ElementTaskRelationPeer::TABLE_NAME, $con);
$con->commit();
return $affectedRows;
} catch (PropelException $e) {
@@ -430,9 +435,9 @@ abstract class BaseMessageEventTaskRelationPeer
}
/**
- * Method perform a DELETE on the database, given a MessageEventTaskRelation or Criteria object OR a primary key value.
+ * Method perform a DELETE on the database, given a ElementTaskRelation or Criteria object OR a primary key value.
*
- * @param mixed $values Criteria or MessageEventTaskRelation object or primary key or array of primary keys
+ * @param mixed $values Criteria or ElementTaskRelation object or primary key or array of primary keys
* which is used to create the DELETE statement
* @param Connection $con the connection to use
* @return int The number of affected rows (if supported by underlying database driver).
@@ -444,18 +449,18 @@ abstract class BaseMessageEventTaskRelationPeer
public static function doDelete($values, $con = null)
{
if ($con === null) {
- $con = Propel::getConnection(MessageEventTaskRelationPeer::DATABASE_NAME);
+ $con = Propel::getConnection(ElementTaskRelationPeer::DATABASE_NAME);
}
if ($values instanceof Criteria) {
$criteria = clone $values; // rename for clarity
- } elseif ($values instanceof MessageEventTaskRelation) {
+ } elseif ($values instanceof ElementTaskRelation) {
$criteria = $values->buildPkeyCriteria();
} else {
// it must be the primary key
$criteria = new Criteria(self::DATABASE_NAME);
- $criteria->add(MessageEventTaskRelationPeer::MSGETR_UID, (array) $values, Criteria::IN);
+ $criteria->add(ElementTaskRelationPeer::ETR_UID, (array) $values, Criteria::IN);
}
// Set the correct dbName
@@ -478,24 +483,24 @@ abstract class BaseMessageEventTaskRelationPeer
}
/**
- * Validates all modified columns of given MessageEventTaskRelation object.
+ * Validates all modified columns of given ElementTaskRelation object.
* If parameter $columns is either a single column name or an array of column names
* than only those columns are validated.
*
* NOTICE: This does not apply to primary or foreign keys for now.
*
- * @param MessageEventTaskRelation $obj The object to validate.
+ * @param ElementTaskRelation $obj The object to validate.
* @param mixed $cols Column name or array of column names.
*
* @return mixed TRUE if all columns are valid or the error message of the first invalid column.
*/
- public static function doValidate(MessageEventTaskRelation $obj, $cols = null)
+ public static function doValidate(ElementTaskRelation $obj, $cols = null)
{
$columns = array();
if ($cols) {
- $dbMap = Propel::getDatabaseMap(MessageEventTaskRelationPeer::DATABASE_NAME);
- $tableMap = $dbMap->getTable(MessageEventTaskRelationPeer::TABLE_NAME);
+ $dbMap = Propel::getDatabaseMap(ElementTaskRelationPeer::DATABASE_NAME);
+ $tableMap = $dbMap->getTable(ElementTaskRelationPeer::TABLE_NAME);
if (! is_array($cols)) {
$cols = array($cols);
@@ -511,7 +516,7 @@ abstract class BaseMessageEventTaskRelationPeer
}
- return BasePeer::doValidate(MessageEventTaskRelationPeer::DATABASE_NAME, MessageEventTaskRelationPeer::TABLE_NAME, $columns);
+ return BasePeer::doValidate(ElementTaskRelationPeer::DATABASE_NAME, ElementTaskRelationPeer::TABLE_NAME, $columns);
}
/**
@@ -519,7 +524,7 @@ abstract class BaseMessageEventTaskRelationPeer
*
* @param mixed $pk the primary key.
* @param Connection $con the connection to use
- * @return MessageEventTaskRelation
+ * @return ElementTaskRelation
*/
public static function retrieveByPK($pk, $con = null)
{
@@ -527,12 +532,12 @@ abstract class BaseMessageEventTaskRelationPeer
$con = Propel::getConnection(self::DATABASE_NAME);
}
- $criteria = new Criteria(MessageEventTaskRelationPeer::DATABASE_NAME);
+ $criteria = new Criteria(ElementTaskRelationPeer::DATABASE_NAME);
- $criteria->add(MessageEventTaskRelationPeer::MSGETR_UID, $pk);
+ $criteria->add(ElementTaskRelationPeer::ETR_UID, $pk);
- $v = MessageEventTaskRelationPeer::doSelect($criteria, $con);
+ $v = ElementTaskRelationPeer::doSelect($criteria, $con);
return !empty($v) > 0 ? $v[0] : null;
}
@@ -556,8 +561,8 @@ abstract class BaseMessageEventTaskRelationPeer
$objs = array();
} else {
$criteria = new Criteria();
- $criteria->add(MessageEventTaskRelationPeer::MSGETR_UID, $pks, Criteria::IN);
- $objs = MessageEventTaskRelationPeer::doSelect($criteria, $con);
+ $criteria->add(ElementTaskRelationPeer::ETR_UID, $pks, Criteria::IN);
+ $objs = ElementTaskRelationPeer::doSelect($criteria, $con);
}
return $objs;
}
@@ -569,14 +574,14 @@ if (Propel::isInit()) {
// the MapBuilder classes register themselves with Propel during initialization
// so we need to load them here.
try {
- BaseMessageEventTaskRelationPeer::getMapBuilder();
+ BaseElementTaskRelationPeer::getMapBuilder();
} catch (Exception $e) {
Propel::log('Could not initialize Peer: ' . $e->getMessage(), Propel::LOG_ERR);
}
} else {
// even if Propel is not yet initialized, the map builder class can be registered
// now and then it will be loaded when Propel initializes.
- require_once 'classes/model/map/MessageEventTaskRelationMapBuilder.php';
- Propel::registerMapBuilder('classes.model.map.MessageEventTaskRelationMapBuilder');
+ require_once 'classes/model/map/ElementTaskRelationMapBuilder.php';
+ Propel::registerMapBuilder('classes.model.map.ElementTaskRelationMapBuilder');
}
diff --git a/workflow/engine/classes/model/om/BaseMessageApplication.php b/workflow/engine/classes/model/om/BaseMessageApplication.php
index ff81a8d1a..5b0dcea95 100644
--- a/workflow/engine/classes/model/om/BaseMessageApplication.php
+++ b/workflow/engine/classes/model/om/BaseMessageApplication.php
@@ -61,7 +61,7 @@ abstract class BaseMessageApplication extends BaseObject implements Persistent
* The value for the msgapp_variables field.
* @var string
*/
- protected $msgapp_variables = '';
+ protected $msgapp_variables;
/**
* The value for the msgapp_correlation field.
@@ -378,7 +378,7 @@ abstract class BaseMessageApplication extends BaseObject implements Persistent
$v = (string) $v;
}
- if ($this->msgapp_variables !== $v || $v === '') {
+ if ($this->msgapp_variables !== $v) {
$this->msgapp_variables = $v;
$this->modifiedColumns[] = MessageApplicationPeer::MSGAPP_VARIABLES;
}
diff --git a/workflow/engine/classes/model/om/BaseMessageEventDefinition.php b/workflow/engine/classes/model/om/BaseMessageEventDefinition.php
index 49002de41..b3e3ca8fc 100644
--- a/workflow/engine/classes/model/om/BaseMessageEventDefinition.php
+++ b/workflow/engine/classes/model/om/BaseMessageEventDefinition.php
@@ -61,7 +61,7 @@ abstract class BaseMessageEventDefinition extends BaseObject implements Persiste
* The value for the msged_variables field.
* @var string
*/
- protected $msged_variables = '';
+ protected $msged_variables;
/**
* The value for the msged_correlation field.
@@ -285,7 +285,7 @@ abstract class BaseMessageEventDefinition extends BaseObject implements Persiste
$v = (string) $v;
}
- if ($this->msged_variables !== $v || $v === '') {
+ if ($this->msged_variables !== $v) {
$this->msged_variables = $v;
$this->modifiedColumns[] = MessageEventDefinitionPeer::MSGED_VARIABLES;
}
diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml
index e06aaf39a..539cda286 100755
--- a/workflow/engine/config/schema.xml
+++ b/workflow/engine/config/schema.xml
@@ -4419,25 +4419,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql
index a5635ded6..1d1699531 100755
--- a/workflow/engine/data/mysql/schema.sql
+++ b/workflow/engine/data/mysql/schema.sql
@@ -2562,21 +2562,6 @@ CREATE TABLE `MESSAGE_EVENT_RELATION`
PRIMARY KEY (`MSGER_UID`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8';
#-----------------------------------------------------------------------------
-#-- MESSAGE_EVENT_TASK_RELATION
-#-----------------------------------------------------------------------------
-
-DROP TABLE IF EXISTS `MESSAGE_EVENT_TASK_RELATION`;
-
-
-CREATE TABLE `MESSAGE_EVENT_TASK_RELATION`
-(
- `MSGETR_UID` VARCHAR(32) NOT NULL,
- `PRJ_UID` VARCHAR(32) NOT NULL,
- `EVN_UID` VARCHAR(32) NOT NULL,
- `TAS_UID` VARCHAR(32) NOT NULL,
- PRIMARY KEY (`MSGETR_UID`)
-)ENGINE=InnoDB DEFAULT CHARSET='utf8';
-#-----------------------------------------------------------------------------
#-- MESSAGE_APPLICATION
#-----------------------------------------------------------------------------
@@ -2597,5 +2582,22 @@ CREATE TABLE `MESSAGE_APPLICATION`
`MSGAPP_STATUS` VARCHAR(25) default 'UNREAD' NOT NULL,
PRIMARY KEY (`MSGAPP_UID`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8';
+#-----------------------------------------------------------------------------
+#-- ELEMENT_TASK_RELATION
+#-----------------------------------------------------------------------------
+
+DROP TABLE IF EXISTS `ELEMENT_TASK_RELATION`;
+
+
+CREATE TABLE `ELEMENT_TASK_RELATION`
+(
+ `ETR_UID` VARCHAR(32) NOT NULL,
+ `PRJ_UID` VARCHAR(32) NOT NULL,
+ `ELEMENT_UID` VARCHAR(32) NOT NULL,
+ `ELEMENT_TYPE` VARCHAR(50) default '' NOT NULL,
+ `TAS_UID` VARCHAR(32) NOT NULL,
+ PRIMARY KEY (`ETR_UID`)
+)ENGINE=InnoDB DEFAULT CHARSET='utf8';
+
# This restores the fkey checks, after having unset them earlier
SET FOREIGN_KEY_CHECKS = 1;
diff --git a/workflow/engine/methods/departments/departments_Ajax.php b/workflow/engine/methods/departments/departments_Ajax.php
index 531a08ceb..e1fa0f4be 100755
--- a/workflow/engine/methods/departments/departments_Ajax.php
+++ b/workflow/engine/methods/departments/departments_Ajax.php
@@ -367,7 +367,7 @@ switch ($_POST['action']) {
$dep_manager = $_POST['USR_UID'];
$dep_uid = $_POST['DEP_UID'];
$editDepartment['DEP_UID'] = $dep_uid;
- $editDepartment['DEP_MANAGER'] = $dep_manager;
+ $editDepartment['DEP_MANAGER'] = (!isset($_POST['NO_DEP_MANAGER'])? $dep_manager : '');
$oDept = new Department();
$oDept->update( $editDepartment );
$oDept->updateDepartmentManager( $dep_uid );
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php
index 9a5d34960..620117fa4 100644
--- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php
@@ -1991,7 +1991,7 @@ class Cases
}
//Element origin and dest
- $messageEventTaskRelation = new \ProcessMaker\BusinessModel\MessageEventTaskRelation();
+ $elementTaskRelation = new \ProcessMaker\BusinessModel\ElementTaskRelation();
$arrayElement = array(
"elementOrigin" => array("uid" => $elementOriginUid, "type" => "bpmnActivity"),
@@ -1999,16 +1999,17 @@ class Cases
);
foreach ($arrayElement as $key => $value) {
- $arrayMessageEventTaskRelationData = $messageEventTaskRelation->getMessageEventTaskRelationWhere(
+ $arrayElementTaskRelationData = $elementTaskRelation->getElementTaskRelationWhere(
array(
- \MessageEventTaskRelationPeer::PRJ_UID => $arrayApplicationData["PRO_UID"],
- \MessageEventTaskRelationPeer::TAS_UID => $arrayElement[$key]["uid"]
+ \ElementTaskRelationPeer::PRJ_UID => $arrayApplicationData["PRO_UID"],
+ \ElementTaskRelationPeer::ELEMENT_TYPE => "bpmnEvent",
+ \ElementTaskRelationPeer::TAS_UID => $arrayElement[$key]["uid"]
),
true
);
- if (!is_null($arrayMessageEventTaskRelationData)) {
- $arrayElement[$key]["uid"] = $arrayMessageEventTaskRelationData["EVN_UID"];
+ if (!is_null($arrayElementTaskRelationData)) {
+ $arrayElement[$key]["uid"] = $arrayElementTaskRelationData["ELEMENT_UID"];
$arrayElement[$key]["type"] = "bpmnEvent";
}
}
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/MessageEventTaskRelation.php b/workflow/engine/src/ProcessMaker/BusinessModel/ElementTaskRelation.php
similarity index 54%
rename from workflow/engine/src/ProcessMaker/BusinessModel/MessageEventTaskRelation.php
rename to workflow/engine/src/ProcessMaker/BusinessModel/ElementTaskRelation.php
index 5fbb5c322..9f06bd850 100644
--- a/workflow/engine/src/ProcessMaker/BusinessModel/MessageEventTaskRelation.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/ElementTaskRelation.php
@@ -1,14 +1,15 @@
array("type" => "string", "required" => false, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "messageEventTaskRelationUid"),
+ "ETR_UID" => array("type" => "string", "required" => false, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "elementTaskRelationUid"),
- "PRJ_UID" => array("type" => "string", "required" => false, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "projectUid"),
- "EVN_UID" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "eventUid"),
- "TAS_UID" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "taskUid")
+ "PRJ_UID" => array("type" => "string", "required" => false, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "projectUid"),
+ "ELEMENT_UID" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "elementUid"),
+ "ELEMENT_TYPE" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "elementType"),
+ "TAS_UID" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "taskUid")
);
private $formatFieldNameInUppercase = true;
@@ -84,16 +85,16 @@ class MessageEventTaskRelation
}
/**
- * Verify if exists the Message-Event-Task-Relation
+ * Verify if exists the Element-Task-Relation
*
- * @param string $messageEventTaskRelationUid Unique id of Message-Event-Task-Relation
+ * @param string $elementTaskRelationUid Unique id of Element-Task-Relation
*
- * return bool Return true if exists the Message-Event-Task-Relation, false otherwise
+ * return bool Return true if exists the Element-Task-Relation, false otherwise
*/
- public function exists($messageEventTaskRelationUid)
+ public function exists($elementTaskRelationUid)
{
try {
- $obj = \MessageEventTaskRelationPeer::retrieveByPK($messageEventTaskRelationUid);
+ $obj = \ElementTaskRelationPeer::retrieveByPK($elementTaskRelationUid);
return (!is_null($obj))? true : false;
} catch (\Exception $e) {
@@ -102,18 +103,18 @@ class MessageEventTaskRelation
}
/**
- * Verify if does not exists the Message-Event-Task-Relation
+ * Verify if does not exists the Element-Task-Relation
*
- * @param string $messageEventTaskRelationUid Unique id of Message-Event-Task-Relation
- * @param string $fieldNameForException Field name for the exception
+ * @param string $elementTaskRelationUid Unique id of Element-Task-Relation
+ * @param string $fieldNameForException Field name for the exception
*
- * return void Throw exception if does not exists the Message-Event-Task-Relation
+ * return void Throw exception if does not exists the Element-Task-Relation
*/
- public function throwExceptionIfNotExistsMessageEventTaskRelation($messageEventTaskRelationUid, $fieldNameForException)
+ public function throwExceptionIfNotExistsElementTaskRelation($elementTaskRelationUid, $fieldNameForException)
{
try {
- if (!$this->exists($messageEventTaskRelationUid)) {
- throw new \Exception(\G::LoadTranslation("ID_MESSAGE_EVENT_TASK_RELATION_DOES_NOT_EXIST", array($fieldNameForException, $messageEventTaskRelationUid)));
+ if (!$this->exists($elementTaskRelationUid)) {
+ throw new \Exception(\G::LoadTranslation("ID_MESSAGE_EVENT_TASK_RELATION_DOES_NOT_EXIST", array($fieldNameForException, $elementTaskRelationUid)));
}
} catch (\Exception $e) {
throw $e;
@@ -123,20 +124,20 @@ class MessageEventTaskRelation
/**
* Validate the data if they are invalid (INSERT and UPDATE)
*
- * @param string $messageEventTaskRelationUid Unique id of Message-Event-Task-Relation
- * @param string $projectUid Unique id of Project
- * @param array $arrayData Data
+ * @param string $elementTaskRelationUid Unique id of Element-Task-Relation
+ * @param string $projectUid Unique id of Project
+ * @param array $arrayData Data
*
* return void Throw exception if data has an invalid value
*/
- public function throwExceptionIfDataIsInvalid($messageEventTaskRelationUid, $projectUid, array $arrayData)
+ public function throwExceptionIfDataIsInvalid($elementTaskRelationUid, $projectUid, array $arrayData)
{
try {
//Set variables
- $arrayMessageEventTaskRelationData = ($messageEventTaskRelationUid == "")? array() : $this->getMessageEventTaskRelation($messageEventTaskRelationUid, true);
- $flagInsert = ($messageEventTaskRelationUid == "")? true : false;
+ $arrayElementTaskRelationData = ($elementTaskRelationUid == "")? array() : $this->getElementTaskRelation($elementTaskRelationUid, true);
+ $flagInsert = ($elementTaskRelationUid == "")? true : false;
- $arrayFinalData = array_merge($arrayMessageEventTaskRelationData, $arrayData);
+ $arrayFinalData = array_merge($arrayElementTaskRelationData, $arrayData);
//Verify data - Field definition
$process = new \ProcessMaker\BusinessModel\Process();
@@ -148,12 +149,12 @@ class MessageEventTaskRelation
}
/**
- * Create Message-Event-Task-Relation for a Project
+ * Create Element-Task-Relation for a Project
*
* @param string $projectUid Unique id of Project
* @param array $arrayData Data
*
- * return array Return data of the new Message-Event-Task-Relation created
+ * return array Return data of the new Element-Task-Relation created
*/
public function create($projectUid, array $arrayData)
{
@@ -168,7 +169,7 @@ class MessageEventTaskRelation
//Set data
$arrayData = array_change_key_case($arrayData, CASE_UPPER);
- unset($arrayData["MSGETR_UID"]);
+ unset($arrayData["ETR_UID"]);
unset($arrayData["PRJ_UID"]);
//Verify data
@@ -180,28 +181,28 @@ class MessageEventTaskRelation
$cnn = \Propel::getConnection("workflow");
try {
- $messageEventTaskRelation = new \MessageEventTaskRelation();
+ $elementTaskRelation = new \ElementTaskRelation();
- $messageEventTaskRelationUid = \ProcessMaker\Util\Common::generateUID();
+ $elementTaskRelationUid = \ProcessMaker\Util\Common::generateUID();
- $messageEventTaskRelation->fromArray($arrayData, \BasePeer::TYPE_FIELDNAME);
+ $elementTaskRelation->fromArray($arrayData, \BasePeer::TYPE_FIELDNAME);
- $messageEventTaskRelation->setMsgetrUid($messageEventTaskRelationUid);
- $messageEventTaskRelation->setPrjUid($projectUid);
+ $elementTaskRelation->setEtrUid($elementTaskRelationUid);
+ $elementTaskRelation->setPrjUid($projectUid);
- if ($messageEventTaskRelation->validate()) {
+ if ($elementTaskRelation->validate()) {
$cnn->begin();
- $result = $messageEventTaskRelation->save();
+ $result = $elementTaskRelation->save();
$cnn->commit();
//Return
- return $this->getMessageEventTaskRelation($messageEventTaskRelationUid);
+ return $this->getElementTaskRelation($elementTaskRelationUid);
} else {
$msg = "";
- foreach ($messageEventTaskRelation->getValidationFailures() as $validationFailure) {
+ foreach ($elementTaskRelation->getValidationFailures() as $validationFailure) {
$msg = $msg . (($msg != "")? "\n" : "") . $validationFailure->getMessage();
}
@@ -218,7 +219,7 @@ class MessageEventTaskRelation
}
/**
- * Delete Message-Event-Task-Relation
+ * Delete Element-Task-Relation
*
* @param array $arrayCondition Conditions
*
@@ -238,26 +239,27 @@ class MessageEventTaskRelation
}
}
- $result = \MessageEventTaskRelationPeer::doDelete($criteria);
+ $result = \ElementTaskRelationPeer::doDelete($criteria);
} catch (\Exception $e) {
throw $e;
}
}
/**
- * Get criteria for Message-Event-Task-Relation
+ * Get criteria for Element-Task-Relation
*
* return object
*/
- public function getMessageEventTaskRelationCriteria()
+ public function getElementTaskRelationCriteria()
{
try {
$criteria = new \Criteria("workflow");
- $criteria->addSelectColumn(\MessageEventTaskRelationPeer::MSGETR_UID);
- $criteria->addSelectColumn(\MessageEventTaskRelationPeer::PRJ_UID);
- $criteria->addSelectColumn(\MessageEventTaskRelationPeer::EVN_UID);
- $criteria->addSelectColumn(\MessageEventTaskRelationPeer::TAS_UID);
+ $criteria->addSelectColumn(\ElementTaskRelationPeer::ETR_UID);
+ $criteria->addSelectColumn(\ElementTaskRelationPeer::PRJ_UID);
+ $criteria->addSelectColumn(\ElementTaskRelationPeer::ELEMENT_UID);
+ $criteria->addSelectColumn(\ElementTaskRelationPeer::ELEMENT_TYPE);
+ $criteria->addSelectColumn(\ElementTaskRelationPeer::TAS_UID);
return $criteria;
} catch (\Exception $e) {
@@ -266,19 +268,20 @@ class MessageEventTaskRelation
}
/**
- * Get data of a Message-Event-Task-Relation from a record
+ * Get data of a Element-Task-Relation from a record
*
* @param array $record Record
*
- * return array Return an array with data Message-Event-Task-Relation
+ * return array Return an array with data Element-Task-Relation
*/
- public function getMessageEventTaskRelationDataFromRecord(array $record)
+ public function getElementTaskRelationDataFromRecord(array $record)
{
try {
return array(
- $this->getFieldNameByFormatFieldName("MSGETR_UID") => $record["MSGETR_UID"],
- $this->getFieldNameByFormatFieldName("EVN_UID") => $record["EVN_UID"],
- $this->getFieldNameByFormatFieldName("TAS_UID") => $record["TAS_UID"]
+ $this->getFieldNameByFormatFieldName("ETR_UID") => $record["ETR_UID"],
+ $this->getFieldNameByFormatFieldName("ELEMENT_UID") => $record["ELEMENT_UID"],
+ $this->getFieldNameByFormatFieldName("ELEMENT_TYPE") => $record["ELEMENT_TYPE"],
+ $this->getFieldNameByFormatFieldName("TAS_UID") => $record["TAS_UID"]
);
} catch (\Exception $e) {
throw $e;
@@ -286,25 +289,25 @@ class MessageEventTaskRelation
}
/**
- * Get data of a Message-Event-Task-Relation
+ * Get data of a Element-Task-Relation
*
- * @param string $messageEventTaskRelationUid Unique id of Message-Event-Task-Relation
- * @param bool $flagGetRecord Value that set the getting
+ * @param string $elementTaskRelationUid Unique id of Element-Task-Relation
+ * @param bool $flagGetRecord Value that set the getting
*
- * return array Return an array with data of a Message-Event-Task-Relation
+ * return array Return an array with data of a Element-Task-Relation
*/
- public function getMessageEventTaskRelation($messageEventTaskRelationUid, $flagGetRecord = false)
+ public function getElementTaskRelation($elementTaskRelationUid, $flagGetRecord = false)
{
try {
//Verify data
- $this->throwExceptionIfNotExistsMessageEventTaskRelation($messageEventTaskRelationUid, $this->arrayFieldNameForException["messageEventTaskRelationUid"]);
+ $this->throwExceptionIfNotExistsElementTaskRelation($elementTaskRelationUid, $this->arrayFieldNameForException["elementTaskRelationUid"]);
//Get data
- $criteria = $this->getMessageEventTaskRelationCriteria();
+ $criteria = $this->getElementTaskRelationCriteria();
- $criteria->add(\MessageEventTaskRelationPeer::MSGETR_UID, $messageEventTaskRelationUid, \Criteria::EQUAL);
+ $criteria->add(\ElementTaskRelationPeer::ETR_UID, $elementTaskRelationUid, \Criteria::EQUAL);
- $rsCriteria = \MessageEventTaskRelationPeer::doSelectRS($criteria);
+ $rsCriteria = \ElementTaskRelationPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
$rsCriteria->next();
@@ -312,25 +315,25 @@ class MessageEventTaskRelation
$row = $rsCriteria->getRow();
//Return
- return (!$flagGetRecord)? $this->getMessageEventTaskRelationDataFromRecord($row) : $row;
+ return (!$flagGetRecord)? $this->getElementTaskRelationDataFromRecord($row) : $row;
} catch (\Exception $e) {
throw $e;
}
}
/**
- * Get data of a Message-Event-Task-Relation
+ * Get data of a Element-Task-Relation
*
* @param array $arrayCondition Conditions
* @param bool $flagGetRecord Value that set the getting
*
- * return array Return an array with data of a Message-Event-Task-Relation, otherwise null
+ * return array Return an array with data of a Element-Task-Relation, otherwise null
*/
- public function getMessageEventTaskRelationWhere(array $arrayCondition, $flagGetRecord = false)
+ public function getElementTaskRelationWhere(array $arrayCondition, $flagGetRecord = false)
{
try {
//Get data
- $criteria = $this->getMessageEventTaskRelationCriteria();
+ $criteria = $this->getElementTaskRelationCriteria();
foreach ($arrayCondition as $key => $value) {
if (is_array($value)) {
@@ -340,14 +343,14 @@ class MessageEventTaskRelation
}
}
- $rsCriteria = \MessageEventTaskRelationPeer::doSelectRS($criteria);
+ $rsCriteria = \ElementTaskRelationPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
if ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
//Return
- return (!$flagGetRecord)? $this->getMessageEventTaskRelationDataFromRecord($row) : $row;
+ return (!$flagGetRecord)? $this->getElementTaskRelationDataFromRecord($row) : $row;
} else {
//Return
return null;
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/MessageApplication.php b/workflow/engine/src/ProcessMaker/BusinessModel/MessageApplication.php
index a3681cb42..5b0b57a53 100644
--- a/workflow/engine/src/ProcessMaker/BusinessModel/MessageApplication.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/MessageApplication.php
@@ -340,7 +340,7 @@ class MessageApplication
$criteria->addSelectColumn(\MessageEventDefinitionPeer::MSGED_USR_UID);
$criteria->addSelectColumn(\MessageEventDefinitionPeer::MSGED_VARIABLES);
$criteria->addSelectColumn(\MessageEventDefinitionPeer::MSGED_CORRELATION);
- $criteria->addSelectColumn(\MessageEventTaskRelationPeer::TAS_UID);
+ $criteria->addSelectColumn(\ElementTaskRelationPeer::TAS_UID);
$arrayEventType = array("START", "INTERMEDIATE");
$arrayEventMarker = array("MESSAGECATCH");
@@ -351,7 +351,8 @@ class MessageApplication
$criteria->addJoin(\MessageApplicationPeer::EVN_UID_CATCH, \MessageEventDefinitionPeer::EVN_UID, \Criteria::INNER_JOIN);
- $criteria->addJoin(\MessageApplicationPeer::EVN_UID_CATCH, \MessageEventTaskRelationPeer::EVN_UID, \Criteria::INNER_JOIN);
+ $criteria->addJoin(\MessageApplicationPeer::EVN_UID_CATCH, \ElementTaskRelationPeer::ELEMENT_UID, \Criteria::INNER_JOIN);
+ $criteria->add(\ElementTaskRelationPeer::ELEMENT_TYPE, "bpmnEvent", \Criteria::EQUAL);
if (!is_null($arrayFilterData) && is_array($arrayFilterData) && isset($arrayFilterData["messageApplicationStatus"]) && trim($arrayFilterData["messageApplicationStatus"]) != "") {
$criteria->add(\MessageApplicationPeer::MSGAPP_STATUS, $arrayFilterData["messageApplicationStatus"], \Criteria::EQUAL);
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php
index c45cdb087..9d36b4add 100644
--- a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php
@@ -288,7 +288,7 @@ class WebEntryEvent
throw new \Exception(\G::LoadTranslation("ID_EVENT_NOT_EXIST", array($this->arrayFieldNameForException["eventUid"], $arrayData["EVN_UID"])));
}
- if ($obj->getEvnType() != "START") {
+ if (($obj->getEvnType() != "START") || ($obj->getEvnType() == "START" && $obj->getEvnMarker() != "EMPTY")) {
throw new \Exception(\G::LoadTranslation("ID_EVENT_NOT_IS_START_EVENT", array($this->arrayFieldNameForException["eventUid"], $arrayData["EVN_UID"])));
}
}
diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php
index f245734e1..74432d1a2 100755
--- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php
+++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php
@@ -31,7 +31,7 @@ class BpmnWorkflow extends Project\Bpmn
"intermediate-catch-message-event" => array("type" => "INTERMEDIATE-CATCH-MESSAGE-EVENT", "prefix" => "icme-")
);
- private $arrayMessageEventTaskRelation = array();
+ private $arrayElementTaskRelation = array();
/**
* OVERRIDES
@@ -212,30 +212,49 @@ class BpmnWorkflow extends Project\Bpmn
}
- public function removeGateway($gatUid)
+ public function removeElementTaskRelation($elementUid, $elementType)
{
-// $gatewayData = $this->getGateway($gatUid);
-// $flowsDest = \BpmnFlow::findAllBy(\BpmnFlowPeer::FLO_ELEMENT_DEST, $gatUid);
+ try {
+ $elementTaskRelation = new \ProcessMaker\BusinessModel\ElementTaskRelation();
-// foreach ($flowsDest as $flowDest) {
-// switch ($flowDest->getFloElementOriginType()) {
-// case "bpmnActivity":
-// $actUid = $flowDest->getFloElementOrigin();
-// $flowsOrigin = \BpmnFlow::findAllBy(\BpmnFlowPeer::FLO_ELEMENT_ORIGIN, $gatUid);
-//
-// foreach ($flowsOrigin as $flowOrigin) {
-// switch ($flowOrigin->getFloElementDestType()) {
-// case "bpmnActivity":
-// $toActUid = $flowOrigin->getFloElementDest();
-// $this->wp->removeRouteFromTo($actUid, $toActUid);
-// break;
-// }
-// }
-// break;
-// }
-// }
+ $arrayElementTaskRelationData = $elementTaskRelation->getElementTaskRelationWhere(
+ array(
+ \ElementTaskRelationPeer::PRJ_UID => $this->wp->getUid(),
+ \ElementTaskRelationPeer::ELEMENT_UID => $elementUid,
+ \ElementTaskRelationPeer::ELEMENT_TYPE => $elementType
+ ),
+ true
+ );
- parent::removeGateway($gatUid);
+ if (!is_null($arrayElementTaskRelationData)) {
+ //Task - Delete
+ $arrayTaskData = $this->wp->getTask($arrayElementTaskRelationData["TAS_UID"]);
+
+ if (!is_null($arrayTaskData)) {
+ $this->wp->removeTask($arrayElementTaskRelationData["TAS_UID"]);
+ }
+
+ //Element-Task-Relation - Delete
+ $elementTaskRelation->deleteWhere(array(\ElementTaskRelationPeer::ETR_UID => $arrayElementTaskRelationData["ETR_UID"]));
+
+ //Array - Delete element
+ unset($this->arrayElementTaskRelation[$elementUid]);
+ }
+ } catch (\Exception $e) {
+ throw $e;
+ }
+ }
+
+ public function removeGateway($gatewayUid)
+ {
+ try {
+ //Element-Task-Relation - Delete
+ $this->removeElementTaskRelation($gatewayUid, "bpmnGateway");
+
+ parent::removeGateway($gatewayUid);
+ } catch (\Exception $e) {
+ throw $e;
+ }
}
public function addFlow($data)
@@ -249,7 +268,7 @@ class BpmnWorkflow extends Project\Bpmn
case "bpmnActivity":
$event = \BpmnEventPeer::retrieveByPK($data["FLO_ELEMENT_ORIGIN"]);
- // setting as start task
+ //Setting as start Task
if (!is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "EMPTY") {
$this->wp->setStartTask($data["FLO_ELEMENT_DEST"]);
}
@@ -269,7 +288,7 @@ class BpmnWorkflow extends Project\Bpmn
case "bpmnEvent":
$event = \BpmnEventPeer::retrieveByPK($data["FLO_ELEMENT_DEST"]);
- // setting as end task
+ //Setting as end Task
if (!is_null($event) && $event->getEvnType() == "END" && $event->getEvnMarker() == "EMPTY") {
$this->wp->setEndTask($data["FLO_ELEMENT_ORIGIN"]);
}
@@ -298,10 +317,10 @@ class BpmnWorkflow extends Project\Bpmn
$event = \BpmnEventPeer::retrieveByPK($flowBefore->getFloElementOrigin());
if (!is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "EMPTY") {
- //Remove as start task
+ //Remove as start Task
$this->wp->setStartTask($flowBefore->getFloElementDest(), false);
- //Setting as start task
+ //Setting as start Task
$this->wp->setStartTask($flowCurrent->getFloElementDest());
$this->updateEventStartObjects($flowCurrent->getFloElementOrigin(), $flowCurrent->getFloElementDest());
@@ -320,10 +339,10 @@ class BpmnWorkflow extends Project\Bpmn
$event = \BpmnEventPeer::retrieveByPK($flowBefore->getFloElementDest());
if (!is_null($event) && $event->getEvnType() == "END" && $event->getEvnMarker() == "EMPTY") {
- //Remove as end task
+ //Remove as end Task
$this->wp->setEndTask($flowBefore->getFloElementOrigin(), false);
- //Setting as end task
+ //Setting as end Task
$this->wp->setEndTask($flowCurrent->getFloElementOrigin());
}
}
@@ -336,7 +355,7 @@ class BpmnWorkflow extends Project\Bpmn
$event = \BpmnEventPeer::retrieveByPK($flowBefore->getFloElementDest());
if (!is_null($event) && $event->getEvnType() == "END" && $event->getEvnMarker() == "EMPTY") {
- //Remove as end task
+ //Remove as end Task
$this->wp->setEndTask($flowBefore->getFloElementOrigin(), false);
}
}
@@ -395,6 +414,7 @@ class BpmnWorkflow extends Project\Bpmn
if (!is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "EMPTY") {
$activity = \BpmnActivityPeer::retrieveByPK($flow->getFloElementDest());
+ //Remove as start Task
if (!is_null($activity)) {
$this->wp->setStartTask($activity->getActUid(), false);
}
@@ -416,6 +436,7 @@ class BpmnWorkflow extends Project\Bpmn
if (!is_null($event) && $event->getEvnType() == "END" && $event->getEvnMarker() == "EMPTY") {
$activity = \BpmnActivityPeer::retrieveByPK($flow->getFloElementOrigin());
+ //Remove as end Task
if (! is_null($activity)) {
$this->wp->setEndTask($activity->getActUid(), false);
}
@@ -453,6 +474,79 @@ class BpmnWorkflow extends Project\Bpmn
// TODO Complete for other routes, activity->activity, activity->gateway and viceversa
}
+ public function updateEventActivityDefinition(\BpmnEvent $bpmnEvent, $flagStartTask)
+ {
+ try {
+ if ($bpmnEvent->getEvnType() == "START") {
+ //Flows
+ $arrayFlow = \BpmnFlow::findAllBy(array(
+ \BpmnFlowPeer::FLO_TYPE => array("MESSAGE", \Criteria::NOT_EQUAL),
+ \BpmnFlowPeer::FLO_ELEMENT_ORIGIN => $bpmnEvent->getEvnUid(),
+ \BpmnFlowPeer::FLO_ELEMENT_ORIGIN_TYPE => "bpmnEvent"
+ ));
+
+ foreach ($arrayFlow as $value) {
+ $arrayFlowData = $value->toArray();
+
+ switch ($arrayFlowData["FLO_ELEMENT_DEST_TYPE"]) {
+ case "bpmnActivity":
+ //Setting as start Task
+ //or
+ //Remove as start Task
+ $this->wp->setStartTask($arrayFlowData["FLO_ELEMENT_DEST"], $flagStartTask);
+ break;
+ }
+ }
+ }
+ } catch (\Exception $e) {
+ throw $e;
+ }
+ }
+
+ public function removeEventDefinition(\BpmnEvent $bpmnEvent)
+ {
+ try {
+ //Case-Scheduler - Delete
+ if ($bpmnEvent->getEvnType() == "START" && $bpmnEvent->getEvnMarker() == "TIMER") {
+ $caseScheduler = new \CaseScheduler();
+
+ if ($caseScheduler->Exists($bpmnEvent->getEvnUid())) {
+ $this->wp->removeCaseScheduler($bpmnEvent->getEvnUid());
+ }
+ }
+
+ //WebEntry-Event - Delete
+ if ($bpmnEvent->getEvnType() == "START" && $bpmnEvent->getEvnMarker() == "EMPTY") {
+ $webEntryEvent = new \ProcessMaker\BusinessModel\WebEntryEvent();
+
+ if ($webEntryEvent->existsEvent($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid())) {
+ $arrayWebEntryEventData = $webEntryEvent->getWebEntryEventByEvent($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid(), true);
+
+ $webEntryEvent->delete($arrayWebEntryEventData["WEE_UID"]);
+ }
+ }
+
+ //Message-Event-Definition - Delete
+ $arrayEventType = array("START", "END", "INTERMEDIATE");
+ $arrayEventMarker = array("MESSAGETHROW", "MESSAGECATCH");
+
+ if (in_array($bpmnEvent->getEvnType(), $arrayEventType) && in_array($bpmnEvent->getEvnMarker(), $arrayEventMarker)) {
+ $messageEventDefinition = new \ProcessMaker\BusinessModel\MessageEventDefinition();
+
+ if ($messageEventDefinition->existsEvent($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid())) {
+ $arrayMessageEventDefinitionData = $messageEventDefinition->getMessageEventDefinitionByEvent($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid(), true);
+
+ $messageEventDefinition->delete($arrayMessageEventDefinitionData["MSGED_UID"]);
+ }
+ }
+
+ //Element-Task-Relation - Delete
+ $this->removeElementTaskRelation($bpmnEvent->getEvnUid(), "bpmnEvent");
+ } catch (\Exception $e) {
+ throw $e;
+ }
+ }
+
public function addEvent($data)
{
if (! array_key_exists("EVN_TYPE", $data)) {
@@ -475,80 +569,49 @@ class BpmnWorkflow extends Project\Bpmn
return $eventUid;
}
+ public function updateEvent($eventUid, array $arrayEventData)
+ {
+ try {
+ $bpmnEvent = \BpmnEventPeer::retrieveByPK($eventUid);
+
+ if ((isset($arrayEventData["EVN_TYPE"]) && $arrayEventData["EVN_TYPE"] != $bpmnEvent->getEvnType()) ||
+ (isset($arrayEventData["EVN_MARKER"]) && $arrayEventData["EVN_MARKER"] != $bpmnEvent->getEvnMarker())
+ ) {
+ $this->updateEventActivityDefinition($bpmnEvent, false);
+ $this->removeEventDefinition($bpmnEvent);
+ }
+
+ parent::updateEvent($eventUid, $arrayEventData);
+ } catch (\Exception $e) {
+ throw $e;
+ }
+ }
+
public function removeEvent($eventUid)
{
- $event = \BpmnEventPeer::retrieveByPK($eventUid);
+ try {
+ $bpmnEvent = \BpmnEventPeer::retrieveByPK($eventUid);
- //Delete case scheduler
- if ($event && $event->getEvnMarker() == "TIMER" && $event->getEvnType() == "START") {
- $this->wp->removeCaseScheduler($eventUid);
+ $this->updateEventActivityDefinition($bpmnEvent, false);
+ $this->removeEventDefinition($bpmnEvent);
+
+ parent::removeEvent($eventUid);
+ } catch (\Exception $e) {
+ throw $e;
}
-
- if (!is_null($event)) {
- //WebEntry-Event - Delete
- if ($event->getEvnType() == "START") {
- $webEntryEvent = new \ProcessMaker\BusinessModel\WebEntryEvent();
-
- if ($webEntryEvent->existsEvent($event->getPrjUid(), $eventUid)) {
- $arrayWebEntryEventData = $webEntryEvent->getWebEntryEventByEvent($event->getPrjUid(), $eventUid, true);
-
- $webEntryEvent->delete($arrayWebEntryEventData["WEE_UID"]);
- }
- }
-
- //Message-Event-Definition - Delete
- $arrayEventType = array("START", "END", "INTERMEDIATE");
- $arrayEventMarker = array("MESSAGETHROW", "MESSAGECATCH");
-
- if (!is_null($event) &&
- in_array($event->getEvnType(), $arrayEventType) && in_array($event->getEvnMarker(), $arrayEventMarker)
- ) {
- $messageEventDefinition = new \ProcessMaker\BusinessModel\MessageEventDefinition();
-
- if ($messageEventDefinition->existsEvent($event->getPrjUid(), $eventUid)) {
- $arrayMessageEventDefinitionData = $messageEventDefinition->getMessageEventDefinitionByEvent($event->getPrjUid(), $eventUid, true);
-
- $messageEventDefinition->delete($arrayMessageEventDefinitionData["MSGED_UID"]);
- }
- }
-
- //Message-Event-Task-Relation - Delete
- $messageEventTaskRelation = new \ProcessMaker\BusinessModel\MessageEventTaskRelation();
-
- $arrayMessageEventTaskRelationData = $messageEventTaskRelation->getMessageEventTaskRelationWhere(
- array(
- \MessageEventTaskRelationPeer::PRJ_UID => $event->getPrjUid(),
- \MessageEventTaskRelationPeer::EVN_UID => $event->getEvnUid()
- ),
- true
- );
-
- if (!is_null($arrayMessageEventTaskRelationData)) {
- //Task - Delete
- $arrayTaskData = $this->wp->getTask($arrayMessageEventTaskRelationData["TAS_UID"]);
-
- if (!is_null($arrayTaskData)) {
- $this->wp->removeTask($arrayMessageEventTaskRelationData["TAS_UID"]);
- }
-
- //Message-Event-Task-Relation - Delete
- $messageEventTaskRelation->deleteWhere(array(\MessageEventTaskRelationPeer::MSGETR_UID => $arrayMessageEventTaskRelationData["MSGETR_UID"]));
-
- //Array - Delete element
- unset($this->arrayMessageEventTaskRelation[$eventUid]);
- }
- }
-
- parent::removeEvent($eventUid);
}
public function updateEventStartObjects($eventUid, $taskUid)
{
$event = \BpmnEventPeer::retrieveByPK($eventUid);
- //Update case scheduler
+ //Case-Scheduler - Update
if (!is_null($event) && $event->getEvnType() == "START" && $event->getEvnMarker() == "TIMER") {
- $this->wp->updateCaseScheduler($eventUid, array("TAS_UID" => $taskUid));
+ $caseScheduler = new \CaseScheduler();
+
+ if ($caseScheduler->Exists($eventUid)) {
+ $this->wp->updateCaseScheduler($eventUid, array("TAS_UID" => $taskUid));
+ }
}
//Update web entry
@@ -560,8 +623,8 @@ class BpmnWorkflow extends Project\Bpmn
public function createTaskByElement($elementUid, $elementType, $key)
{
try {
- if (isset($this->arrayMessageEventTaskRelation[$elementUid])) {
- $taskUid = $this->arrayMessageEventTaskRelation[$elementUid];
+ if (isset($this->arrayElementTaskRelation[$elementUid])) {
+ $taskUid = $this->arrayElementTaskRelation[$elementUid];
} else {
$taskPosX = 0;
$taskPosY = 0;
@@ -604,7 +667,6 @@ class BpmnWorkflow extends Project\Bpmn
if ($elementType == "bpmnEvent" &&
in_array($key, array("end-message-event", "start-message-event", "intermediate-catch-message-event"))
) {
-
if (in_array($key, array("start-message-event", "intermediate-catch-message-event"))) {
//Task - User
//Assign to admin
@@ -612,21 +674,22 @@ class BpmnWorkflow extends Project\Bpmn
$result = $task->assignUser($taskUid, "00000000000000000000000000000001", 1);
}
-
- //Message-Event-Task-Relation - Create
- $messageEventTaskRelation = new \ProcessMaker\BusinessModel\MessageEventTaskRelation();
-
- $arrayResult = $messageEventTaskRelation->create(
- $this->wp->getUid(),
- array(
- "EVN_UID" => $elementUid,
- "TAS_UID" => $taskUid
- )
- );
-
- //Array - Add element
- $this->arrayMessageEventTaskRelation[$elementUid] = $taskUid;
}
+
+ //Element-Task-Relation - Create
+ $elementTaskRelation = new \ProcessMaker\BusinessModel\ElementTaskRelation();
+
+ $arrayResult = $elementTaskRelation->create(
+ $this->wp->getUid(),
+ array(
+ "ELEMENT_UID" => $elementUid,
+ "ELEMENT_TYPE" => $elementType,
+ "TAS_UID" => $taskUid
+ )
+ );
+
+ //Array - Add element
+ $this->arrayElementTaskRelation[$elementUid] = $taskUid;
}
//Return
@@ -695,9 +758,9 @@ class BpmnWorkflow extends Project\Bpmn
\BpmnFlowPeer::FLO_ELEMENT_ORIGIN_TYPE => "bpmnGateway"
));
- if ($arrayFlow > 0) {
- $this->wp->resetTaskRoutes($activityUid);
- }
+ //if ($arrayFlow > 0) {
+ // $this->wp->resetTaskRoutes($activityUid);
+ //}
foreach ($arrayFlow as $value) {
$arrayFlowData = $value->toArray();
@@ -734,9 +797,6 @@ class BpmnWorkflow extends Project\Bpmn
case "END":
//$event->getEvnMarker(): EMPTY or MESSAGETHROW
switch ($event->getEvnMarker()) {
- case "EMPTY":
- $result = $this->wp->addRoute($activityUid, -1, $routeType, $routeCondition, $routeDefault);
- break;
case "MESSAGETHROW":
$taskUid = $this->createTaskByElement(
$event->getEvnUid(),
@@ -747,9 +807,14 @@ class BpmnWorkflow extends Project\Bpmn
$result = $this->wp->addRoute($activityUid, $taskUid, $routeType, $routeCondition, $routeDefault);
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
break;
+ default:
+ //EMPTY //and others types
+ $result = $this->wp->addRoute($activityUid, -1, $routeType, $routeCondition, $routeDefault);
+ break;
}
break;
- case "INTERMEDIATE":
+ default:
+ //INTERMEDIATE //and others types
$this->mapBpmnEventToWorkflowRoutes($activityUid, $arrayFlowData["FLO_ELEMENT_DEST"], $routeType, $routeCondition, $routeDefault);
break;
}
@@ -774,12 +839,7 @@ class BpmnWorkflow extends Project\Bpmn
try {
$arrayEventData = \BpmnEvent::findOneBy(\BpmnEventPeer::EVN_UID, $eventUid)->toArray();
- $arrayEventType = array("START", "INTERMEDIATE");
- $arrayEventMarker = array("MESSAGETHROW", "MESSAGECATCH");
-
- if (!is_null($arrayEventData) &&
- in_array($arrayEventData["EVN_TYPE"], $arrayEventType) && in_array($arrayEventData["EVN_MARKER"], $arrayEventMarker)
- ) {
+ if (!is_null($arrayEventData)) {
//Event - INTERMEDIATE-CATCH-MESSAGE-EVENT
if ($arrayEventData["EVN_TYPE"] == "INTERMEDIATE" && $arrayEventData["EVN_MARKER"] == "MESSAGECATCH") {
$taskUid = $this->createTaskByElement(
@@ -828,9 +888,6 @@ class BpmnWorkflow extends Project\Bpmn
case "END":
//$event->getEvnMarker(): EMPTY or MESSAGETHROW
switch ($event->getEvnMarker()) {
- case "EMPTY":
- $result = $this->wp->addRoute($activityUid, -1, $routeType, $routeCondition, $routeDefault);
- break;
case "MESSAGETHROW":
$taskUid = $this->createTaskByElement(
$event->getEvnUid(),
@@ -841,9 +898,14 @@ class BpmnWorkflow extends Project\Bpmn
$result = $this->wp->addRoute($activityUid, $taskUid, $routeType, $routeCondition, $routeDefault);
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
break;
+ default:
+ //EMPTY //and others types
+ $result = $this->wp->addRoute($activityUid, -1, $routeType, $routeCondition, $routeDefault);
+ break;
}
break;
- case "INTERMEDIATE":
+ default:
+ //INTERMEDIATE //and others types
$this->mapBpmnEventToWorkflowRoutes($activityUid, $arrayFlowData["FLO_ELEMENT_DEST"], $routeType, $routeCondition, $routeDefault);
break;
}
@@ -866,18 +928,18 @@ class BpmnWorkflow extends Project\Bpmn
public function mapBpmnFlowsToWorkflowRoutes()
{
- //Task - Delete dummies
- $this->wp->deleteTaskByArrayType(
- $this->wp->getUid(),
- array(
- $this->arrayTaskAttribute["gateway-to-gateway"]["type"]
- )
- );
+ //Task dummies //Delete Task Routes
+ foreach ($this->arrayElementTaskRelation as $value) {
+ $this->wp->resetTaskRoutes($value);
+ }
//Activities
foreach ($this->getActivities() as $value) {
$activity = $value;
+ //Delete Task Routes
+ $this->wp->resetTaskRoutes($activity["ACT_UID"]);
+
//Flows
$arrayFlow = \BpmnFlow::findAllBy(array(
\BpmnFlowPeer::FLO_TYPE => array("MESSAGE", \Criteria::NOT_EQUAL),
@@ -910,9 +972,6 @@ class BpmnWorkflow extends Project\Bpmn
case "END":
//$event->getEvnMarker(): EMPTY or MESSAGETHROW
switch ($event->getEvnMarker()) {
- case "EMPTY":
- //This it's already implemented
- break;
case "MESSAGETHROW":
$taskUid = $this->createTaskByElement(
$event->getEvnUid(),
@@ -923,9 +982,15 @@ class BpmnWorkflow extends Project\Bpmn
$result = $this->wp->addRoute($activity["ACT_UID"], $taskUid, "SEQUENTIAL");
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
break;
+ default:
+ //EMPTY //This it's already implemented
+ //and others types
+ $result = $this->wp->addRoute($activity["ACT_UID"], -1, "SEQUENTIAL");
+ break;
}
break;
- case "INTERMEDIATE":
+ default:
+ //INTERMEDIATE //and others types
$this->mapBpmnEventToWorkflowRoutes($activity["ACT_UID"], $flow->getFloElementDest());
break;
}
@@ -935,31 +1000,33 @@ class BpmnWorkflow extends Project\Bpmn
}
}
- //Events - Message-Event
- $arrayEventType = array("START", "END", "INTERMEDIATE");
- $arrayEventMarker = array("MESSAGETHROW", "MESSAGECATCH");
-
+ //Events
foreach ($this->getEvents() as $value) {
$event = $value;
- if (in_array($event["EVN_TYPE"], $arrayEventType) && in_array($event["EVN_MARKER"], $arrayEventMarker)) {
- switch ($event["EVN_TYPE"]) {
- case "START":
- $taskUid = $this->createTaskByElement(
- $event["EVN_UID"],
- "bpmnEvent",
- "start-message-event"
- );
+ switch ($event["EVN_TYPE"]) {
+ case "START":
+ switch ($event["EVN_MARKER"]) {
+ case "MESSAGECATCH":
+ $taskUid = $this->createTaskByElement(
+ $event["EVN_UID"],
+ "bpmnEvent",
+ "start-message-event"
+ );
- $this->wp->setStartTask($taskUid);
+ $this->wp->setStartTask($taskUid);
- $this->mapBpmnEventToWorkflowRoutes($taskUid, $event["EVN_UID"]);
- break;
- case "END":
- break;
- case "INTERMEDIATE":
- break;
- }
+ $this->mapBpmnEventToWorkflowRoutes($taskUid, $event["EVN_UID"]);
+ break;
+ case "EMPTY":
+ $this->updateEventActivityDefinition(\BpmnEventPeer::retrieveByPK($event["EVN_UID"]), true);
+ break;
+ }
+ break;
+ case "END":
+ break;
+ case "INTERMEDIATE":
+ break;
}
}
}
@@ -1102,6 +1169,29 @@ class BpmnWorkflow extends Project\Bpmn
return $project;
}
+ public function updateBoundByArrayUid(array $arrayObjectData, array $arrayUid)
+ {
+ try {
+ unset($arrayObjectData["BOU_UID"]);
+
+ if ($arrayObjectData["BOU_CONTAINER"] == "bpmnPool" ||
+ $arrayObjectData["BOU_CONTAINER"] == "bpmnLane" ||
+ $arrayObjectData["BOU_CONTAINER"] == "bpmnActivity"
+ ) {
+ foreach ($arrayUid as $value) {
+ if ($arrayObjectData["BOU_ELEMENT"] == $value["old_uid"]) {
+ $arrayObjectData["BOU_ELEMENT"] = $value["new_uid"];
+ }
+ }
+ }
+
+ //Return
+ return $arrayObjectData;
+ } catch (\Exception $e) {
+ throw $e;
+ }
+ }
+
/**
* Update project from a struct defined.
*
@@ -1164,24 +1254,24 @@ class BpmnWorkflow extends Project\Bpmn
$bwp->update($projectRecord);
//Array - Set empty
- $bwp->arrayMessageEventTaskRelation = array();
+ $bwp->arrayElementTaskRelation = array();
- //Message-Event-Task-Relation - Get all records
+ //Element-Task-Relation - Get all records
$criteria = new \Criteria("workflow");
- $criteria->addSelectColumn(\MessageEventTaskRelationPeer::EVN_UID);
- $criteria->addSelectColumn(\MessageEventTaskRelationPeer::TAS_UID);
+ $criteria->addSelectColumn(\ElementTaskRelationPeer::ELEMENT_UID);
+ $criteria->addSelectColumn(\ElementTaskRelationPeer::TAS_UID);
- $criteria->add(\MessageEventTaskRelationPeer::PRJ_UID, $bwp->wp->getUid(), \Criteria::EQUAL);
+ $criteria->add(\ElementTaskRelationPeer::PRJ_UID, $bwp->wp->getUid(), \Criteria::EQUAL);
- $rsCriteria = \MessageEventTaskRelationPeer::doSelectRS($criteria);
+ $rsCriteria = \ElementTaskRelationPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
while ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
//Array - Add element
- $bwp->arrayMessageEventTaskRelation[$row["EVN_UID"]] = $row["TAS_UID"];
+ $bwp->arrayElementTaskRelation[$row["ELEMENT_UID"]] = $row["TAS_UID"];
}
/*
@@ -1195,7 +1285,7 @@ class BpmnWorkflow extends Project\Bpmn
if ($forceInsert || is_null($dataObject)) {
if ($generateUid) {
- //Laneset
+ //Generate and update UID
unset($lanesetData["BOU_UID"]);
$uidOld = $lanesetData["LNS_UID"];
@@ -1246,7 +1336,7 @@ class BpmnWorkflow extends Project\Bpmn
if ($forceInsert || is_null($dataObject)) {
if ($generateUid) {
- //Laneset
+ //Generate and update UID
unset($laneData["BOU_UID"]);
$uidOld = $laneData["LAN_UID"];
@@ -1295,20 +1385,10 @@ class BpmnWorkflow extends Project\Bpmn
}
if ($forceInsert || is_null($activity)) {
-
if ($generateUid) {
- //Activity
+ //Generate and update UID
+ $activityData = $bwp->updateBoundByArrayUid($activityData, $result);
- //Update UIDs
- if ($activityData["BOU_CONTAINER"] == "bpmnPool" || $activityData["BOU_CONTAINER"] == "bpmnLane" || $activityData["BOU_CONTAINER"] == "bpmnActivity") {
- foreach ($result as $value) {
- if ($activityData["BOU_ELEMENT"] == $value["old_uid"]) {
- $activityData["BOU_ELEMENT"] = $value["new_uid"];
- }
- }
- }
-
- unset($activityData["BOU_UID"]);
$uidOld = $activityData["ACT_UID"];
$activityData["ACT_UID"] = Util\Common::generateUID();
@@ -1356,18 +1436,8 @@ class BpmnWorkflow extends Project\Bpmn
if ($forceInsert || is_null($artifact)) {
if ($generateUid) {
- //Artifact
-
- //Update UIDs
- if ($artifactData["BOU_CONTAINER"] == "bpmnPool" || $artifactData["BOU_CONTAINER"] == "bpmnLane" || $artifactData["BOU_CONTAINER"] == "bpmnActivity") {
- foreach ($result as $value) {
- if ($artifactData["BOU_ELEMENT"] == $value["old_uid"]) {
- $artifactData["BOU_ELEMENT"] = $value["new_uid"];
- }
- }
- }
-
- unset($artifactData["BOU_UID"]);
+ //Generate and update UID
+ $artifactData = $bwp->updateBoundByArrayUid($artifactData, $result);
$uidOld = $artifactData["ART_UID"];
$artifactData["ART_UID"] = Util\Common::generateUID();
@@ -1401,6 +1471,7 @@ class BpmnWorkflow extends Project\Bpmn
/*
* Diagram's Gateways Handling
*/
+ $arrayGatewayUid = array();
$arrayUidGatewayParallel = array();
$flagGatewayParallel = false;
@@ -1420,18 +1491,8 @@ class BpmnWorkflow extends Project\Bpmn
if ($forceInsert || is_null($gateway)) {
if ($generateUid) {
- //Gateway
-
- //Update UIDs
- if ($gatewayData["BOU_CONTAINER"] == "bpmnPool" || $gatewayData["BOU_CONTAINER"] == "bpmnLane" || $gatewayData["BOU_CONTAINER"] == "bpmnActivity") {
- foreach ($result as $value) {
- if ($gatewayData["BOU_ELEMENT"] == $value["old_uid"]) {
- $gatewayData["BOU_ELEMENT"] = $value["new_uid"];
- }
- }
- }
-
- unset($gatewayData["BOU_UID"]);
+ //Generate and update UID
+ $gatewayData = $bwp->updateBoundByArrayUid($gatewayData, $result);
$uidOld = $gatewayData["GAT_UID"];
$gatewayData["GAT_UID"] = Util\Common::generateUID();
@@ -1463,6 +1524,8 @@ class BpmnWorkflow extends Project\Bpmn
}
}
+ $arrayGatewayUid[$gatewayData["GAT_UID"]] = 1;
+
$diagram["gateways"][$i] = $gatewayData;
$whiteList[] = $gatewayData["GAT_UID"];
}
@@ -1482,10 +1545,13 @@ class BpmnWorkflow extends Project\Bpmn
$whiteList = array();
foreach ($diagram["events"] as $i => $eventData) {
$eventData = array_change_key_case($eventData, CASE_UPPER);
+
unset($eventData["_EXTENDED"]);
+
if (array_key_exists("EVN_CANCEL_ACTIVITY", $eventData)) {
$eventData["EVN_CANCEL_ACTIVITY"] = $eventData["EVN_CANCEL_ACTIVITY"] ? 1 : 0;
}
+
if (array_key_exists("EVN_WAIT_FOR_COMPLETION", $eventData)) {
$eventData["EVN_WAIT_FOR_COMPLETION"] = $eventData["EVN_WAIT_FOR_COMPLETION"] ? 1 : 0;
}
@@ -1498,18 +1564,8 @@ class BpmnWorkflow extends Project\Bpmn
if ($forceInsert || is_null($event)) {
if ($generateUid) {
- //Event
-
- //Update UIDs
- if ($eventData["BOU_CONTAINER"] == "bpmnPool" || $eventData["BOU_CONTAINER"] == "bpmnLane" || $eventData["BOU_CONTAINER"] == "bpmnActivity") {
- foreach ($result as $value) {
- if ($eventData["BOU_ELEMENT"] == $value["old_uid"]) {
- $eventData["BOU_ELEMENT"] = $value["new_uid"];
- }
- }
- }
-
- unset($eventData["BOU_UID"]);
+ //Generate and update UID
+ $eventData = $bwp->updateBoundByArrayUid($eventData, $result);
$uidOld = $eventData["EVN_UID"];
$eventData["EVN_UID"] = Util\Common::generateUID();
@@ -1558,18 +1614,8 @@ class BpmnWorkflow extends Project\Bpmn
if ($forceInsert || is_null($dataObject)) {
if ($generateUid) {
- //Data
-
- //Update UIDs
- if ($dataObjectData["BOU_CONTAINER"] == "bpmnPool" || $dataObjectData["BOU_CONTAINER"] == "bpmnLane" || $dataObjectData["BOU_CONTAINER"] == "bpmnActivity") {
- foreach ($result as $value) {
- if ($dataObjectData["BOU_ELEMENT"] == $value["old_uid"]) {
- $dataObjectData["BOU_ELEMENT"] = $value["new_uid"];
- }
- }
- }
-
- unset($dataObjectData["BOU_UID"]);
+ //Generate and update UID
+ $dataObjectData = $bwp->updateBoundByArrayUid($dataObjectData, $result);
$uidOld = $dataObjectData["DAT_UID"];
$dataObjectData["DAT_UID"] = Util\Common::generateUID();
@@ -1618,18 +1664,8 @@ class BpmnWorkflow extends Project\Bpmn
if ($forceInsert || is_null($participant)) {
if ($generateUid) {
- //Participant
-
- //Update UIDs
- if ($participantData["BOU_CONTAINER"] == "bpmnPool" || $participantData["BOU_CONTAINER"] == "bpmnLane" || $participantData["BOU_CONTAINER"] == "bpmnActivity") {
- foreach ($result as $value) {
- if ($participantData["BOU_ELEMENT"] == $value["old_uid"]) {
- $participantData["BOU_ELEMENT"] = $value["new_uid"];
- }
- }
- }
-
- unset($participantData["BOU_UID"]);
+ //Generate and update UID
+ $participantData = $bwp->updateBoundByArrayUid($participantData, $result);
$uidOld = $participantData["PAR_UID"];
$participantData["PAR_UID"] = Util\Common::generateUID();
@@ -1665,9 +1701,9 @@ class BpmnWorkflow extends Project\Bpmn
/*
* Diagram's Flows Handling
*/
+ $arrayGatewayGatDefaultFlow = array();
+
$whiteList = array();
- $defaultFlow = array();
- $pos = 0;
foreach ($diagram["flows"] as $i => $flowData) {
$flowData = array_change_key_case($flowData, CASE_UPPER);
@@ -1675,8 +1711,8 @@ class BpmnWorkflow extends Project\Bpmn
// if it is a new flow record
if ($forceInsert || ($generateUid && !\BpmnFlow::exists($flowData["FLO_UID"]))) {
$uidOld = $flowData["FLO_UID"];
-
$flowData["FLO_UID"] = Util\Common::generateUID();
+
$result[] = array(
"object" => "flow",
"old_uid" => $uidOld,
@@ -1695,12 +1731,6 @@ class BpmnWorkflow extends Project\Bpmn
$flowData["FLO_ELEMENT_DEST"] = $mappedUid;
}
}
- //Save the default flow Uid's
- if($flowData["FLO_TYPE"] == 'DEFAULT'){
- $defaultFlow[$pos]['GAT_UID'] = $flowData["FLO_ELEMENT_ORIGIN"];
- $defaultFlow[$pos]['GAT_DEFAULT_FLOW'] = $flowData["FLO_UID"];
- $pos++;
- }
//Update UIDs
foreach ($result as $value) {
@@ -1718,6 +1748,11 @@ class BpmnWorkflow extends Project\Bpmn
$flowData["FLO_CONDITION"] = "";
}
+ //Add element to array Gateway default flow
+ if ($flowData["FLO_TYPE"] == "DEFAULT" && isset($arrayGatewayUid[$flowData["FLO_ELEMENT_ORIGIN"]])) {
+ $arrayGatewayGatDefaultFlow[$flowData["FLO_ELEMENT_ORIGIN"]] = $flowData["FLO_UID"];
+ }
+
$diagram["flows"][$i] = $flowData;
$whiteList[] = $flowData["FLO_UID"];
}
@@ -1742,19 +1777,14 @@ class BpmnWorkflow extends Project\Bpmn
}
}
- $bwp->mapBpmnFlowsToWorkflowRoutes();
-
- //Update the Default gateway
- $gateways = $bwp->getGateways();
- foreach ($gateways as $gatewayData) {
- foreach ($defaultFlow as $def) {
- if($gatewayData["GAT_UID"] == $def["GAT_UID"]){
- $gatewayData["GAT_DEFAULT_FLOW"] = $def["GAT_DEFAULT_FLOW"];
- $bwp->updateGateway($gatewayData["GAT_UID"], $gatewayData);
- }
- }
+ //Update BPMN_GATEWAY.GAT_DEFAULT_FLOW
+ foreach ($arrayGatewayGatDefaultFlow as $key => $value) {
+ $bwp->updateGateway($key, array("GAT_DEFAULT_FLOW" => $value));
}
+ $bwp->mapBpmnFlowsToWorkflowRoutes();
+
+ //Return
return $result;
}
@@ -1780,7 +1810,7 @@ class BpmnWorkflow extends Project\Bpmn
try {
$bpmnEvent = \BpmnEventPeer::retrieveByPK($eventUid);
- if (!is_null($bpmnEvent) && $bpmnEvent->getEvnType() == "START") {
+ if (!is_null($bpmnEvent) && $bpmnEvent->getEvnType() == "START" && $bpmnEvent->getEvnMarker() == "EMPTY") {
$webEntryEvent = new \ProcessMaker\BusinessModel\WebEntryEvent();
if ($webEntryEvent->existsEvent($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid())) {
diff --git a/workflow/engine/src/ProcessMaker/Project/Workflow.php b/workflow/engine/src/ProcessMaker/Project/Workflow.php
index c46911cfc..e2c8a3eb9 100755
--- a/workflow/engine/src/ProcessMaker/Project/Workflow.php
+++ b/workflow/engine/src/ProcessMaker/Project/Workflow.php
@@ -828,9 +828,9 @@ class Workflow extends Handler
$messageEventRelation->deleteWhere(array(\MessageEventRelationPeer::PRJ_UID => $sProcessUID));
//Delete Message-Event-Task-Relation
- $messageEventTaskRelation = new \ProcessMaker\BusinessModel\MessageEventTaskRelation();
+ $elementTaskRelation = new \ProcessMaker\BusinessModel\ElementTaskRelation();
- $messageEventTaskRelation->deleteWhere(array(\MessageEventTaskRelationPeer::PRJ_UID => $sProcessUID));
+ $elementTaskRelation->deleteWhere(array(\ElementTaskRelationPeer::PRJ_UID => $sProcessUID));
//Delete Message-Event-Definition
$messageEventDefinition = new \ProcessMaker\BusinessModel\MessageEventDefinition();
@@ -1286,33 +1286,5 @@ class Workflow extends Handler
throw $e;
}
}
-
- public function deleteTaskByArrayType($processUid, array $arrayTaskType)
- {
- try {
- $task = new \Tasks();
-
- $criteria = new \Criteria("workflow");
-
- $criteria->addSelectColumn(\TaskPeer::TAS_UID);
- $criteria->add(\TaskPeer::PRO_UID, $processUid, \Criteria::EQUAL);
- $criteria->add(\TaskPeer::TAS_TYPE, $arrayTaskType, \Criteria::IN);
-
- $rsCriteria = \TaskPeer::doSelectRS($criteria);
- $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
-
- while ($rsCriteria->next()) {
- $row = $rsCriteria->getRow();
-
- $taskUid = $row["TAS_UID"];
-
- $task->deleteTask($taskUid);
- }
- } catch (\Exception $e) {
- self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
-
- throw $e;
- }
- }
}
diff --git a/workflow/engine/templates/admin/calendarEdit.js b/workflow/engine/templates/admin/calendarEdit.js
index efb86fc74..43f19a234 100644
--- a/workflow/engine/templates/admin/calendarEdit.js
+++ b/workflow/engine/templates/admin/calendarEdit.js
@@ -770,7 +770,7 @@ Ext.onReady( function() {
items : [
{
xtype : 'displayfield',
- width : 192,
+ width : 90,
value : ''
},
{
@@ -780,6 +780,7 @@ Ext.onReady( function() {
hideLabel : true,
name : 'label1',
checked : true,
+ style : 'margin-left: 10px',
boxLabel : _('ID_ACTIVE')
}
]
diff --git a/workflow/engine/templates/departments/departmentUsers.js b/workflow/engine/templates/departments/departmentUsers.js
index fbb8362c9..684003265 100755
--- a/workflow/engine/templates/departments/departmentUsers.js
+++ b/workflow/engine/templates/departments/departmentUsers.js
@@ -71,6 +71,13 @@ Ext.onReady(function(){
disabled: true
});
+ NoSupervisorButton = new Ext.Action({
+ text: _('ID_SET_NO_MANAGER'),
+ iconCls: 'button_menu_ext ss_sprite ss_user_edit',
+ handler: RemoveSupervisor,
+ disabled: true
+ });
+
backButton = new Ext.Action({
text : _('ID_BACK'),
iconCls: 'button_menu_ext ss_sprite ss_arrow_redo',
@@ -133,12 +140,15 @@ Ext.onReady(function(){
switch(sm.getCount()){
case 0: Ext.getCmp('removeButton').disable();
supervisorButton.disable();
+ NoSupervisorButton.disable();
break;
case 1: Ext.getCmp('removeButton').enable();
supervisorButton.enable();
+ NoSupervisorButton.enable();
break;
default: Ext.getCmp('removeButton').enable();
supervisorButton.disable();
+ NoSupervisorButton.disable();
break;
}
}
@@ -248,7 +258,7 @@ Ext.onReady(function(){
frame : false,
columnLines : false,
viewConfig : {forceFit:true},
- tbar: [editMembersButton,'-',supervisorButton,{xtype: 'tbfill'},'-',searchTextP,clearTextButtonP],
+ tbar: [editMembersButton,'-',supervisorButton, NoSupervisorButton,{xtype: 'tbfill'},'-',searchTextP,clearTextButtonP],
//bbar: [{xtype: 'tbfill'},editMembersButton],
listeners: {rowdblclick: function(){
(availableGrid.hidden)? DoNothing() : RemoveGroupsAction();
@@ -493,6 +503,7 @@ EditMembersAction = function(){
buttonsPanel.show();
editMembersButton.disable();
supervisorButton.disable();
+ //NoSupervisorButton.disable();
UsersPanel.doLayout();
};
@@ -502,10 +513,14 @@ CancelEditMembersAction = function(){
buttonsPanel.hide();
editMembersButton.enable();
rowsSelected = assignedGrid.getSelectionModel().getSelections();
- if (rowsSelected.length == 1)
+ if (rowsSelected.length == 1){
supervisorButton.enable();
- else
- supervisorButton.disable();
+ NoSupervisorButton.enable();
+ }
+ else{
+ supervisorButton.disable();
+ NoSupervisorButton.disable();
+ }
UsersPanel.doLayout();
};
@@ -516,6 +531,26 @@ show_user = function(v,i,s){
return sName;
};
+//Removes assignment Manager on Department(Desetea)
+RemoveSupervisor = function(){
+ rowsSelected = assignedGrid.getSelectionModel().getSelections();
+ viewport.getEl().mask(_('ID_PROCESSING'));
+ Ext.Ajax.request({
+ url: 'departments_Ajax',
+ params: {action: 'updateSupervisor', USR_UID: rowsSelected[0].get('USR_UID'), DEP_UID: DEPARTMENT.DEP_UID, NO_DEP_MANAGER:'0'},
+ success: function(r,o){
+ viewport.getEl().unmask();
+ supervisorButton.disable();
+ NoSupervisorButton.disable();
+ DoSearchP();
+ PMExt.notify(_('ID_DEPARTMENTS'),_('ID_NO_SET_MANAGER_SUCCES'));
+ },
+ failure: function (r,o){
+ viewport.getEl().unmask();
+ }
+ });
+};
+
//Update Department Supervisor
UpdateSupervisor = function(){
rowsSelected = assignedGrid.getSelectionModel().getSelections();
@@ -526,6 +561,7 @@ UpdateSupervisor = function(){
success: function(r,o){
viewport.getEl().unmask();
supervisorButton.disable();
+ NoSupervisorButton.disable();
DoSearchP();
PMExt.notify(_('ID_DEPARTMENTS'),_('ID_SET_MANAGER_SUCCESS'));
},