public function executeDelete() { $employee_absence = EmployeeAbsencePeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($employee_absence); $employee_id = $employee_absence->getEmployeeId(); $ref_error = 0; foreach ($employee_absence->getRefCountMethods() as $ref) { $method = "count" . $ref['affix']; $count = $employee_absence->{$method}(); if ($count > 0) { ++$ref_error; $this->getRequest()->setError('employee_absence/delete/' . sfInflector::camelize($ref['table']), $count); } } if ($ref_error > 0) { $this->getRequest()->setError('employee_absence/delete', '_ERR_DELETE_ (' . $employee_absence->toString() . ' - id:' . $employee_absence->getId() . ')'); } else { $employee_absence->delete(); } return $this->redirect('employee_absence/list?employee_id=' . $employee_id); }