public function getParentName() { if ($this->getParent() != null && $this->getParent() != 0) { return VClassGroupPeer::retrieveByPk($this->getParent())->getName(); } return '-'; }
public function executeGetListForCounseling2() { $group_id = $this->getContext()->getUser()->getAttribute('group_id', null, 'bo'); $c = new Criteria(); $c->add(JobPeer::CODE, $this->getModuleName()); $job = JobPeer::doSelectOne($c); $acl = AclPeer::retrieveByPK($group_id, $job->getId()); if (!$acl) { $this->forward('default', 'error404'); } $this->can_edit = $acl->getEditPriv() == 1; $this->can_remove = $acl->getRemovePriv() == 1; $c = new Criteria(); $dept = $this->getContext()->getUser()->getAttribute('department', null, 'bo'); $c->add(AcademicCalendarPeer::DEPARTMENT_ID, $dept->getChildRecurs(), Criteria::IN); $c->addJoin(VStudentClassPeer::ACADEMIC_CALENDAR_ID, AcademicCalendarPeer::ID); $class_id = $this->getRequestParameter('class_id'); $class = ClassGroupPeer::retrieveByPk($class_id); $class_group = VClassGroupPeer::retrieveByPk($class_id); if ($class) { $cton1 = $c->getNewCriterion(VStudentClassPeer::CLASS_GROUP_ID, $class, Criteria::IN); $cton2 = $c->getNewCriterion(VStudentClassPeer::CLASS_PARENT, $class, Criteria::IN); $cton1->addOr($cton2); $c->add($cton1); #$c->add(VStudentClassPeer::CLASS_GROUP_ID, $class, Criteria::IN); #$c->add(StudentPeer::CLASS_GROUP_ID, $class->getId(), Criteria::IN); } elseif ($class_group) { #$cton1 = $c->getNewCriterion(VStudentClassPeer::CLASS_GROUP_ID, $class_group, Criteria::IN); #$cton2 = $c->getNewCriterion(VStudentClassPeer::CLASS_PARENT, $class_group, Criteria::IN); #$cton1->addOr($cton2); #$c->add($cton1); $c->add(VStudentClassPeer::CLASS_PARENT, $class_group, Criteria::IN); } else { #$c->add(StudentPeer::ACADEMIC_CALENDAR_ID, -1); $c->add(VStudentClassPeer::ACADEMIC_CALENDAR_ID, -1); } // filter out graduated student $c->add(VStudentClassPeer::STATUS, Student::STATUS_GRADUATE, Criteria::NOT_EQUAL); $this->sortStudent($c); if ($this->getRequest()->hasParameter('filters')) { $filters = $this->getRequestParameter('filters'); if ($filters == 'clear') { $this->filters = null; } else { $defined_filter = false; foreach ($filters as $f) { if (is_array($f)) { if (strlen($f['from']) > 0 || strlen($f['to']) > 0) { $defined_filter = true; break; } } else { if ($f != null && $f != '') { $defined_filter = true; break; } } } if ($defined_filter) { $this->filters = $filters; $this->filter($c, $this->getRequestParameter('filters')); } } } $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'v_student_class')); $this->getUser()->setAttribute('max_per_page', $rpp, 'v_student_class'); $pager = new sfPropelPager('VStudentClass', $rpp); $pager->setCriteria($c); $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'v_student_class')); $this->getUser()->setAttribute('page', $page, 'v_student_class'); $pager->setPage($page); $pager->init(); $this->pager = $pager; #$actions = array(array('name'=>'filter','color'=>'white'),); #if ($acl->getAddPriv()) array_unshift($actions, array('name'=>'add','url'=>'student/create', 'color'=>'green')); $actions = array(array('name' => 'filter', 'color' => 'white')); $filter_string = ""; if ($this->filters) { foreach ($this->filters as $key => $val) { $filter_string .= "&filters[{$key}]={$val}"; } $filter_string = preg_replace('/^&/', '', $filter_string); } $this->actions = $actions; $this->class_id = $class_id; }