Exemplo n.º 1
0
 public function getIdAccionEspecifica()
 {
     return $this->hasOne(AcAcEspec::className(), ['id' => 'id_ac_esp']);
 }
Exemplo n.º 2
0
 public function getAccionesEspecificas()
 {
     return $this->hasMany(AcAcEspec::className(), ['id_ac_centr' => 'id']);
 }
Exemplo n.º 3
0
 /**
  * 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');
     }
 }