/** * @param string $evalId * @param bool $newRecord * @return bool */ public function save($evalId, $newRecord = true) { // fetch the form data $evaElements = []; $model = new EvaluationDetails(); $transaction = Yii::app()->db->beginTransaction(); try { if (!$newRecord) { $model->deleteAll('evalId=:evaId', [':evaId' => $evalId]); } foreach ($this->_properties as $attrNameAndId => $attrVal) { $model->unsetAttributes(); $attrParams = explode("_", $attrNameAndId); $evaElements['evalId'] = $evalId; $evaElements['evalElementsId'] = $attrParams[1]; $evaElements['value'] = is_array($attrVal) ? json_encode($attrVal) : $attrVal; $model->attributes = $evaElements; //print_r($model->attributes); die; $model->setIsNewRecord(true); $model->save(); } //die; $transaction->commit(); } catch (Exception $e) { Yii::log($e->getMessage(), 'error', 'models.EvalForm'); $transaction->rollBack(); EvaluationHeader::model()->deleteByPk($evalId); return false; } //var_dump($evaElements, $model); die; return true; }
/** * actionDeleteEval * @param string $id * @return void */ public function actionDeleteEval($id) { Yii::log("actionDeleteEval called", "trace", self::LOG_CAT); $record = EvaluationHeader::model()->findByPk($id); if (!$record->delete()) { Yii::log("Error deleting evaluation: {$id}", "warning", self::LOG_CAT); //echo $errorMessage; echo Yii::t("translation", "A problem occurred when deleting the evaluation context"); } else { echo Yii::t("translation", "The Evaluation Context has been successfully deleted"); } return; }