<?php define("BYPASS_INSTANCE_CHECK", false); require_once "../../../server/bootstrap.php"; $page = new GerenciaComponentPage(); // // Parametros necesarios // $page->requireParam("aid", "GET", "Este almacen no existe."); $este_almacen = AlmacenDAO::getByPK($_GET["aid"]); // // Titulo de la pagina // $page->addComponent(new TitleComponent("Editar almacen " . $este_almacen->getNombre(), 2)); // // Forma de usuario // $form = new DAOFormComponent($este_almacen); $form->hideField(array("id_almacen", "id_empresa", "id_sucursal", "activo")); $form->addApiCall("api/sucursal/almacen/editar/", "GET"); $form->onApiCallSuccessRedirect("sucursales.lista.almacen.php"); $form->sendHidden("id_almacen"); $form->createComboBoxJoin("id_tipo_almacen", "descripcion", array_diff(TipoAlmacenDAO::getAll(), TipoAlmacenDAO::search(new TipoAlmacen(array("id_tipo_almacen" => 2)))), $este_almacen->getIdTipoAlmacen()); $page->addComponent($form); $page->render();
/** * *Edita un tipo de almacen * * @param id_tipo_almacen int Id del tipo de almacen a editar * @param activo bool Indica si el tipo almacén se activa o desactiva * @param descripcion string Descripcion del tipo de almacen **/ static function NuevoTipo($descripcion, $activo = null) { Logger::log("Creando nuevo tipo de almacen"); if (!ValidacionesController::validarLongitudDeCadena($descripcion, 0, 64)) { Logger::error("descripcion : {$descripcion}"); throw new Exception($descripcion); } //No se puede repetir la descripcion del tipo de almacen $tipos_almacen = TipoAlmacenDAO::search(new TipoAlmacen(array("descripcion" => trim($descripcion)))); if (!empty($tipos_almacen)) { Logger::error("La descripcion (" . $descripcion . ") es repetida"); throw new BusinessLogicException("La descripcion esta repetida"); } $activo = $activo == null ? 1 : $activo; $tipo_almacen = new TipoAlmacen(array("descripcion" => trim($descripcion), "activo" => $activo)); DAO::transBegin(); try { TipoAlmacenDAO::save($tipo_almacen); } catch (Exception $e) { DAO::transRollback(); Logger::error("No se pudo crear el nuevo tipo de almacen: " . $e); throw new InvalidDatabaseOperationException("No se pudo crear el nuevo tipo de almacen, contacte a su administrador de sistema"); } DAO::transEnd(); Logger::log("Tipo de almacen creado exitosamente"); return array("id_tipo_almacen" => (int) $tipo_almacen->getIdTipoAlmacen()); }