public function testEditarTiposDeTarifas()
 {
     $monedas = MonedaDAO::getAll();
     //crear nueva tarifa de venta
     $tv = TarifasController::Nueva($monedas[0]->getIdMoneda(), "tarifa_e_" . time(), "compra");
     //crear nueva tarifa de compra
     $tc = TarifasController::Nueva($monedas[0]->getIdMoneda(), "tarifa_d_" . time(), "compra");
     //editar tarifa compra
     TarifasController::Editar($id_tarifa = $tc["id_tarifa"], $default = null, $fecha_fin = null, $fecha_inicio = null, $formulas = null, $id_moneda = null, $nombre = "_" . "tarifa_d_" . time(), $tipo_tarifa = "venta");
     //Editar la tarifa de venta
     TarifasController::Editar($id_tarifa = $tv["id_tarifa"], $default = null, $fecha_fin = null, $fecha_inicio = null, $formulas = null, $id_moneda = null, $nombre = "_" . "tarifa_ef_" . time(), $tipo_tarifa = "compra");
 }
function funcion_moneda($id_moneda)
{
    return MonedaDAO::getByPK($id_moneda) ? MonedaDAO::getByPK($id_moneda)->getNombre() : "-----";
}
				numero_exterior	: o.numero_exterior,
				numero_interior	: o.numero_interior,
				referencia		: o.referencia,
				colonia			: o.colonia,
				id_ciudad		: o.id_ciudad,
				codigo_postal	: o.codigo_postal,
				telefono1		: o.telefono1,
				telefono2		: o.telefono2
			}]);
			console.log(o);			
			return o;
		}
	</script>
	
	<?php 
