/** * Deletes a particular model. * If deletion is successful, the browser will be redirected to the 'admin' page. * @param integer $id the ID of the model to be deleted */ public function actionDelete($id) { $unit = $this->loadModel($id); $master_id = $unit->course_unit_master_id; UnitDetailTable::model()->deleteAll("unit_detail_unit_master_id = :courseId", array(':courseId' => $id)); $unit->delete(); $this->redirect(array('/courseMaster/view', 'id' => $master_id)); }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer the ID of the model to be loaded */ public function loadModel($id) { $model = UnitDetailTable::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
/** * Deletes a particular model. * If deletion is successful, the browser will be redirected to the 'admin' page. * @param integer $id the ID of the model to be deleted */ public function actionDelete($id) { if (Yii::app()->request->isPostRequest) { // we only allow deletion via POST request $this->loadModel($id)->delete(); // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser if (!isset($_GET['ajax'])) { $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin')); } } else { if (!Yii::app()->request->isPostRequest) { $stud_tran = StudentTransaction::model()->findAll(array('condition' => 'student_transaction_course_id=' . $id)); if (!empty($stud_tran)) { throw new CHttpException(400, 'You can not delete this record because it is used in another table.'); } else { $this->loadModel($id)->delete(); CourseUnitTable::model()->deleteAll("course_unit_master_id = :courseId", array(':courseId' => $id)); UnitDetailTable::model()->deleteAll("unit_detail_course_id = :courseId", array(':courseId' => $id)); $this->redirect(array('admin')); } } else { throw new CHttpException(400, 'Invalid request. Please do not repeat this request again.'); } } }