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'); }