$form->hideField(array("id_usuario", "id_direccion", "id_direccion_alterna", "id_sucursal", "fecha_asignacion_rol", "fecha_alta", "fecha_baja", "activo", "last_login", "consignatario", "id_direccion", "ultima_modificacion", "id_usuario_ultima_modificacion", "id_direccion", "ultima_modificacion", "id_usuario_ultima_modificacion", "ventas_a_credito", "tiempo_entrega", "tarifa_compra_obtenida", "id_tarifa_venta", "denominacion_comercial", "descuento", "dia_de_revision", "dias_de_credito", "id_clasificacion_proveedor", "facturar_a_terceros", "id_clasificacion_cliente", "id_moneda", "dias_de_embarque", "cuenta_de_mensajeria", "saldo_del_ejercicio", "limite_credito", "mensajeria", "referencia", "intereses_moratorios", "representante_legal", "id_tarifa_compra", "token_recuperacion_pass", "tarifa_venta_obtenida", "telefono", "telefono2"));
$form->createComboBoxJoin("id_ciudad", "nombre", CiudadDAO::getAll());
$form->createComboBoxJoin("tarifa_venta_obtenida", "tarifa_venta_obtenida", array("rol", "proveedor", "cliente", "usuario"));
$form->createComboBoxJoin("id_perfil", "descripcion", POSController::ListaPerfilConfiguracion());
$form->renameField(array("id_ciudad" => "ciudad"));
$form->addApiCall("api/personal/usuario/nuevo/");
$form->onApiCallSuccessRedirect("personal.usuario.ver.php?just_created=1");
$form->setType("password", "password");
$form->makeObligatory(array("nombre", "id_rol", "password", "codigo_usuario", "id_perfil"));
$form->createComboBoxJoin("id_rol", "nombre", RolDAO::getAll());
$form->createComboBoxJoin("id_moneda", "nombre", MonedaDAO::search(new Moneda(array("activa" => 1))));
$form->createComboBoxJoin("id_clasificacion_cliente", "nombre", ClasificacionClienteDAO::getAll());
$form->createComboBoxJoin("id_clasificacion_proveedor", "nombre", ClasificacionProveedorDAO::search(new ClasificacionProveedor(array("activa" => 1))));
$page->addComponent($form);
//render the page
$page->render();
$page->addComponent(new TitleComponent("Editar usuario " . $este_usuario->getNombre(), 2));
//
// Forma de usuario
//
if (is_null($esta_direccion)) {
    $esta_direccion = new Direccion();
}
$este_usuario->setPassword("");
$form = new DAOFormComponent($este_usuario);
$form->hideField(array("id_usuario", "id_direccion", "id_direccion_alterna", "id_sucursal", "fecha_asignacion_rol", "fecha_alta", "fecha_baja", "activo", "last_login", "consignatario", "id_clasificacion_cliente", "id_clasificacion_proveedor", "tarifa_venta_obtenida", "tarifa_compra_obtenida", "id_tarifa_compra", "id_tarifa_venta", "saldo_del_ejercicio", "intereses_moratorios", "representante_legal", "pagina_web", "mensajeria", "denominacion_comercial", "dias_de_credito", "facturar_a_terceros", "limite_credito", "token_recuperacion_pass", "tiempo_entrega", "ventas_a_credito", "descuento", "dias_de_embarque", "cuenta_de_mensajeria"));
$form->setCaption("rfc", "RFC");
$form->setCaption("id_moneda", "Moneda default");
$form->setCaption("id_rol", "Rol");
$form->setHelp("id_rol", "Rol");
$form->sendHidden("id_usuario");
$form->addApiCall("api/personal/usuario/editar/");
$form->onApiCallSuccessRedirect("personal.usuario.ver.php?uid=" . $_GET["uid"]);
$form->renameField(array("telefono_personal1" => "telefono_personal_1", "telefono_personal2" => "telefono_personal_2"));
$form->createComboBoxJoin("id_rol", "nombre", RolDAO::getAll(), $este_usuario->getIdRol());
$form->createComboBoxJoin("id_moneda", "nombre", MonedaDAO::search(new Moneda(array("activa" => 1))), $este_usuario->getIdMoneda());
$form->setType("password", "password");
$page->addComponent('
		<script>
			function beforeEdit(p){
				console.log(p);
				return p;
			}
		</script>');
$form->beforeSend("beforeEdit");
$page->addComponent($form);
$page->render();
Example #5
0
 /**
  *
  *Obtener los detalles de un cliente.
  *
  * @param id_cliente int Id del cliente del cual se listarn sus datos.
  * @return cliente json Arreglo que contendr� la informaci�n del cliente. 
  **/
 public static function Detalle($id_cliente)
 {
     Logger::log("Listando los detalles del cliente");
     //valida que el cliente exista, que sea cliente y que este activo
     /*$validar = self::validarParametrosCliente($id_cliente);
     		if(is_string($validar))
     		{
     			Logger::error($validar);
     			throw new Exception($validar,901);
     		}*/
     //Se regresa un arreglo que contendra en el primer campo el cliente en si, en segundo campo estara
     //su direccion, el tercero sera su direccion alterna, el cuarto sera la sucursal en la que fue dado de alta,
     //la quinta sera el rol que tiene, la sexta sera su clasificacion, la septima la moneda que prefiere.
     $cliente = array();
     $c = UsuarioDAO::getByPK($id_cliente);
     array_push($cliente, $c);
     array_push($cliente, DireccionDAO::getByPK($c->getIdDireccion()));
     array_push($cliente, DireccionDAO::getByPK($c->getIdDireccionAlterna()));
     array_push($cliente, SucursalDAO::getByPK($c->getIdSucursal()));
     array_push($cliente, RolDAO::getByPK($c->getIdRol()));
     array_push($cliente, ClasificacionClienteDAO::getByPK($c->getIdClasificacionCliente()));
     array_push($cliente, MonedaDAO::getByPK($c->getIdMoneda()));
     array_push($cliente, ExtraParamsValoresDAO::getVals("usuarios", $id_cliente));
     return $cliente;
 }
 public function testEditar()
 {
     //creamos una sucursal para fines del experimento
     $direccion = array("calle" => "Monte Balcanes", "numero_exterior" => "107", "numero_interior" => null, "colonia" => "Arboledas", "codigo_postal" => "38060", "id_ciudad" => 334, "referencia" => "Calle cerrada", "telefono1" => "4616149974", "telefono2" => "45*451*454");
     $sucursal = SucursalesController::Nueva("Sucursal de phpunit editar " . time(), $direccion, 1, 1, null);
     //para cambiar la moneda
     try {
         $moneda = new Moneda(array("nombre" => "Moneda_" . time(), "simbolo" => "Simbolo_" . time(), "activa" => 1));
         MonedaDAO::save($moneda);
     } catch (Exception $e) {
     }
     //editar basico
     SucursalesController::Editar($id_sucursal = $sucursal["id_sucursal"], $activo = 0, $descripcion = "Descripcion de la sucursal", $direccion = null, $empresas = null, $id_gerente = 1, $id_moneda = $moneda->getIdMoneda(), $razon_social = "Empresa x", $saldo_a_favor = "100000");
     //editar la direccion
     SucursalesController::Editar($id_sucursal = $sucursal["id_sucursal"], $activo = 0, $descripcion = "_EDITADO_" . time(), $direccion = array("calle" => "Monte Balcanes", "numero_exterior" => "107", "colonia" => "Arboledas", "id_ciudad" => 334, "codigo_postal" => "38060", "numero_interior" => null, "texto_extra" => "Calle cerrada", "telefono1" => "4616149974", "telefono2" => "45*451*454"), $empresas = null, $id_gerente = 1, $id_moneda = $moneda->getIdMoneda(), $razon_social = "Empresa x", $saldo_a_favor = "100000");
     //vamos a ver si si se edito esa madre
     $_s = SucursalDAO::getByPK($sucursal["id_sucursal"]);
     $this->assertEquals($descripcion, $_s->getDescripcion());
     $_d = DireccionDAO::getByPK($_s->getIdDireccion());
     $this->assertEquals($_d->getCalle(), "Monte Balcanes");
     $this->assertEquals($_d->getNumeroExterior(), "107");
     $this->assertEquals($_d->getColonia(), "Arboledas");
     $this->assertEquals($_d->getIdCiudad(), 334);
     $this->assertEquals($_d->getCodigoPostal(), "38060");
     //$this->assertEquals($_d->getTextoExtra(),		"Calle cerrada");
 }
 public static function validarParametrosUsuario($id_usuario = null, $id_direccion = null, $id_sucursal = null, $id_rol = null, $id_clasificacion_cliente = null, $id_clasificacion_proveedor = null, $id_moneda = null, $activo = null, $nombre = null, $rfc = null, $curp = null, $comision_ventas = null, $telefono_personal1 = null, $telefono_personal2 = null, $limite_credito = null, $descuento = null, $password = null, $salario = null, $correo_electronico = null, $pagina_web = null, $saldo_del_ejercicio = null, $ventas_a_credito = null, $representante_legal = null, $facturar_a_terceros = null, $dia_de_pago = null, $mensajeria = null, $intereses_moratorios = null, $denominacion_comercial = null, $dias_de_credito = null, $cuenta_de_mensajeria = null, $dia_de_revision = null, $codigo_usuario = null, $dias_de_embarque = null, $tiempo_entrega = null, $cuenta_bancaria = null, $id_tarifa_compra = null, $id_tarifa_venta = null, $id_usuario_padre = null)
 {
     //valida que el id del usuario exista en la base de datos
     if (!is_null($id_usuario)) {
         if (is_null(UsuarioDAO::getByPK($id_usuario))) {
             return "El usuario con id: " . $id_usuario . " no existe";
         }
     }
     //valida que el id de la direccion exista en la base de datos
     if (!is_null($id_direccion)) {
         if (is_null(DireccionDAO::getByPK($id_direccion))) {
             return "La direccion con id: " . $id_direccion . " no existe";
         }
     }
     //valida el id de 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 el id del rol exista en la base de datos
     if (!is_null($id_rol)) {
         if (is_null(RolDAO::getByPK($id_rol))) {
             return "El rol con id: " . $id_rol . " no existe";
         }
     }
     //valida que la clasificacion del cliente exista en la base de datos
     if (!is_null($id_clasificacion_cliente)) {
         if (is_null(ClasificacionClienteDAO::getByPK($id_clasificacion_cliente))) {
             return "La clasificacion cliente con id: " . $id_clasificacion_cliente . " no existe";
         }
     }
     //valida que la clasificacion del proveedor exista en la base de datos
     if (!is_null($id_clasificacion_proveedor)) {
         if (is_null(ClasificacionProveedorDAO::getByPK($id_clasificacion_proveedor))) {
             return "La clasficiacion proveedor con id: " . $id_clasificacion_proveedor . " no existe";
         }
     }
     //valida que la moneda exista en la base de datos
     if (!is_null($id_moneda)) {
         Logger::log("Editando a moneda:" . $id_moneda);
         if (is_null(MonedaDAO::getByPK($id_moneda))) {
             return "La moneda con id: " . $id_moneda . " no existe";
         }
     }
     //valida el nombre
     if (!is_null($nombre)) {
         $e = ValidacionesController::validarLongitudDeCadena($nombre, 1, 100);
         if (!$e) {
             return "El numero de caracteres del nombre (" . $nombre . ") no esta entre 1 y 100";
         }
     }
     //valida el rfc, el rfc solo puede estar compuesto por Letras mayusculas y numeros
     if (!is_null($rfc)) {
         $e = ValidacionesController::validarLongitudDeCadena($rfc, 1, 30);
         if (!$e) {
             return "El numero de caracteres del rfc (" . $rfc . ") no esta entre 1 y 30";
         }
         if (preg_match('/[^A-Z0-9]/', $rfc)) {
             return "El rfc " . $rfc . " contiene caracteres fuera del rango A-Z y 0-9";
         }
     }
     //valida el curp, el curp solo puede tener letras mayusculas y numeros
     if (!is_null($curp)) {
         $e = ValidacionesController::validarLongitudDeCadena($curp, 1, 30);
         if (!$e) {
             return "El numero de caracteres de la curp (" . $curp . ") no esta entre 1 y 30";
         }
         if (preg_match('/[^A-Z0-9]/', $curp)) {
             return "El curp " . $curp . " contiene caracteres fuera del rango A-Z y 0-9";
         }
     }
     //valida la comision por ventas
     if (!is_null($comision_ventas)) {
         $e = ValidacionesController::validarNumero($comision_ventas, 0, 100);
         if (!$e) {
             return "La comision de ventas (" . $comision_ventas . ") no esta entre 0 y 100";
         }
     }
     //valida el telefono. Los telefonos solo pueden tener numeros, guiones,parentesis,asteriscos y espacios en blanco
     if (!is_null($telefono_personal1)) {
         $e = ValidacionesController::validarLongitudDeCadena($telefono_personal1, 1, 20);
         if (!$e) {
             return "El numero de caracteres del telefono personal (" . $telefono_personal1 . ") no esta entre 1 y 20";
         }
         if (preg_match('/[^0-9\\- \\(\\)\\*]/', $telefono_personal1)) {
             return "El telefono " . $telefono_personal1 . " tiene caracteres fuera del rango 0-9,-,(,),* o espacio vacío";
         }
     }
     //valida el telefono. Los telefonos solo pueden tener numeros, guiones,parentesis,asteriscos y espacios en blanco
     if (!is_null($telefono_personal2)) {
         $e = ValidacionesController::validarLongitudDeCadena($telefono_personal2, 1, 20);
         if (!$e) {
             return "El numero de caracteres del telefono personal alterno (" . $telefono_personal2 . ") no esta entre 1 y 20";
         }
         if (preg_match('/[^0-9\\- \\(\\)\\*]/', $telefono_personal2)) {
             return "El telefono " . $telefono_personal2 . " tiene caracteres fuera del rango 0-9,-,(,),* o espacio vacío";
         }
     }
     //valida el activo. Activo es una variable booleana.
     if (!is_null($activo)) {
         $e = ValidacionesController::validarEntero($activo, 0, 1);
         if (!$e) {
             return "La variable activo (" . $activo . ") no esta entre 0 y 1";
         }
     }
     //valida el limite de credito
     if (!is_null($limite_credito)) {
         $e = ValidacionesController::validarNumero($limite_credito, 0, 1.8E+200);
         if (!$e) {
             return "El limite de credito (" . $limite_credito . ") no esta entre 0 y 1.8e200";
         }
     }
     //valida el descuento. El descuento es un porcentaje y no puede ser mayor a 100
     if (!is_null($descuento)) {
         $e = ValidacionesController::validarNumero($descuento, 0, 100);
         if (!$e) {
             return "El descuento (" . $descuento . ") no esta entre 0 y 100";
         }
     }
     //valida el password, El pasword tiene que tener una longitud mayor o igual a 4
     if (!is_null($password)) {
         $e = ValidacionesController::validarLongitudDeCadena($password, 4, 32);
         if (!$e) {
             return "El numero de caracteres del password (" . $password . ") no esta entre 4 y 32";
         }
     }
     //valida el salario
     if (!is_null($salario)) {
         $e = ValidacionesController::validarNumero($salario, 0, 1.8E+200);
         if (!$e) {
             return "El salario (" . $salario . ") no esta entre 0 y 1.8e200";
         }
     }
     //valida el correo electronico segun las especificaciones de php
     if (!is_null($correo_electronico)) {
         $e = ValidacionesController::validarLongitudDeCadena($correo_electronico, 3, 30);
         if (!$e) {
             return "El numero de caracteres del correo electronico (" . $correo_electronico . ") no esta entre 3 y 30";
         }
         if (!is_string(filter_var($correo_electronico, FILTER_VALIDATE_EMAIL))) {
             return "El correo electronico " . $correo_electronico . " no es valido";
         }
     }
     //valida que una pagina web tenga un formato valido.
     if (!is_null($pagina_web)) {
         $e = ValidacionesController::validarLongitudDeCadena($pagina_web, 2, 30);
         if (!$e) {
             return $e;
         }
         if (!preg_match('/^(http|https|ftp):\\/\\/[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,6}' . '((:[0-9]{1,5})?\\/.*)?$/i', $pagina_web) && !preg_match('/^[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,6}' . '((:[0-9]{1,5})?\\/.*)?$/i', $pagina_web)) {
             return "La direccion web " . $pagina_web . " no cumple el formato valido";
         }
     }
     //valida el saldo del ejercicio
     if (!is_null($saldo_del_ejercicio)) {
         $e = ValidacionesController::validarNumero($saldo_del_ejercicio, -1.8E+200, 1.8E+200);
         if (!$e) {
             return "El saldo del ejercicio (" . $saldo_del_ejercicio . ") no esta entre -1.8e200 y 1.8e200";
         }
     }
     //valida las ventas a credito
     if (!is_null($ventas_a_credito)) {
         $e = ValidacionesController::validarEntero($ventas_a_credito, 0, PHP_INT_MAX);
         if (!$e) {
             return "Las venta a credito no estan entre 0 y " . PHP_INT_MAX;
         }
     }
     //valida el represnetante legal
     if (!is_null($representante_legal)) {
         $e = ValidacionesController::validarLongitudDeCadena($representante_legal, 0, 100);
         if (!$e) {
             return "El numero de caracteres del representante legal (" . $representante_legal . ") no esta entre 0 y 100";
         }
     }
     //valida la facturacion a terceros. Es un boleano
     if (!is_null($facturar_a_terceros)) {
         $e = ValidacionesController::validarEntero($facturar_a_terceros, 0, 1);
         if (!$e) {
             return "La variable facturar a terceros (" . $facturar_a_terceros . ") no esta entre 0 y 1";
         }
     }
     //valida los dias de pago
     if (!is_null($dia_de_pago)) {
         $e = ValidacionesController::validarLongitudDeCadena($dia_de_pago, 19, 19);
         if (!$e) {
             return "La fecha de dia de pago (" . $dia_de_pago . ") es invalida, el formato valido es YYYY-MM-dd HH:mm:ss";
         }
     }
     //valida el boleano mensajeria
     if (!is_null($mensajeria)) {
         $e = ValidacionesController::validarEntero($mensajeria, 0, 1);
         if (!$e) {
             return "La variable mensajeria (" . $mensajeria . ") no esta entre 0 y 1";
         }
     }
     //valida los intereses moratorios
     if (!is_null($intereses_moratorios)) {
         $e = ValidacionesController::validarNumero($intereses_moratorios, 0, 1.8E+200);
         if (!$e) {
             return "Los intereses moratorios (" . $intereses_moratorios . ") no estan entre 0 y 1.8e200";
         }
     }
     //valida la denominacion comercial
     if (!is_null($denominacion_comercial)) {
         $e = ValidacionesController::validarLongitudDeCadena($denominacion_comercial, 0, 100);
         if (!$e) {
             return "El numero de caracteres de la denominacion comercial (" . $denominacion_comercial . ") no esta entre 0 y 100";
         }
     }
     //valida los dias de credito
     if (!is_null($dias_de_credito)) {
         $e = ValidacionesController::validarEntero($dias_de_credito, 0, PHP_INT_MAX);
         if (!$e) {
             return "Los dias de credito (" . $dias_de_credito . ") no estan en el rango de 0 a " . PHP_INT_MAX;
         }
     }
     //valida la cuenta de mensajeria
     if (!is_null($cuenta_de_mensajeria)) {
         $e = ValidacionesController::validarLongitudDeCadena($cuenta_de_mensajeria, 0, 50);
         if (!$e) {
             return "El numero de caracteres de la cuenta de mensajeria (" . $cuenta_de_mensajeria . ") no etsa entre 0 y 50";
         }
     }
     //valida lso dias de revision
     if (!is_null($dia_de_revision)) {
         $e = ValidacionesController::validarLongitudDeCadena($dia_de_revision, 19, 19);
         if (!$e) {
             return "El dia de revision (" . $dia_de_revision . ") no tiene el formato apropiado, el formato valido es YYYY-MM-dd HH:mm:ss";
         }
     }
     //valida el codigo de usuario
     if (!is_null($codigo_usuario)) {
         $e = ValidacionesController::validarLongitudDeCadena($codigo_usuario, 1, 50);
         if (!$e) {
             return "El numero de caracteres del codigo de usuario no esta entre 1 y 50";
         }
         if (preg_match('/[^a-zA-Z0-9]/', $codigo_usuario)) {
             return "El codigo de usuario (" . $codigo_usuario . ") no tiene solo caracteres alfanumericos";
         }
     }
     //valida los dias de embarque
     if (!is_null($dias_de_embarque)) {
         $e = ValidacionesController::validarEntero($dias_de_embarque, 0, PHP_INT_MAX);
         if (!$e) {
             return "Los dias de embarque (" . $dias_de_embarque . ") no esta entre 0 y " . PHP_INT_MAX;
         }
     }
     //valida el tiempo de entrega
     if (!is_null($tiempo_entrega)) {
         $e = ValidacionesController::validarEntero($tiempo_entrega, 0, PHP_INT_MAX);
         if (!$e) {
             return "El tiempo de entrega (" . $tiempo_entrega . ") no esta entre 0 y " . PHP_INT_MAX;
         }
     }
     //valida la cuenta bancaria
     if (!is_null($cuenta_bancaria)) {
         $e = ValidacionesController::validarLongitudDeCadena($cuenta_bancaria, 0, 50);
         if (!$e) {
             return "El numero de caracteres de la cuenta bancaria (" . $cuenta_bancaria . ") no esta entre 0 y 50";
         }
     }
     //valida que la tarifa de compra sea valida
     if (!is_null($id_tarifa_compra)) {
         $tarifa = TarifaDAO::getByPK($id_tarifa_compra);
         if (is_null($tarifa)) {
             return "La tarifa " . $id_tarifa_compra . " no existe";
         }
         if (!$tarifa->getActiva()) {
             return "La tarifa " . $id_tarifa_compra . " no esta activa";
         }
         if ($tarifa->getTipoTarifa() != "compra") {
             return "La tarifa " . $id_tarifa_compra . " no es una tarifa de compra";
         }
     }
     //valida que la tarifa de venta sea valida
     if (!is_null($id_tarifa_venta)) {
         $tarifa = TarifaDAO::getByPK($id_tarifa_venta);
         if (is_null($tarifa)) {
             return "La tarifa " . $id_tarifa_venta . " no existe";
         }
         if (!$tarifa->getActiva()) {
             return "La tarifa " . $id_tarifa_venta . " no esta activa";
         }
         if ($tarifa->getTipoTarifa() != "venta") {
             return "La tarifa " . $id_tarifa_venta . " no es una tarifa de venta";
         }
     }
     //valida que el usuario padre exista y este activo
     if (!is_null($id_usuario_padre)) {
         $usuario_padre = UsuarioDAO::getByPK($id_usuario_padre);
         if (is_null($usuario_padre)) {
             return "El usuario padre " . $id_usuario_padre . " no existe";
         }
         if ($usuario_padre->getActivo()) {
             return "El usuario padre " . $usuario_padre->getNombre() . " no esta activo";
         }
     }
     return true;
 }
Example #8
0
    $btn_eliminar->addName("eliminar");
    $funcion_eliminar = " function eliminar_proveedor(btn){" . "if(btn == 'yes')" . "{" . "var p = {};" . "p.id_proveedor = " . $_GET["pid"] . ";" . "sendToApi_eliminar(p);" . "}" . "}" . "      " . "function confirmar(){" . " Ext.MessageBox.confirm('Desactivar', 'Desea eliminar este proveedor?', eliminar_proveedor );" . "}";
    $btn_eliminar->addOnClick("confirmar", $funcion_eliminar);
    $menu->addMenuItem($btn_eliminar);
    $page->addComponent($menu);
}
//
// Forma de producto
//
$form = new DAOFormComponent($este_usuario);
$form->setEditable(false);
//$form->setEditable(false);
$form->hideField(array("id_usuario", "id_direccion", "id_direccion_alterna", "id_clasificacion_proveedor", "id_clasificacion_cliente"));
$form->createComboBoxJoin("id_ciudad", "nombre", CiudadDAO::getAll(), $esta_direccion->getIdCiudad());
$form->createComboBoxJoin("id_rol", "nombre", RolDAO::getAll(), $este_usuario->getIdRol());
$form->createComboBoxJoin("id_moneda", "nombre", MonedaDAO::getAll(), $este_usuario->getIdMoneda());
$response = ContactosController::DetallesCategoria($este_usuario->getIdCategoriaContacto());
if (!is_null($response['categoria'])) {
    $form->setValueField('id_categoria_contacto', $response['categoria']->getNombre());
}
$form->setCaption('id_categoria_contacto', 'Categor&iacute;a');
//		$form->makeObligatory(array(
//				"compra_en_mostrador",
//				"costo_estandar",
//				"nombre_producto",
//				"id_empresas",
//				"codigo_producto",
//				"metodo_costeo",
//				"activo"
//			));
//	    $form->createComboBoxJoin("id_unidad", "nombre", UnidadDAO::getAll(), $este_producto->getIdUnidad() );
<?php

