<?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();
<?php

define("BYPASS_INSTANCE_CHECK", false);
require_once "../../../server/bootstrap.php";
$page = new GerenciaComponentPage();
//
// Parametros necesarios
//
$page->requireParam("tid", "GET", "Este tipo de almacen no existe.");
$este_tipo_almacen = TipoAlmacenDAO::getByPK($_GET["tid"]);
//
// Titulo de la pagina
//
$page->addComponent(new TitleComponent("Detalles de " . $este_tipo_almacen->getDescripcion(), 2));
//
// Menu de opciones
//
$menu = new MenuComponent();
$menu->addItem("Editar este tipo de almacen", "sucursales.editar.tipo_almacen.php?tid=" . $_GET["tid"]);
$almacenes = AlmacenDAO::search(new Almacen(array("id_tipo_almacen" => $_GET["tid"])));
if (empty($almacenes)) {
    $btn_eliminar = new MenuItem("Eliminar este tipo de almacen", null);
    $btn_eliminar->addApiCall("api/sucursal/tipo_almacen/eliminar", "GET");
    $btn_eliminar->onApiCallSuccessRedirect("sucursales.lista.tipo_almacen.php");
    $btn_eliminar->addName("eliminar");
    $funcion_eliminar = " function eliminar_sucursal(btn){" . "if(btn == 'yes')" . "{" . "var p = {};" . "p.id_tipo_almacen = " . $_GET["tid"] . ";" . "sendToApi_eliminar(p);" . "}" . "}" . "      " . "function confirmar(){" . " Ext.MessageBox.confirm('Eliminar', 'Desea eliminar este tipo de almacen?', eliminar_sucursal );" . "}";
    $btn_eliminar->addOnClick("confirmar", $funcion_eliminar);
    $menu->addMenuItem($btn_eliminar);
}
$page->addComponent($menu);
//
 private static function validarParametrosAlmacen($id_almacen = null, $id_sucursal = null, $id_empresa = null, $id_tipo_almacen = null, $nombre = null, $descripcion = null, $activo = null)
 {
     //Valida que el almacen exista en la base de datos
     if (!is_null($id_almacen)) {
         if (is_null(AlmacenDAO::getByPK($id_almacen))) {
             return "El almacen con id: " . $id_almacen . " no existe";
         }
     }
     //Valida que la sucursal exista en la base de datos
     if (!is_null($id_sucursal)) {
         if (is_null(SucursalDAO::getByPK($id_sucursal))) {
             return "La sucursal con id: " . $id_sucursal . " no existe";
         }
     }
     //Valida que la empresa exista en la base de datos
     if (!is_null($id_empresa)) {
         if (is_null(EmpresaDAO::getByPK($id_empresa))) {
             return "La empresa con id: " . $id_empresa . " no existe";
         }
     }
     //Valida que el tipo de almacen exista en la base de datos
     if (!is_null($id_tipo_almacen)) {
         if (is_null(TipoAlmacenDAO::getByPK($id_tipo_almacen))) {
             return "El tipo de almacen con id: " . $id_tipo_almacen . " no existe";
         }
     }
     //Valida que el nombre tenga una longitud maxima de 100
     if (!is_null($nombre)) {
         $e = self::validarString($nombre, 100, "nombre");
         if (is_string($e)) {
             return $e;
         }
     }
     //Valida que la descripcion tenga una longitud maxima de 255
     if (!is_null($descripcion)) {
         $e = self::validarString($descripcion, 255, "descripcion");
         if (is_string($e)) {
             return $e;
         }
     }
     //Valida el boleano activo
     if (!is_null($activo)) {
         $e = self::validarNumero($activo, 1, "activo");
         if (is_string($e)) {
             return $e;
         }
     }
     //No se encontro error, regresa true
     return true;
 }
Example #4
0
function funcion_tipo_almacen($id_tipo_almacen)
{
    return TipoAlmacenDAO::getByPK($id_tipo_almacen) ? TipoAlmacenDAO::getByPK($id_tipo_almacen)->getDescripcion() : "------";
}
 /**
  * Desactivar Tipo de Almacen
  */
 public function testTipoDesactivar()
 {
     $a = AlmacenesController::NuevoTipo("Desactivar_Tipo_Almacen" . time());
     AlmacenesController::DesactivarTipo($id_tipo_almacen = $a["id_tipo_almacen"]);
     $this->assertEquals(0, TipoAlmacenDAO::getByPK($a["id_tipo_almacen"])->getActivo(), "Error al desactivar el tipo de almacen");
 }
    $btn_eliminar->onApiCallSuccessRedirect("sucursales.lista.almacen.php");
    $btn_eliminar->addName("eliminar");
    $funcion_eliminar = " function eliminar_almacen(btn){" . "if(btn == 'yes')" . "{" . "var p = {};" . "p.id_almacen = " . $_GET["aid"] . ";" . "sendToApi_eliminar(p);" . "}" . "}" . "      " . "function confirmar(){" . " Ext.MessageBox.confirm('Desactivar', 'Desea eliminar este almacen?', eliminar_almacen );" . "}";
    $btn_eliminar->addOnClick("confirmar", $funcion_eliminar);
    $menu->addMenuItem($btn_eliminar);
    $page->addComponent($menu);
}
//
// Forma de producto
//
$form = new DAOFormComponent($este_almacen);
$form->setEditable(false);
$form->hideField(array("id_almacen"));
$form->createComboBoxJoin("id_sucursal", "razon_social", SucursalDAO::getAll(), $este_almacen->getIdSucursal());
$form->createComboBoxJoin("id_empresa", "razon_social", EmpresaDAO::search(new Empresa(array("activo" => 1))), $este_almacen->getIdEmpresa());
$form->createComboBoxJoin("id_tipo_almacen", "descripcion", TipoAlmacenDAO::getAll(), $este_almacen->getIdTipoAlmacen());
$page->addComponent($form);
$page->addComponent(new TitleComponent("Productos en este almacen"), 3);
$tabla = new TableComponent(array("id_producto" => "Producto", "id_unidad" => "Unidad", "cantidad" => "Cantidad"), ProductoAlmacenDAO::search(new ProductoAlmacen(array("id_almacen" => $_GET["aid"]))));
function funcion_producto($id_producto)
{
    return ProductoDAO::getByPK($id_producto) ? ProductoDAO::getByPK($id_producto)->getNombreProducto() : "--------";
}
function funcion_unidad($id_unidad)
{
    return UnidadDAO::getByPK($id_unidad) ? UnidadDAO::getByPK($id_unidad)->getNombre() : "---------";
}
$tabla->addColRender("id_producto", "funcion_producto");
$tabla->addColRender("id_unidad", "funcion_unidad");
$page->addComponent($tabla);
$page->render();
Example #7
0
 /**
  *
  *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());
 }