/** * Finds the AcAcEspec model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return AcAcEspec the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = AcAcEspec::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * operacion para revertir algun cambio hecho al modelo * @param integer $id * @return Mixed */ public function actionRevertir($id) { // buscamos los modelos $post1 = AuditTrail::findOne($id); $post = AcAcEspec::findOne($post1->model_id); //si esta vacio el modelo es por que fue borrado if ($post != null) { //buscamos la ultima version $attributes = Version::lastVersion($post->className(), $post->id); //cargamos los datos de la ultima version $post = Version::find($post->className(), $post->id, $attributes); //solo para el caso de modelos que tenga fecha, formatear la fecha $post->fecha_inicio = date_create($post->fecha_inicio); $post->fecha_fin = date_create($post->fecha_fin); $post->fecha_inicio = date_format($post->fecha_inicio, 'Y-m-d'); $post->fecha_fin = date_format($post->fecha_fin, 'Y-m-d'); } else { //en que caso que fue borrado se busca la ultima version por medio del id almacenado en el modelo trail $attributes = Version::lastVersion(AcAcEspec::className(), $post1->model_id); //cargamos los datos $post = Version::find(AcAcEspec::className(), $post1->model_id, $attributes); //solo en caso de modelos q tengan fecha $post->fecha_inicio = date_create($post->fecha_inicio); $post->fecha_fin = date_create($post->fecha_fin); $post->fecha_inicio = date_format($post->fecha_inicio, 'Y-m-d'); $post->fecha_fin = date_format($post->fecha_fin, 'Y-m-d'); } if (!$post->save()) { return $this->redirect('index.php?r=audit/trail'); } else { return $this->redirect('index.php?r=audit/trail'); } }