예제 #1
0
 public static function retrievePagerByUser($user_id, $page = 1, $max = null)
 {
     if ($max == null) {
         $max = sfConfig::get('app_pager_project_max');
     }
     sfContext::getInstance()->getLogger()->info('Begin project retrieval by user_id');
     $c = new Criteria();
     $positions = ProjectUserPeer::retrieveFilledByUserId($user_id);
     $projects = array();
     foreach ($positions as $position) {
         $projects[] = $position->getProjectPosition()->getProjectId();
     }
     if (count($projects) > 0) {
         $c->add(self::ID, $projects, Criteria::IN);
     }
     $crit0 = $c->getNewCriterion(self::CREATED_BY, $user_id);
     $crit1 = $c->getNewCriterion(self::OWNER_ID, $user_id);
     $crit0->addOr($crit1);
     $c->add($crit0);
     $pager = new sfPropelPager('Project', $max);
     $pager->setCriteria($c);
     $pager->setPage($page);
     $pager->init();
     return $pager;
 }
예제 #2
0
 public function getPositionsUser()
 {
     sfContext::getInstance()->getLogger()->info('Grabbing user positions...');
     return ProjectUserPeer::retrieveFilledByUserId($this->getUserId());
 }