public function executeList() { $title = "Most recent bug reports and feature suggestions"; $tab = str_replace(' ', '', $this->getRequestParameter('tab', 'mostrecent')); $c = new Criteria(); if ($tab == 'mostrecent') { $c->addDescendingOrderByColumn(SuggestedFeaturePeer::CREATED_AT); } elseif ($tab == 'mostpopular') { $c2 = new Criteria(); $c2->add(sfRecommendationPeer::RECOMMENDABLE_MODEL, 'SuggestedFeature'); $c2->addDescendingOrderByColumn(sfRecommendationPeer::SCORE); $recommendations = sfRecommendationPeer::doSelect($c2); // this loop has got to be SUPER intensive, it has to change soon $features = array(); foreach ($recommendations as $recommended) { $features[] = SuggestedFeaturePeer::retrieveByPK($recommended->getRecommendableId()); } $title = "Most popular bug reports and feature suggestions"; } elseif ($tab == 'bugs') { $c->add(SuggestedFeaturePeer::TYPE, sfConfig::get('app_feature_type_bug')); $c->addDescendingOrderByColumn(SuggestedFeaturePeer::CREATED_AT); $title = 'Bug Reports'; } elseif ($tab == 'features') { $c->add(SuggestedFeaturePeer::TYPE, sfConfig::get('app_feature_type_feature')); $c->addDescendingOrderByColumn(SuggestedFeaturePeer::CREATED_AT); $title = 'Feature Suggestions'; } //This only works while it's not a pager, not a long term solution! if (!isset($features)) { $this->features = SuggestedFeaturePeer::doSelect($c); } else { $this->features = $features; } myToolkit::prependPageTitle($title); }
public function executeSetFixed() { $feature = SuggestedFeaturePeer::retrieveByPK($this->getRequestParameter('id')); $feature->setStatus(sfConfig::get('app_feature_status_fixed')); $feature->save(); $this->redirect($this->getRequest()->getReferer()); }