define("BYPASS_INSTANCE_CHECK", false);
require_once "../../../server/bootstrap.php";
$page = new GerenciaComponentPage();
//
// Parametros necesarios
//
$page->requireParam("bid", "GET", "Este billete no existe.");
$este_billete = BilleteDAO::getByPK($_GET["bid"]);
//titulos
$page->addComponent(new TitleComponent("Editar Billete: " . $este_billete->getNombre()));
//forma de nuevo paquete
$form = new DAOFormComponent($este_billete);
$form->hideField(array("id_billete", "activo"));
$form->sendHidden("id_billete");
$form->addApiCall("api/efectivo/billete/editar/", "GET");
$form->onApiCallSuccessRedirect("efectivo.lista.billete.php");
$form->createComboBoxJoin("id_moneda", "nombre", MonedaDAO::getAll());
$page->addComponent($form);
//render the page
$page->render();
Example #10
0
 >S&iacute;</option>
                    <option <?php 
echo $tarifa->getActiva() ? "" : " SELECTED";
?>
 >No</option>
                </select>
            </td>
        </tr>
        <tr>
            <td><label>Moneda</label></td>
            <td>          
                <select name = "id_moneda_tarifa" id = "id_moneda_tarifa" onChange = "" >
                    <?php 
//$options = "<option value = null>-------</option>";
$options = "";
foreach (MonedaDAO::getAll() as $moneda) {
    $options .= "<option value = \"{$moneda->getIdMoneda()}\"" . ($tarifa->getIdMoneda() == $moneda->getIdMoneda() ? " SELECTED " : "") . ">{$moneda->getNombre()}</option>";
}
echo $options;
?>
                </select>
                                              
            </td>
            <td><label>Default Sistema</label></td>
            <td>
                <input type="Radio" name="default_tarifa" value="true" <?php 
