示例#1
0
 public function executeDelete()
 {
     $curr_id = $this->getRequestParameter('curr_id');
     $this->forward404Unless($curr_id);
     $this->curr = CurriculumPeer::retrieveByPK($curr_id);
     $subject_prereq = SubjectPrereqPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($subject_prereq);
     $ref_error = 0;
     foreach ($subject_prereq->getRefCountMethods() as $ref) {
         $method = "count" . $ref['affix'];
         $count = $subject_prereq->{$method}();
         if ($count > 0) {
             ++$ref_error;
             $this->getRequest()->setError('subject_prereq/delete/' . sfInflector::camelize($ref['table']), $count);
         }
     }
     if ($ref_error > 0) {
         $this->getRequest()->setError('subject_prereq/delete', '_ERR_DELETE_ (' . $subject_prereq->toString() . ' - id:' . $subject_prereq->getId() . ')');
     } else {
         $subject_prereq->delete();
     }
     $this->getRequest()->setParameter('curr_id', $this->curr->getId());
     return $this->forward('subject_prereq', 'list');
 }