public static function getById($id) { $sql = 'select * from donante where id = :id'; $query = self::nuevaDb()->prepare($sql); $query->execute(array(":id" => $id)); $arreglo = $query->fetchAll(PDO::FETCH_ASSOC); $result = Donante::inicializar($arreglo[0]); return $result; }
public function alta() { Session::tienePermiso('alta'); if (isset($_POST['params'])) { $this->check_csrf('post'); $this->actualizar_csrf(); $alimentos = Alimento::obtenerTodos(); $donantes = Donante::obtenerTodos(); $params = $_POST['params']; $detalle = Detalle::nuevo($params['donacion']); $this->validar($detalle); if (count($detalle->getErrores()) == 0) { if (!$detalle->guardar()) { $this->view->setError("no puedo guardarse el detalle."); } else { $detalle_id = Model::lastInsertId(); $params['donacion']['detalle_id'] = $detalle_id; $donacion = Donacion::nuevo($params['donacion']); if (!$donacion->guardar()) { $this->view->setError("se guardo el detalle pero no la relacion con quien hizo la donación."); } else { $this->view->setMensaje("Toso se guardo correctamente."); } } } else { $this->view->setMensaje("Modifique los campos indicados."); } if ($this->view->getError() != null) { if (isset($donacion)) { $this->view->renderizar("formulario", array("alimentos" => $alimentos, "donantes" => $donantes, "detalle" => $detalle, "donacion" => $donacion, "accion" => "alta", "token" => $this->token, "token_id" => $this->token_id)); } else { $this->view->renderizar("formulario", array("alimentos" => $alimentos, "donantes" => $donantes, "detalle" => $params['donacion'], "accion" => "alta", "token" => $this->token, "token_id" => $this->token_id)); } } else { $this->redireccionar('donacion/alta'); } } else { $alimentos = Alimento::obtenerTodos(); $donantes = Donante::obtenerTodos(); $this->view->setEncabezado("Nueva donacion"); $this->view->renderizar("formulario", array("accion" => "alta", "alimentos" => $alimentos, "donantes" => $donantes, "token" => $this->token, "token_id" => $this->token_id)); } }
public function detalle($id) { Session::tienePermiso('detalle'); $donante = Donante::getById($id); if ($donante->getId() != null) { $this->view->renderizar("detalle", array("donante" => $donante)); } else { header('Location: /?uri=donante/listado/notFound'); } }