Exemple #1
0
 protected function buildCriteria()
 {
     if (is_null($this->filters)) {
         $this->filters = $this->configuration->getFilterForm($this->getFilters());
     }
     $criteria = $this->filters->buildCriteria($this->getFilters());
     $event = $this->dispatcher->filter(new sfEvent($this, 'admin.build_criteria'), $criteria);
     $criteria = $event->getReturnValue();
     $disapproved_students = StudentPeer::getDisapprovedStudents();
     $ids = array();
     foreach ($disapproved_students as $ds) {
         $ids[] = $ds->getId();
     }
     $criteria->add(StudentPeer::ID, $ids, Criteria::IN);
     $total_criteria_desaprobados = count(StudentPeer::doSelect($criteria));
     $total_alumnos = count(StudentPeer::doSelect(new Criteria()));
     $this->getUser()->setAttribute('students_count', $total_criteria_desaprobados);
     $this->getUser()->setAttribute('students_percentaje', $total_criteria_desaprobados * 100 / $total_alumnos);
     return $criteria;
 }