示例#1
0
 public static function getAll($prjUid = null, $start = null, $limit = null, $filter = '', $changeCaseTo = CASE_UPPER)
 {
     $c = new Criteria('workflow');
     $c->addSelectColumn("BPMN_LANE.*");
     $c->addSelectColumn("BPMN_BOUND.*");
     $c->addJoin(BpmnLanePeer::LAN_UID, BpmnBoundPeer::ELEMENT_UID, Criteria::LEFT_JOIN);
     if (!is_null($prjUid)) {
         $c->add(BpmnLanePeer::PRJ_UID, $prjUid, Criteria::EQUAL);
     }
     $c->addAscendingOrderByColumn(BpmnBoundPeer::BOU_REL_POSITION);
     $rs = BpmnLanePeer::doSelectRS($c);
     $rs->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
     $lanes = array();
     while ($rs->next()) {
         $lanes[] = $changeCaseTo !== CASE_UPPER ? array_change_key_case($rs->getRow(), CASE_LOWER) : $rs->getRow();
     }
     return $lanes;
 }
示例#2
0
 private function setBoundDefaults()
 {
     $this->bound->setBouElementType(lcfirst(str_replace(__NAMESPACE__, '', __CLASS__)));
     $this->bound->setPrjUid($this->getPrjUid());
     $this->bound->setElementUid($this->getArtUid());
     $process = BpmnProcessPeer::retrieveByPK($this->getProUid());
     if (is_object($process)) {
         $this->bound->setDiaUid($process->getDiaUid());
         if ($this->bound->getBouElement()) {
             $lane = BpmnLanePeer::retrieveByPK($this->bound->getBouElement());
             $laneset = BpmnLanesetPeer::retrieveByPK($this->bound->getBouElement());
             if (is_object($lane)) {
                 $this->bound->setBouContainer('bpmnLane');
             } elseif (is_object($laneset)) {
                 $this->bound->setBouContainer('bpmnPool');
             }
         } else {
             $this->bound->setBouContainer('bpmnDiagram');
             $this->bound->setBouElement($process->getDiaUid());
         }
     }
 }
 /**
  * Returns the number of related BpmnLanes.
  *
  * @param      Criteria $criteria
  * @param      boolean $distinct
  * @param      Connection $con
  * @throws     PropelException
  */
 public function countBpmnLanes($criteria = null, $distinct = false, $con = null)
 {
     // include the Peer class
     include_once 'classes/model/om/BaseBpmnLanePeer.php';
     if ($criteria === null) {
         $criteria = new Criteria();
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     $criteria->add(BpmnLanePeer::PRJ_UID, $this->getPrjUid());
     return BpmnLanePeer::doCount($criteria, $distinct, $con);
 }
示例#4
0
 /**
  * Populates the object using an array.
  *
  * This is particularly useful when populating an object from one of the
  * request arrays (e.g. $_POST).  This method goes through the column
  * names, checking to see whether a matching key exists in populated
  * array. If so the setByName() method is called for that column.
  *
  * You can specify the key type of the array by additionally passing one
  * of the class type constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME,
  * TYPE_NUM. The default key type is the column's phpname (e.g. 'authorId')
  *
  * @param      array  $arr     An array to populate the object from.
  * @param      string $keyType The type of keys the array uses.
  * @return     void
  */
 public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
 {
     $keys = BpmnLanePeer::getFieldNames($keyType);
     if (array_key_exists($keys[0], $arr)) {
         $this->setLanUid($arr[$keys[0]]);
     }
     if (array_key_exists($keys[1], $arr)) {
         $this->setPrjUid($arr[$keys[1]]);
     }
     if (array_key_exists($keys[2], $arr)) {
         $this->setLnsUid($arr[$keys[2]]);
     }
     if (array_key_exists($keys[3], $arr)) {
         $this->setLanName($arr[$keys[3]]);
     }
     if (array_key_exists($keys[4], $arr)) {
         $this->setLanChildLaneset($arr[$keys[4]]);
     }
     if (array_key_exists($keys[5], $arr)) {
         $this->setLanIsHorizontal($arr[$keys[5]]);
     }
 }
示例#5
0
    public function updateLane($lanUid, $data)
    {
        try {
            self::log("Update Lane: $lanUid", "With data: ", $data);
            $lane = LanePeer::retrieveByPk($lanUid);

            $lane->fromArray($data);
            $lane->save();

            self::log("Update Lane Success!");
        } catch (\Exception $e) {
            self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
            throw $e;
        }
    }
 /**
  * Retrieve multiple objects by pkey.
  *
  * @param      array $pks List of primary keys
  * @param      Connection $con the connection to use
  * @throws     PropelException Any exceptions caught during processing will be
  *       rethrown wrapped into a PropelException.
  */
 public static function retrieveByPKs($pks, $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(self::DATABASE_NAME);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria();
         $criteria->add(BpmnLanePeer::LAN_UID, $pks, Criteria::IN);
         $objs = BpmnLanePeer::doSelect($criteria, $con);
     }
     return $objs;
 }