echo $tarifa->getDefault() ? " CHECKED" : "";
?>
 /> S&iacute;
                <input type="Radio" name="default_tarifa" value="false" <?php 
echo $tarifa->getDefault() ? "" : " CHECKED";
Example #11
0
 private static function ValidarParametrosTarifa($id_tarifa = null, $nombre = null, $tipo_tarifa = null, $id_moneda = null)
 {
     //Valida que la tarifa exista y este activa
     if (!is_null($id_tarifa)) {
         $tarifa = TarifaDAO::getByPK($id_tarifa);
         if (is_null($tarifa)) {
             return "La tarifa " . $id_tarifa . " no existe";
         }
         if (!$tarifa->getActiva()) {
             return "La tarifa " . $id_tarifa . " esta inactiva";
         }
     }
     //valida que el nombre sea valido y que no se repita
     if (!is_null($nombre)) {
         if (!self::validarLongitudDeCadena($nombre, 0, 95)) {
             throw InvalidDataException("nombre muy largo");
         }
         if (!is_null($id_tarifa)) {
             $tarifas = array_diff(TarifaDAO::search(new Tarifa(array("nombre" => trim($nombre)))), array(TarifaDAO::getByPK($id_tarifa)));
         } else {
             $tarifas = TarifaDAO::search(new Tarifa(array("nombre" => trim($nombre))));
         }
         foreach ($tarifas as $tarifa) {
             if ($tarifa->getActiva()) {
                 return "El nombre (" . trim($nombre) . ") ya esta en uso por la tarifa " . $tarifa->getIdTarifa();
             }
         }
     }
     //valida que el tipo de tarifa sea valido
     if (!is_null($tipo_tarifa) && $tipo_tarifa != "compra" && $tipo_tarifa != "venta") {
         return "El tipo de tarifa " . $tipo_tarifa . " no es valido, tiene que ser 'compra' o 'venta'";
     }
     //valida la moneda recibida
     if (!is_null($id_moneda)) {
         $moneda = MonedaDAO::getByPK($id_moneda);
         if (is_null($moneda)) {
             return "La moneda " . $id_moneda . " no existe";
         }
         if (!$moneda->getActiva()) {
             return "La moneda " . $id_moneda . " esta inactiva";
         }
     }
     //no se encontro error, regresa verdadero
     return true;
 }
