예제 #1
0
	public function getCalendar ($userUid, $proUid = null, $tasUid = null)
	{
		require_once 'classes/model/CalendarAssignments.php';

		$criteria = new Criteria ( 'workflow' );
		$criteria->clearSelectColumns ( );

		$calendarData = array();

		//Default Calendar
		$calendarData['UID']  = '00000000000000000000000000000001';
		$calendarData['TYPE'] = 'DEFAULT';

		//Load User,Task and Process calendars (if exist)
		$criteria->addSelectColumn ( CalendarAssignmentsPeer::CALENDAR_UID );
		$criteria->addSelectColumn ( CalendarAssignmentsPeer::OBJECT_UID );
		$criteria->addSelectColumn ( CalendarAssignmentsPeer::OBJECT_TYPE );
		$criteria->add ( CalendarAssignmentsPeer::OBJECT_UID, array($userUid, $proUid, $tasUid), CRITERIA::IN );
		$oDataset = CalendarAssignmentsPeer::doSelectRS ( $criteria );
		$oDataset->setFetchmode ( ResultSet::FETCHMODE_ASSOC );
		$oDataset->next ();

		$calendarArray = array();
		while (is_array($aRow = $oDataset->getRow ())) {
			if ($aRow['OBJECT_UID']==$userUid) {
				$calendarArray['USER'] = $aRow ['CALENDAR_UID'];
			}
			if ($aRow['OBJECT_UID']==$proUid) {
				$calendarArray['PROCESS'] = $aRow ['CALENDAR_UID'];
			}
			if ($aRow['OBJECT_UID']==$tasUid) {
				$calendarArray['TASK'] = $aRow ['CALENDAR_UID'];
			}
			$oDataset->next ();
		}

		if (isset($calendarArray['USER'])) {
			$calendarData['UID']  = $calendarArray['USER'];
			$calendarData['TYPE'] = 'USER';
		} elseif (isset($calendarArray['PROCESS'])) {
			$calendarData['UID']  = $calendarArray['PROCESS'];
			$calendarData['TYPE'] = 'PROCESS';
		} elseif (isset($calendarArray['TASK'])) {
			$calendarData['UID']  = $calendarArray['TASK'];
			$calendarData['TYPE'] = 'TASK';
		}

		$this->pmCalendarUid = $calendarData['UID'];
		return $this->pmCalendarUid;
	}
예제 #2
0
 function getAllCounterByCalendar($type)
 {
     $oCriteria = new Criteria('workflow');
     $oCriteria->addSelectColumn(CalendarAssignmentsPeer::CALENDAR_UID);
     $oCriteria->addSelectColumn('COUNT(*) AS CNT');
     $oCriteria->addGroupByColumn(CalendarAssignmentsPeer::CALENDAR_UID);
     $oCriteria->add(CalendarAssignmentsPeer::OBJECT_TYPE, $type);
     $oDataset = CalendarAssignmentsPeer::doSelectRS($oCriteria);
     $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     $aCounter = array();
     while ($oDataset->next()) {
         $row = $oDataset->getRow();
         $aCounter[$row['CALENDAR_UID']] = $row['CNT'];
     }
     return $aCounter;
 }
 /**
  * Method to do selects.
  *
  * @param      Criteria $criteria The Criteria object used to build the SELECT statement.
  * @param      Connection $con
  * @return     array Array of selected Objects
  * @throws     PropelException Any exceptions caught during processing will be
  *       rethrown wrapped into a PropelException.
  */
 public static function doSelect(Criteria $criteria, $con = null)
 {
     return CalendarAssignmentsPeer::populateObjects(CalendarAssignmentsPeer::doSelectRS($criteria, $con));
 }