Beispiel #1
0
 public function save()
 {
     $post = $this->_post(NULL, TRUE);
     try {
         if (is_array($post)) {
             $entidad = NomEntidadTable::getInstance()->find($post['entidad_id']);
             if (!$entidad) {
                 //Si la entidad no existe devuelvo un error
                 $msg = "Entidad no encontrada.";
                 return $this->_jsonResponse(array("msg" => $msg), 404, $msg);
             }
             $prod = NomProductoTable::getInstance()->find($post['producto_id']);
             if (!$prod) {
                 //Si el producto no existe devuelvo un error
                 $msg = "Producto no encontrado.";
                 return $this->_jsonResponse(array("msg" => $msg), 404, $msg);
             }
             if ($post['id']) {
                 $evento = $this->_getTable()->find($post['id']);
                 if (!$evento) {
                     //Si el evento no existe devuelvo un error
                     $msg = "Evento no encontrado.";
                     return $this->_jsonResponse(array("msg" => $msg), 404, $msg);
                 }
             } else {
                 $evento = new Eventos();
             }
             $evento->fromArray($post, false);
             $evento->set('Entidad', $entidad);
             $evento->set('Producto', $prod);
             $evento->save();
             $this->_jsonResponse($evento->toArray());
         }
     } catch (Exception $exc) {
         log_message('error', $exc->getMessage());
         log_message('error', $exc->getTraceAsString());
         $this->_jsonResponse(array("msg" => "Ha ocurrido un error mientras se intentaba guardar un producto."), 500);
     }
 }