Example #12
0
 public static function ObtenerMonedaBase()
 {
     $moneda_base = ConfiguracionDAO::search(new Configuracion(array("descripcion" => "id_moneda_base")));
     if (count($moneda_base) < 1) {
         Logger::Log("La empresa no tiene moneda base");
         //throw new BusinessLogicException("La empresa no tiene moneda base");
         return NULL;
     }
     $moneda = MonedaDAO::getByPK($moneda_base[0]->getValor());
     return array("id_moneda_base" => $moneda_base[0]->getValor(), "simbolo" => $moneda->getSimbolo());
 }
Example #13
0
<?php

define("BYPASS_INSTANCE_CHECK", false);
require_once "../../../server/bootstrap.php";
$page = new GerenciaComponentPage();
//
// Parametros necesarios
//
$page->requireParam("mid", "GET", "Esta moneda no existe.");
$esta_moneda = MonedaDAO::getByPK($_GET["mid"]);
//
// Titulo de la pagina
//
$page->addComponent(new TitleComponent("Detalles de " . $esta_moneda->getNombre(), 2));
//
// Menu de opciones
//
if ($esta_moneda->getActiva()) {
    $menu = new MenuComponent();
    //$menu->addItem("Editar esta moneda", "efectivo.editar.moneda.php?mid=".$_GET["mid"]);
    //$menu->addItem("Desactivar este producto", null);
    $btn_eliminar = new MenuItem("Desactivar esta moneda", null);
    $btn_eliminar->addApiCall("api/efectivo/moneda/eliminar", "GET");
    $btn_eliminar->onApiCallSuccessRedirect("efectivo.lista.moneda.php");
    $btn_eliminar->addName("eliminar");
    $funcion_eliminar = " function eliminar_moneda(btn){" . "if(btn == 'yes')" . "{" . "var p = {};" . "p.id_moneda = " . $_GET["mid"] . ";" . "sendToApi_eliminar(p);" . "}" . "}" . "      " . "function confirmar(){" . " Ext.MessageBox.confirm('Desactivar', 'Desea eliminar esta moneda?', eliminar_moneda );" . "}";
    $btn_eliminar->addOnClick("confirmar", $funcion_eliminar);
    $menu->addMenuItem($btn_eliminar);
    $page->addComponent($menu);
} else {
    $menu = new MenuComponent();
Example #14
0
 /**
  *
  * Crear una nueva empresa. Por default una nueva empresa no tiene sucursales.
  * Varios RFC`s pueden repetirse siempre y cuando solo exista una empresa activa.
  *
  * @author Juan Manuel Garc&iacute;a Carmona <*****@*****.**>
  *
  * @param contabilidad json JSON donde se describe la moneda que usara como base la empresa, indica la descripción del ejercicio, el periodo inicial y la duración de cada periodo
  * @param direccion json {    "calle": "Francisco I Madero",    "numero_exterior": "1009A",    "numero_interior": 12,     "colonia": "centro",    "codigo_postal": "38000",    "telefono1": "4611223312",    "telefono2": "",       "id_ciudad": 3,    "referencia": "El local naranja"}
  * @param razon_social string El nombre de la nueva empresa.
  * @param rfc string RFC de la nueva empresa.
  * @param cuentas_bancarias json arreglo que contiene los id de las cuentas bancarias
  * @param direccion_web string Direccion del sitio de la empresa
  * @param duplicar bool Significa que se duplicara una empresa, solo es una bandera, en caso de que exista y sea = true ,  significa que duplicara todo lo referente a la empresa (direccion, impuestos asociados, cuentas bancarias, etc..)
  * @param email string Correo electronico de la empresa
  * @param impuestos_compra json Impuestos de compra por default que se heredan  a los productos
  * @param impuestos_venta json Impuestos de venta por default que se heredan a los productos
  * @param mensaje_morosos string mensaje enviado a los clientes cuando un pago es demorado
  * @param representante_legal string El nombre del representante legal de la nueva empresa.
  * @param uri_logo string url del logo de la empresa
  * @return id_empresa int El ID autogenerado de la nueva empresa.
  **/
 static function Nuevo($contabilidad, $direccion, $razon_social, $rfc, $cuentas_bancarias = null, $direccion_web = null, $duplicar = false, $email = null, $impuestos_compra = null, $impuestos_venta = null, $mensaje_morosos = null, $representante_legal = null, $uri_logo = null)
 {
     //verificamos los impuestos de compra
     if ($impuestos_compra !== NULL && !is_array($impuestos_compra)) {
         Logger::error("Error : Verifique los datos especiicados en los impuestos de compra, debe ser una array no vacio");
         throw new InvalidDataException("Error : Verifique los datos especiicados en los impuestos de compra, debe ser una array no vacio");
     }
     //verificamos los impuestos de venta
     if ($impuestos_venta !== NULL && !is_array($impuestos_venta)) {
         Logger::error("Error : Verifique los datos especiicados en los impuestos de venta, debe ser una array no vacio");
         throw new InvalidDataException("Error : Verifique los datos especiicados en los impuestos de venta, debe ser una array no vacio");
     }
     //verificamos si se enviaron todos los parametros
     if (empty($contabilidad->id_moneda) || empty($contabilidad->ejercicio) || empty($contabilidad->periodo_actual) || empty($contabilidad->duracion_periodo)) {
         Logger::error("Error : Verifique que la información de contabilidad este completa");
         throw new InvalidDataException("Verifique que la información de contabilidad este completa : " . $contabilidad);
     }
     //verificamos si se enviaron valores correctos
     if (!is_numeric($contabilidad->id_moneda) || !is_numeric($contabilidad->periodo_actual) || !is_numeric($contabilidad->duracion_periodo)) {
         Logger::error("Error : Verifique que la información de contabilidad sea correcta");
         throw new InvalidDataException("Verifique que la información de contabilidad sea correcta");
     }
     //validamos decimales
     if ($contabilidad->id_moneda - (int) $contabilidad->id_moneda !== 0 || $contabilidad->periodo_actual - (int) $contabilidad->periodo_actual !== 0 || $contabilidad->duracion_periodo - (int) $contabilidad->duracion_periodo !== 0) {
         Logger::error("Error : Verifique que la información de contabilidad sea correcta, el id_moneda, periodo_actual y duracion_periodo deben ser valores enteros");
         throw new InvalidDataException("Error : Verifique que la información de contabilidad sea correcta, el id_moneda, periodo_actual y duracion_periodo deben ser valores enteros");
     }
     if ($contabilidad->duracion_periodo < "1" || $contabilidad->duracion_periodo === "5" || $contabilidad->duracion_periodo > "6") {
         Logger::error("Error : Verifique que la duracion de los perodos, solo pueden durar 1, 2, 3, 4 y 6 meses");
         throw new InvalidDataException("Error : Verifique que la duracion de los perodos, solo pueden durar 1, 2, 3, 4 y 6 meses");
     }
     if ($contabilidad->periodo_actual > 12 / $contabilidad->duracion_periodo) {
         Logger::error("Error : Verifique el valor del periodo actual, debe concordar con la relacion de la duracion de los periodos");
         throw new InvalidDataException("Error : Verifique el valor del periodo actual, debe concordar con la relacion de la duracion de los periodos");
     }
     if (is_null($direccion)) {
         throw new InvalidDataException("Missing direccion");
     }
     if (!is_array($direccion)) {
         $direccion = object_to_array($direccion);
     }
     $id_direccion = DireccionController::NuevaDireccion(isset($direccion["calle"]) ? $direccion["calle"] : null, isset($direccion["numero_exterior"]) ? $direccion["numero_exterior"] : null, isset($direccion["colonia"]) ? $direccion["colonia"] : null, isset($direccion["id_ciudad"]) ? $direccion["id_ciudad"] : null, isset($direccion["codigo_postal"]) ? $direccion["codigo_postal"] : null, isset($direccion["numero_interior"]) ? $direccion["numero_interior"] : null, isset($direccion["referencia"]) ? $direccion["referencia"] : null, isset($direccion["telefono1"]) ? $direccion["telefono1"] : null, isset($direccion["telefono2"]) ? $direccion["telefono2"] : null);
     DAO::transBegin();
     $id_logo = -1;
     //verificamos si se ha enviado informacion sobre un logo
     if (!empty($uri_logo)) {
         $logo = new Logo(array("imagen" => $uri_logo, "tipo" => "-"));
         try {
             LogoDAO::save($logo);
         } catch (Exception $e) {
             DAO::transRollback();
             Logger::error("No se pudo crear la empresa, error al crear el logo: " . $e->getMessage());
             throw new Exception("No se pudo crear la empresa, consulte a su administrador de sistema", 901);
         }
         $id_logo = $logo->getIdLogo();
     }
     //Se crea la empresa con los parametros obtenidos.
     $empresa = new Empresa(array("id_direccion" => $id_direccion, "rfc" => $rfc, "razon_social" => trim($razon_social), "representante_legal" => $representante_legal, "fecha_alta" => time(), "fecha_baja" => null, "activo" => true, "direccion_web" => $direccion_web, "cedula" => "", "id_logo" => $id_logo, "mensaje_morosos" => $mensaje_morosos));
     //Se busca el rfc en la base de datos. Si hay una empresa activa con el mismo rfc se lanza un error
     $empresas = EmpresaDAO::search(new Empresa(array("rfc" => $rfc, "activo" => 1)));
     if (!empty($empresas)) {
         Logger::error("Este rfc ya esta en uso por la empresa activa");
         throw new InvalidDataException("El rfc: " . $rfc . " ya esta en uso", 901);
     }
     /*
      * Se busca la razon social en la base de datos. 
      * Si hay una empresa activa con la misma razon zocial se lanza un error. 
      * Se usa trim para cubrir los casos "caffeina" y "    caffeina    ".
      */
     $empresas = EmpresaDAO::search(new Empresa(array("razon_social" => trim($razon_social), "activo" => 1)));
     if (!empty($empresas)) {
         Logger::error("La razon social: " . $razon_social . " ya esta en uso por la empresa: " . $empresas[0]->getIdEmpresa());
         throw new InvalidDataException("La razon social: " . $razon_social . " ya esta en uso", 901);
     }
     try {
         EmpresaDAO::save($empresa);
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("No se pudo crear la empresa: " . $e->getMessage());
         throw new Exception("No se pudo crear la empresa, consulte a su administrador de sistema", 901);
     }
     //verificamos si la moneda que se esta indicando exista
     if (!($moneda = MonedaDAO::getByPK($contabilidad->id_moneda))) {
         DAO::transRollback();
         Logger::error("Error : No existe la moneda indicada.");
         throw new InvalidDataException("Error : No existe la moneda indicada.", 901);
     }
     //creamos la configuracion de la moneda para esta empresa
     $moneda_base = new Configuracion(array("descripcion" => "id_moneda_base", "valor" => $contabilidad->id_moneda, "id_usuario" => "", "fecha" => time()));
     try {
         ConfiguracionDAO::save($moneda_base);
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("No se pudo crear la configuracion de la moneda base para la empresa: " . $e->getMessage());
         throw new Exception("No se pudo crear la configuracion de la moneda base para la empresa", 901);
     }
     //relacionamos la configuracion con la empresa que estamos creando
     $configuracion_empresa = new ConfiguracionEmpresa(array("id_configuracion" => $moneda_base->getIdConfiguracion(), "id_empresa" => $empresa->getIdEmpresa()));
     try {
         ConfiguracionEmpresaDAO::save($configuracion_empresa);
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("No se pudo crear la relacion entre la moneda base y la empresa: " . $e->getMessage());
         throw new Exception("No se pudo crear la relacion entre la moneda base y la empresa", 901);
     }
     //creamos la configuracion del tipo de cambio para esta empresa
     $tc = new Configuracion(array("descripcion" => "tipo_cambio", "valor" => "", "id_usuario" => "", "fecha" => time()));
     try {
         ConfiguracionDAO::save($tc);
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("No se pudo crear la configuracion del tipo de cambio para la empresa: " . $e->getMessage());
         throw new Exception("No se pudo crear la configuracion del tipo de cambio para la empresa", 901);
     }
     //relacionamos la configuracion con la empresa que estamos creando
     $conf_empresa = new ConfiguracionEmpresa(array("id_configuracion" => $tc->getIdConfiguracion(), "id_empresa" => $empresa->getIdEmpresa()));
     try {
         ConfiguracionEmpresaDAO::save($conf_empresa);
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("No se pudo crear la relacion entre el tipo de cambio y la empresa: " . $e->getMessage());
         throw new Exception("No se pudo crear la relacion entre el tipo de cambio y la empresa", 901);
     }
     //creamos los periodos necesarios
     $_p = 1;
     $_periodo = NULL;
     $_ejercicio = NULL;
     $_mes_inicial = 1;
     $_mes_final = 1;
     $_anio = date("Y");
     $_inicio = 0;
     $_fin = 0;
     for ($i = $contabilidad->duracion_periodo; $i <= 12; $i += $contabilidad->duracion_periodo) {
         //obtenemos la fecha inicial
         $_inicio = mktime(0, 0, 0, $_mes_inicial, 1, $_anio);
         //obtenemos la fecha final
         $_mes_final = $_mes_inicial * $_p;
         $_fin = mktime(23, 59, 59, $_mes_final, getUltimoDiaDelMes($_mes_final, $_anio), $_anio);
         //damos de alta los periodos
         try {
             $_periodo = new Periodo(array("periodo" => $_p, "inicio" => $_inicio, "fin" => $_fin));
             PeriodoDAO::save($_periodo);
         } catch (Exception $e) {
             DAO::transRollback();
             Logger::error("Error al crear los periodos : " . $e->getMessage());
             throw new Exception("Error al crear los periodos", 901);
         }
         //damos de alta el ejercicio
         if ($_p == $contabilidad->periodo_actual) {
             try {
                 $_ejercicio = new Ejercicio(array("anio" => $_anio, "id_periodo" => $_periodo->getIdPeriodo(), "inicio" => $_inicio, "fin" => $_fin, "vigente" => 1));
                 EjercicioDAO::save($_ejercicio);
             } catch (Exception $e) {
                 DAO::transRollback();
                 Logger::error("Error al crear el ejercicio : " . $e->getMessage());
                 throw new Exception("Error al crear el ejercicio", 901);
             }
         }
         $_mes_inicial = $_mes_final + 1;
         $_p++;
     }
     //relacionamos a la empresa con el ejercicio
     try {
         EjercicioEmpresaDAO::save(new EjercicioEmpresa(array("id_ejercicio" => $_ejercicio->getIdEjercicio(), "id_empresa" => $empresa->getIdEmpresa())));
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("Error al relacionar la empresa con el ejercicio: " . $e->getMessage());
         throw new Exception("Error al relacionar la empresa con el ejercicio", 901);
     }
     if (!empty($impuestos_compra)) {
         for ($i = 0; $i < count($impuestos_compra); $i++) {
             try {
                 ImpuestoEmpresaDAO::save(new ImpuestoEmpresa(array("id_empresa" => $empresa->getIdEmpresa(), "id_impuesto" => $impuestos_compra[$i])));
             } catch (Exception $e) {
                 Logger::warn("Error al guardar un impuesto de compra : " . $e->getMessage());
             }
         }
     }
     if (!empty($impuestos_venta)) {
         for ($i = 0; $i < count($impuestos_venta); $i++) {
             try {
                 ImpuestoEmpresaDAO::save(new ImpuestoEmpresa(array("id_empresa" => $empresa->getIdEmpresa(), "id_impuesto" => $impuestos_venta[$i])));
             } catch (Exception $e) {
                 Logger::warn("Error al guardar un impuesto de venta : " . $e->getMessage());
             }
         }
     }
     if (!empty($cuentas_bancarias)) {
         foreach ($cuentas_bancarias as $cuenta_bancarias) {
             //Pendiente hasta que se haga el SPEC de cuentas bancarias
         }
     }
     DAO::transEnd();
     //Creamos el catalogo de cuentas por default para esta nueva empresa
     ContabilidadController::NuevoCatalogoCuentasEmpresa($empresa->getIdEmpresa());
     Logger::log("Empresa creada exitosamente, id=" . $empresa->getIdEmpresa());
     return array("id_empresa" => (int) $empresa->getIdEmpresa());
 }
Example #15
0
function getNombreMoneda($id_moneda)
{
    return MonedaDAO::getByPK($id_moneda)->getSimbolo() . " (\$)";
}
Example #16
0
                    <option <?php 
echo $tarifa->getActiva() ? " SELECTED" : "";
?>
 >S&iacute;</option>
                    <option <?php 
echo $tarifa->getActiva() ? "" : " SELECTED";
?>
 >No</option>
                </select>
            </td>
        </tr>
        <tr>
            <td><label>Moneda</label></td>
            <td>                
                <input type="text" value ="<?php 
echo MonedaDAO::getByPK($tarifa->getIdMoneda())->getSimbolo();
?>
 ($)" DISABLED />                
            </td>
            <td><label>Default Sistema</label></td>
            <td>
                <input type="Radio" DISABLED name="default_tarifa" value="true" <?php 
echo $tarifa->getDefault() ? " CHECKED" : "";
?>
 /> S&iacute;
                <input type="Radio" DISABLED name="default_tarifa" value="false" <?php 
echo $tarifa->getDefault() ? "" : " CHECKED";
?>
 /> No                
            </td>        
        </tr>