private static function validarParametrosClasificacionProveedor($id_clasificacion_proveedor = null, $nombre = null, $descripcion = null, $activa = null, $id_tarifa_compra = null, $id_tarifa_venta = null)
 {
     //valida que la clasificacion exista y este activa
     if (!is_null($id_clasificacion_proveedor)) {
         $clasificacion_proveedor = ClasificacionProveedorDAO::getByPK($id_clasificacion_proveedor);
         if (is_null($clasificacion_proveedor)) {
             return "La clasificacion proveedor " . $id_clasificacion_proveedor . " no existe";
         }
         if (!$clasificacion_proveedor->getActiva()) {
             return "La clasificacion proveedor " . $id_clasificacion_proveedor . " no esta activa";
         }
     }
     //valida que el nombre este en rango y que no se repita
     if (!is_null($nombre)) {
         $e = self::validarString($nombre, 100, "nombre");
         if (is_string($e)) {
             return $e;
         }
         $clasificaciones_proveedor = ClasificacionProveedorDAO::search(new ClasificacionProveedor(array("nombre" => trim($nombre))));
         foreach ($clasificaciones_proveedor as $clasificacion_proveedor) {
             if ($clasificacion_proveedor->getActiva()) {
                 return "El nombre (" . $nombre . ") esta siendo usado por la clasificacion de proveedor " . $clasificacion_proveedor->getIdClasificacionProveedor();
             }
         }
     }
     //valida que la descripcion este en rango
     if (!is_null($descripcion)) {
         $e = self::validarString($descripcion, 255, "descripcion");
         if (is_string($e)) {
             return $e;
         }
     }
     //valida el boleano activa
     if (!is_null($activa)) {
         $e = self::validarNumero($activa, 1, "activa");
         if (is_string($e)) {
             return $e;
         }
     }
     //valida que la tarifa de compra exista, este activa y sea una tarifa de compra
     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 de compra";
         }
     }
     //valida que la tarifa de venta exista, este activa y sea una tarifa de venta
     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 de venta";
         }
     }
     //no se encontro error, regresa verdadero
     return true;
 }
Example #2
0
 private static function validarParametrosClasificacionCliente($id_clasificacion_cliente = null, $clave_interna = null, $nombre = null, $descripcion = null, $id_tarifa_compra = null, $id_tarifa_venta = null)
 {
     //valida que la clasificacion exista
     if (!is_null($id_clasificacion_cliente)) {
         if (is_null(ClasificacionClienteDAO::getByPK($id_clasificacion_cliente))) {
             return "La clasificacion de cliente " . $id_clasificacion_cliente . " no existe";
         }
     }
     //valida que la clave interna sea valida y que no se repita
     if (!is_null($clave_interna)) {
         $e = self::validarLongitudDeCadena($clave_interna, 0, 20);
         if (!$e) {
             return "La clave interna no tiene 0 a 20 caracteres";
         }
         if (!is_null($id_clasificacion_cliente)) {
             $clasificaciones_cliente = array_diff(ClasificacionClienteDAO::search(new ClasificacionCliente(array("clave_interna" => trim($clave_interna)))), array(ClasificacionClienteDAO::getByPK($id_clasificacion_cliente)));
         } else {
             $clasificaciones_cliente = ClasificacionClienteDAO::search(new ClasificacionCliente(array("clave_interna" => trim($clave_interna))));
         }
         if (!empty($clasificaciones_cliente)) {
             Logger::log("La clave interna (" . $clave_interna . ") ya esta en uso");
             throw new BusinessLogicException("La clave interna (" . $clave_interna . ") ya esta en uso");
         }
     }
     //valida que el nombre sea valido y que no se repita
     if (!is_null($nombre)) {
         $e = ValidacionesController::validarLongitudDeCadena($nombre, 1, 16);
         if (!$e) {
             return "El nombre {$nombre} no tiene de 1 a 16 caracteres";
         }
         if (!is_null($id_clasificacion_cliente)) {
             $clasificaciones_cliente = array_diff(ClasificacionClienteDAO::search(new ClasificacionCliente(array("nombre" => trim($nombre)))), array(ClasificacionClienteDAO::getByPK($id_clasificacion_cliente)));
         } else {
             $clasificaciones_cliente = ClasificacionClienteDAO::search(new ClasificacionCliente(array("nombre" => trim($nombre))));
         }
         if (!empty($clasificaciones_cliente)) {
             Logger::log("El nombre (" . $nombre . ") ya esta en uso");
             throw new BusinessLogicException("El nombre (" . $nombre . ") ya esta en uso");
         }
     }
     //valida que la descripcion este en rango
     if (!is_null($descripcion)) {
         $e = ValidacionesController::validarLongitudDeCadena($descripcion, 0, 255);
         if (!$e) {
             return "La descricpion no tiene de 0 a 255 caracteres";
         }
     }
     //valida que la tarifa de compra exista, este activa y sea una tarifa de compra
     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 de compra";
         }
     }
     //valida que la tarifa de venta exista, este activa y sea una tarifa de venta
     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 de venta";
         }
     }
     //No se encontro error
     return true;
 }
    function renderCmp()
    {
        ?>
		<script>

		Ext.require([
		    'Ext.data.*',
		    'Ext.form.*',
		    'Ext.grid.*',
		    'Ext.util.*',
		    'Ext.state.*'
		]);
		
		
		var grid, unidadMedida;

		/* ********************************************************
	     /\  \         /\  \         /\  \         /\  \          ___        /\  \         /\  \    
	    /::\  \       /::\  \       /::\  \       /::\  \        /\  \       \:\  \       /::\  \   
	   /:/\:\  \     /:/\:\  \     /:/\:\  \     /:/\:\  \       \:\  \       \:\  \     /:/\:\  \  
	  /:/  \:\  \   /::\~\:\  \   /::\~\:\  \   /::\~\:\  \      /::\__\      /::\  \   /:/  \:\  \ 
	 /:/__/ \:\__\ /:/\:\ \:\__\ /:/\:\ \:\__\ /:/\:\ \:\__\  __/:/\/__/     /:/\:\__\ /:/__/ \:\__\
	 \:\  \  \/__/ \/__\:\/:/  / \/_|::\/:/  / \/_|::\/:/  / /\/:/  /       /:/  \/__/ \:\  \ /:/  /
	  \:\  \            \::/  /     |:|::/  /     |:|::/  /  \::/__/       /:/  /       \:\  /:/  / 
	   \:\  \           /:/  /      |:|\/__/      |:|\/__/    \:\__\       \/__/         \:\/:/  /  
	    \:\__\         /:/  /       |:|  |        |:|  |       \/__/                      \::/  /   
	     \/__/         \/__/         \|__|         \|__|                                   \/__/ 
		 * ******************************************************** */
		var actualizar_carrito = function(){

			console.group("ACTUALIZAR CARRITO");

			console.log("Actualizando el carrito...");

			// 
			// Actualizar la tabla de productos 
			// seleccionados
			//
			grid.getView().refresh();

			// 
			// Calcular precios e importes
			//		
			var carrito_store_count = carrito_store.count();
			var subtotal = 0;
			var tarifaActual = 1;

			tarifaActual = Ext.get("tarifa_seleccionada").getValue();
			console.log("la tarifa actual es :" + tarifaActual);


			for (var i=0; i < carrito_store_count; i++) {

				var p = carrito_store.getAt(i);

				var tarifasProducto = p.get("tarifas");

				for (var j=0; j < tarifasProducto.length; j++) {
					if(tarifasProducto[j].id_tarifa == tarifaActual){
							console.log("ya encontre el precio de esta tarifa");
							subtotal += parseFloat( tarifasProducto[j].precio ) * parseFloat( p.get("cantidad") ) ;
							break;
					}
				}
			};



			data  = retriveData();
			
			//subotal sin descuento
			Ext.get("carrito_subtotal").update(Ext.util.Format.usMoney( data.subtotal + data.descuento ));
			
			//total descontado
			Ext.get("carrito_descuento").update( "-" + Ext.util.Format.usMoney( data.descuento ));			
			
			//impuesto 
			Ext.get("carrito_impuesto").update("+"  + Ext.util.Format.usMoney( data.impuesto ));
			
			//total
			Ext.get("carrito_total").update(Ext.util.Format.usMoney( data.subtotal + data.impuesto ));
			


			// 
			// Buscar existencias
			//
			if(sucursal_seleccionada !== null){
				//
				// si hay una sucursal seleccionada
				// podemos calcular si hay existencias
				//
				for (var i=0; i < carrito_store_count; i++) {

					var p = carrito_store.getAt(i);

					var existencias = p.get("existencias");



					var found_existencias = false;

					for (var ei=0; ei < existencias.length; ei++) {
						//
						// buscar la sucursal que
						// tengo seleccionada
						//
						if( existencias[ei].id_sucursal == sucursal_seleccionada ){

							console.log(existencias[ei].id_sucursal,  sucursal_seleccionada)

							found_existencias = true;

							if( p.get("cantidad") > existencias[ei].cantidad ){

								console.warn("se necesitan" + p.get("cantidad") + " pero solo tengo "+ existencias[ei].cantidad);
							}else{
								console.log("quiero " + p.get("cantidad") + " y tengo "+ existencias[ei].cantidad);							
							}
							break;
						}
					}


					if(found_existencias === false){
						console.warn("No hay ningun tipo de existencias");
					}


				};
			}//if(sucursal)

			console.groupEnd();
		}



		/* ****************************************************************************************************************
		      ___           ___                   ___           ___           ___           ___           ___     
		     /\  \         /\__\      ___        /\  \         /\__\         /\  \         /\  \         /\  \    
		    /::\  \       /:/  /     /\  \      /::\  \       /::|  |        \:\  \       /::\  \       /::\  \   
		   /:/\:\  \     /:/  /      \:\  \    /:/\:\  \     /:|:|  |         \:\  \     /:/\:\  \     /:/\ \  \  
		  /:/  \:\  \   /:/  /       /::\__\  /::\~\:\  \   /:/|:|  |__       /::\  \   /::\~\:\  \   _\:\~\ \  \ 
		 /:/__/ \:\__\ /:/__/     __/:/\/__/ /:/\:\ \:\__\ /:/ |:| /\__\     /:/\:\__\ /:/\:\ \:\__\ /\ \:\ \ \__\
		 \:\  \  \/__/ \:\  \    /\/:/  /    \:\~\:\ \/__/ \/__|:|/:/  /    /:/  \/__/ \:\~\:\ \/__/ \:\ \:\ \/__/
		  \:\  \        \:\  \   \::/__/      \:\ \:\__\       |:/:/  /    /:/  /       \:\ \:\__\    \:\ \:\__\  
		   \:\  \        \:\  \   \:\__\       \:\ \/__/       |::/  /     \/__/         \:\ \/__/     \:\/:/  /  
		    \:\__\        \:\__\   \/__/        \:\__\         /:/  /                     \:\__\        \::/  /   
		     \/__/         \/__/                 \/__/         \/__/                       \/__/         \/__/                                                                                                                                                                                                
		   ****************************************************************************************************************  */

		var cliente_seleccionado = null;
		var seleccion_de_cliente = function(a,c){

			cliente_seleccionado = c[0];

			console.log("Cliente seleccionado", cliente_seleccionado);

			Ext.get("buscar_cliente_01").enableDisplayMode('block').hide();
			var pphtml = "<h3 style='margin:0px'>Venta para <a target=\"_blank\" href='clientes.ver.php?cid="+cliente_seleccionado.get("id_usuario")+"'>" + cliente_seleccionado.get("nombre") + "</a></h3>";

			if( cliente_seleccionado.get("rfc") !== null )
				pphtml += "<p>" + cliente_seleccionado.get("rfc") + "</p>";

			pphtml += "<br><div class='POS Boton' onClick='buscar_cliente()'  >Buscar otro cliente</div>";

			Ext.get("buscar_cliente_02").update(pphtml).show();

			actualizar_carrito();	
		};



		/* ********************************************************
	      ___           ___           ___           ___           ___     
	     /\__\         /\  \         /\__\         /\  \         /\  \    
	    /:/  /        /::\  \       /::|  |        \:\  \       /::\  \   
	   /:/  /        /:/\:\  \     /:|:|  |         \:\  \     /:/\:\  \  
	  /:/__/  ___   /::\~\:\  \   /:/|:|  |__       /::\  \   /::\~\:\  \ 
	  |:|  | /\__\ /:/\:\ \:\__\ /:/ |:| /\__\     /:/\:\__\ /:/\:\ \:\__\
	  |:|  |/:/  / \:\~\:\ \/__/ \/__|:|/:/  /    /:/  \/__/ \/__\:\/:/  /
	  |:|__/:/  /   \:\ \:\__\       |:/:/  /    /:/  /           \::/  / 
	   \::::/__/     \:\ \/__/       |::/  /     \/__/            /:/  /  
	    ~~~~          \:\__\         /:/  /                      /:/  /   
	                   \/__/         \/__/                       \/__/ 
		 * ******************************************************** */
		var validar_venta_a_credito = function (clienteStore, carrito){

			if(clienteStore === null){
				//no hay cliente seleccionado
				Ext.get("SeleccionDeCliente").highlight();
				return false;
			}

			var vac = clienteStore.get("limite_credito");

			if((vac === null)||( parseFloat(vac) === 0) ){
				//no tiene ventas a credito
				Ext.MessageBox.alert("Nueva venta", "El cliente "+clienteStore.get("nombre") + " no tiene ventas a credito.");
				return false;			
			}


			return true;
		}



		//
		// Valor default de venta
		// 
		var tipo_de_venta = "contado";

		var seleccion_tipo_de_venta = function(tipo){
			switch(tipo){
				case "credito" :
					console.log("seleccion_tipo_de_venta(credito)");
					validar_venta_a_credito(cliente_seleccionado, carrito_store );
					tipo_de_venta = "credito";
				break;

				case "contado" :
					console.log("seleccion_tipo_de_venta(contado)");			
					tipo_de_venta = "contado";
				break;

				default:
					throw new Exception( "seleccion_tipo_de_venta(): tipo invalido" );
			}
		}

		var buscar_cliente = function(){

			cliente_seleccionado = null;

			Ext.get("buscar_cliente_02").enableDisplayMode('block').hide();

			Ext.get("buscar_cliente_01").show();

			actualizar_carrito();

		}





		var seleccionar_producto = function( a, p ){


			console.group("SELECCION DE PRODUCTO");

			console.log( "Seleccionando producto", p );

			//ponerle cantidad inicial de 1
			console.log("cantidad inicial de 1");

			p[0].set("cantidad", 1);

			//agregar produco al store
			carrito_store.add( p[0] );

			console.groupEnd();

			actualizar_carrito();
		}

		var tipo_de_pago_seleccionado = "efectivo";

		var seleccion_de_tarifa = function(id_tarifa){

			console.log("Tarifa seleccionada:" + id_tarifa);
			actualizar_carrito();
		}

		var carrito_store;

		var retriveData = function(){

				//
				// crear un objeto con los productos
				//
				var detalle_de_venta = [];

				//
				// 
				// 


				var carrito_store_count = carrito_store.count();
				var subtotal = 0;
				var tarifaActual = 1;

				tarifaActual = Ext.get("tarifa_seleccionada").getValue();
				console.log("la tarifa actual es :" + tarifaActual);


				for (var i=0; i < carrito_store_count; i++) {

					var p = carrito_store.getAt(i);

					var tarifasProducto = p.get("tarifas");

					var precio_con_tarifa = -1; 

					for (var j=0; j < tarifasProducto.length; j++) {
						
						if(tarifasProducto[j].id_tarifa == tarifaActual){
								//console.log("ya encontre el precio de esta tarifa");
								precio_con_tarifa = parseFloat( tarifasProducto[j].precio );
								subtotal +=  precio_con_tarifa * parseFloat( p.get("cantidad") ) ;
								break;
						}
						
					}

					detalle_de_venta.push({
						id_producto : p.get("id_producto"),
						cantidad 	: p.get("cantidad"),
						precio		: precio_con_tarifa,
						descuento	: 0,
						impuesto	: 0,
						retencion	: 0,
						id_unidad	: p.get("id_unidad")
					});

				};

				
				var impuesto = 0, descuento = 0;
				
				//descuento esta en 0-100
				descuento = Ext.get("descuento_seleccionado_val").getValue();
				
				//dAplicado es el descuento sin aplicar, lol
				var dAplicado = (descuento/100) * subtotal;

				subtotal = subtotal - dAplicado;
				
				<?php 
        //listar impuestos
        $i = ImpuestosController::Lista();
        $iLista = $i["resultados"];
        $impuestos_to = 0;
        //carrito_impuesto
        foreach ($iLista as $imp) {
            $impuestos_to += $imp->getImporte();
        }
        echo "impuesto = subtotal * " . $impuestos_to . ";";
        ?>
				
				
				
				ventaObj = {
					retencion 			: 0,
					descuento 			: dAplicado,
					impuesto 			: impuesto,
					subtotal			: subtotal,
					total 				: subtotal + impuesto,
					tipo_venta	 		: tipo_de_venta,
					id_sucursal			: null,
					detalle_venta		: Ext.JSON.encode( detalle_de_venta )
				};
				
				
				
				if(cliente_seleccionado == null){
					ventaObj.id_comprador_venta = null;
				}else{
					ventaObj.id_comprador_venta	= cliente_seleccionado.get("id_usuario");
				}

				if(Ext.get("sucursal_seleccionada") !==  undefined){
					ventaObj.id_sucursal = Ext.get("sucursal_seleccionada").getValue();

				}else if( sucursal_seleccionada !== undefined || sucursal_seleccionada != null ){
					ventaObj.id_sucursal = sucursal_seleccionada;

				}	

				return ventaObj;
		}


		var doCotizar = function(){
			
			var ventaObj = retriveData();
			
			ventaObj.es_cotizacion = true;

			//
			// Enviar al API
			// 
			POS.API.POST(
				"api/ventas/nueva/", 
				ventaObj,
				{
					callback : function(r){
						if(r.status === "ok"){
							window.location = "ventas.detalle.php?vid=" + r.id_venta + "&last_action=ok";

						}else{
							console.error(r);
							Ext.MessageBox.alert("Nueva venta", "Algo salio mal.");
						}
					}
				});
		}

		var doVenta = function (){

			var ventaObj = retriveData();
			ventaObj.es_cotizacion = 0;

			if( ventaObj.id_sucursal == null ){
					window.scrollTo(0, Ext.get("SeleccionDeSucursal").getY() - 20);			
					Ext.get("SeleccionDeSucursal").highlight();
					return;
			}	


			//
			// Enviar al API
			// 
			POS.API.POST(
				"api/ventas/nueva/", 
				ventaObj,
				{
					callback : function(r){
						if(r.status === "ok"){
							window.location = "ventas.detalle.php?vid=" + r.id_venta + "&last_action=ok";

						}else{
							console.error(r);
							Ext.MessageBox.alert("Nueva venta", "Algo salio mal.");
						}
					}
				});

		}


		var cellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
		        clicksToEdit: 1,
		        listeners: {
		            edit: function(){
		                // refresh summaries
		                actualizar_carrito();
		            }
		        }
		});


		var sucursal_seleccionada = null;

		var seleccionar_sucursal = function( sucursalStore ){
			//sucursalStore
			console.log(sucursalStore.get("id_sucursal") + " seleccionada...");

			sucursal_seleccionada = sucursalStore.get("id_sucursal");

			actualizar_carrito();
		};




		Ext.onReady(function(){


			<?php 
        $this->printOnReadyJs();
        ?>
		
		
			/** *****************************************************************
			  * CARRITO
			  *
			  * ***************************************************************** */

			   

			    // create the Grid
			    grid = Ext.create('Ext.grid.Panel', {
			        store: carrito_store,
					plugins: [cellEditing],
			        stateful: false,
					bodyCls: 'foo',
			        stateId: 'stateGrid2',
			        columns: [
			            {
			                text     : 'Codigo producto',
			                width    : 95,
			                sortable : false,
			                dataIndex: 'codigo_producto'
			            },
			            {
			                text     : 'Nombre producto',
			                flex     : 1,
			                sortable : true,
			                dataIndex: 'nombre_producto'
			            },
			            {
			                text     : 'Cantidad',
							dataIndex: 'cantidad',
			                sortable : false,
							field: {
				                xtype: 'numberfield',
								decimalPrecision : 4				
				            },
							renderer: function (cantidad, a, storeObj){
								var um = unidadMedida.getById(parseInt( storeObj.get("id_unidad") ) );
								if(um == null){
									alert("Hay un problema con las unidades del producto recien seleccionado. Porfavor verifique que tenga una unidad especificada.");
									return cantidad + " ERROR EN UNIDADES" ;
								}
								
								return cantidad + " " + um.get("descripcion");
							}
			            },	
				/*
						{
			                text     : 'Unidad',
			                width    : 75,
			                dataIndex: 'id_unidad',
				            field : {
				            	xtype : "combobox",
				            	typeAhead: false,
								invalidText : "Invalido",
				                triggerAction: 'all',
				                selectOnTab: true,
				                store: unidadMedida,
				                lazyRender: true,
				                listClass: 'x-combo-list-small',
				                displayField: "abreviacion",
				                listConfig: {
				                	loadingText: 'Buscando...',
				                	
				                	// Custom rendering template for each item
				                	getInnerTpl: function(a,b,c) {
										return "<p style='margin:0px'>{abreviacion}</p>";
				                	}
				            	},
				            }//field
			            },
			*/	
			            {
			                text     : 'Precio',
			                sortable : true,
			                dataIndex: 'tarifas',
							renderer : function(tarifasArray){

								/* ***** **** ***** 
									tarifasArray tiene las tarifas para 
									este producto solo hay que ver que cliente
									esta seleccionado para mostrar la adecuada
								***** **** ***** */
								var tf = Ext.get("tarifa_seleccionada").getValue();

								for (var i=0; i < tarifasArray.length; i++) {
									if(tarifasArray[i].id_tarifa == tf){
										return Ext.util.Format.usMoney( tarifasArray[i].precio );
									}
								}

								return "X";

							}
			            },		
			            {
			                text     : 'Importe',
			                width    : 75,
			                sortable : true,
							renderer : function(a,b,producto){

								var tf =  Ext.get("tarifa_seleccionada").getValue();
								var tarifasArray = producto.get("tarifas");

								for (var i=0; i < tarifasArray.length; i++) {
									if(tarifasArray[i].id_tarifa == tf){
										return Ext.util.Format.usMoney( 
											parseFloat(tarifasArray[i].precio ) * parseFloat(producto.get("cantidad")) );
									}
								};
							}
			            }
			        ],
			        height: 350,
			        width: "100%",
			        renderTo: 'carrito_de_compras_grid',
			        viewConfig: {
			            stripeRows: true
			        }
			    });		

			/** *****************************************************************
			  * CARRITO
			  *
			  * ***************************************************************** */

		}); /* Ext.onReady */


	</script>
				
				
				
			
	<h2>Nueva venta</h2>

	<table border="0" style="width: 100%" class="">
		<tr id="SeleccionDeCliente">
			<td colspan="4">
				<div id="buscar_cliente_01">
					<p style="margin-bottom: 0px;">Buscar cliente</p>
					<div style="margin-bottom: 15px;" id="ShoppingCartComponent_002"><!-- clientes --></div>				
				</div>
				<div id="buscar_cliente_02" style="display:none; margin-bottom: 0px"></div>						
			</td>
		</tr>
		<tr>
			<td id="SeleccionDeSucursal">
				Sucursal:
				<div >
				<?php 
        $sucursales = SucursalDAO::getAll();
        if (sizeof($sucursales) == 0) {
            ?>
<div style="color:gray; font-size:9px">[No hay sucursales]</div><?php 
        } else {
            if (sizeof($sucursales) > 10) {
                $selector_de_suc = new SucursalSelectorComponent();
                $selector_de_suc->addJsCallback("seleccionar_sucursal");
                $selector_de_suc->renderCmp();
            } else {
                ?>
<select id="sucursal_seleccionada" onChange="seleccionar_sucursal(this.value)" ><?php 
                for ($i = 0; $i < sizeof($sucursales); $i++) {
                    echo "<option value=\"" . $sucursales[$i]->getIdSucursal() . "\" >" . $sucursales[$i]->getDescripcion() . "</option>";
                }
                ?>
</select><?php 
            }
        }
        ?>
						
				</div>
			</td>
			<td id="SeleccionDeTipoDeVenta">
				Tipo de venta:
				<div >
					<select onChange="seleccion_tipo_de_venta(this.value)">
						<option value="contado" selected>Contado</option>
						<option value="credito">Credito</option>
					</select>
				</div>
			</td>
			<td id="SeleccionDeImpuestos">
				Tipo de tarifa:
				<div >
					<select id="tarifa_seleccionada" onChange="seleccion_de_tarifa(this.value)" >
						<?php 
        $tarifas = TarifaDAO::obtenerTarifasActuales("venta");
        for ($i = 0; $i < sizeof($tarifas); $i++) {
            echo "<option value=\"" . $tarifas[$i]["id_tarifa"] . "\" >" . $tarifas[$i]["nombre"] . "</option>";
        }
        ?>
					</select>
				</div>
			</td>
			<td id="SeleccionDeTipoDePago">
				Tipo de pago:
				<div >
					<select name="" onChange="tipo_de_pago_seleccionado = this.value">
						<option value="efectivo">efectivo</option>
						<option value="cheque">cheque</option>
					</select>
				</div>
			</td>										
		</tr>
		<tr>
			<td id="SeleccionDeDescuento">
			Descuento:
			<input type="text" id="descuento_seleccionado_val" onchange="actualizar_carrito()" value="0" >
			<select id="descuento_seleccionado_tipo" onChange="actualizar_carrito()">
				<option value="porciento">%</option>
				<!-- <option value="MXN">MXN</option> -->
			</select>
			</td>										
		</tr>

	</table>

	<div id="CartComponent_002"><!-- buscar productos --></div>

	<div id="carrito_de_compras" style="margin: 5px auto;">
		<div id="carrito_de_compras_grid"></div>
	</div>



<div style="border:1px solid #99BBE8;	;box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-webkit-box-sizing: border-box; 
	margin-bottom: 20px">
	

	<table style="margin-bottom: 0px;
	width: 200px;
	margin-right: 0px;
	margin-left: auto;">
		<tr>
			<td>Subtotal</td>
			<td id="carrito_subtotal"></td>
		</tr>

		<tr>
			<td>Descuento</td>
			<td id="carrito_descuento"></td>
		</tr>

		<tr>
			<td>Impuesto</td>
			<td id="carrito_impuesto"></td>
		</tr>
		<tr>
			<td><strong>Total</strong></td>
			<td id="carrito_total"></td>
		</tr>				
	</table>
</div>



	<div class="POS Boton" onClick="cancelarVenta()">Cancelar</div>
	<div class="POS Boton" onClick="doCotizar()">Solo cotizar</div>
	<div class="POS Boton OK" onClick="doVenta()">Vender</div>

	<?php 
    }
Example #4
0
<?php

define("BYPASS_INSTANCE_CHECK", false);
require_once "../../../server/bootstrap.php";
$page = new GerenciaComponentPage();
// Parametros necesarios
$page->requireParam("sid", "GET", "Esta sucursal no existe.");
$esta_sucursal = SucursalDAO::getByPK($_GET["sid"]);
$esta_direccion = DireccionDAO::getByPK($esta_sucursal->getIdDireccion());
// Titulo de la pagina
$page->addComponent(new TitleComponent("Editar sucursal " . $esta_sucursal->getDescripcion(), 2));
//forma de nueva empresa
$sucursal_form = new DAOFormComponent($esta_sucursal);
$sucursal_form->hideField(array("id_sucursal", "id_direccion", "fecha_apertura", "fecha_baja"));
$sucursal_form->renameField(array("id_gerente" => "id_usuario"));
$sucursal_form->createComboBoxJoin("id_usuario", "nombre", UsuarioDAO::getAll(), $esta_sucursal->getIdGerente());
$sucursal_form->createComboBoxJoin("id_tarifa", "nombre", TarifaDAO::getAll(), $esta_sucursal->getIdTarifa());
$sucursal_form->createComboBoxJoin("activa", "activa", array(array("id" => false, "caption" => "No"), array("id" => true, "caption" => "S&iacute;")), $esta_sucursal->getActiva());
$page->addComponent($sucursal_form);
$page->addComponent(new TitleComponent("Direccion", 3));
$direccion_form = new DAOFormComponent($esta_direccion);
$direccion_form->hideField(array("id_direccion", "ultima_modificacion", "id_usuario_ultima_modificacion"));
$direccion_form->createComboBoxJoin("id_ciudad", "nombre", CiudadDAO::getAll(), $esta_direccion->getIdDireccion());
$direccion_form->renameField(array("id_ciudad" => "ciudad"));
$js = "(function(){\n\t\t\t\tPOS.API.POST(\"api/sucursal/editar/\",{\n\t\t\t\t\tid_sucursal\t\t: " . $_GET['sid'] . ",\n\t\t\t\t\tdescripcion\t\t: Ext.get(\"" . $sucursal_form->getGuiComponentId() . "descripcion\").getValue(),\n\t\t\t\t\tid_gerente\t\t: Ext.get(\"" . $sucursal_form->getGuiComponentId() . "id_usuario\").getValue(),\n\t\t\t\t\tid_tarifa\t\t: Ext.get(\"" . $sucursal_form->getGuiComponentId() . "id_tarifa\").getValue(),\n\t\t\t\t\tactivo\t\t\t: Ext.get(\"" . $sucursal_form->getGuiComponentId() . "activa\").getValue(),\n\t\t\t\t\tdireccion : Ext.JSON.encode({\n\t\t\t\t\t\t \tcalle\t\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "calle\").getValue(),\n\t\t\t\t\t\t\tnumero_exterior\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "numero_exterior\").getValue(),\n\t\t\t\t\t\t    numero_interior\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "numero_interior\").getValue(),\n\t\t\t\t\t\t    colonia\t\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "colonia\").getValue(),\n\t\t\t\t\t\t    codigo_postal\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "codigo_postal\").getValue(),\n\t\t\t\t\t\t    telefono1\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "telefono\").getValue(),\n\t\t\t\t\t\t    telefono2\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "telefono2\").getValue(),\n\t\t\t\t\t\t    id_ciudad\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "ciudad\").getValue(),\n\t\t\t\t\t\t    referencia\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "referencia\").getValue()\n\t\t\t\t\t})\n\t\t\t\t},{ callback : function(a,b){\n\t\t\t\t\twindow.onbeforeunload = function(){ return;\t};\n\t\t\t\t\twindow.location = \"sucursales.ver.php?sid=\"+ " . $_GET['sid'] . ";\n\t\t\t\t}});\n\t\t\t})()";
$direccion_form->addOnClick("Editar sucursal", $js);
$page->addComponent($direccion_form);
$page->render();
Example #5
0
<?php

define("BYPASS_INSTANCE_CHECK", false);
require_once "../../../server/bootstrap.php";
$page = new GerenciaComponentPage();
$page->requireParam("rid", "GET", "Este rol no existe.");
$este_rol = RolDAO::getByPK($_GET["rid"]);
$page->addComponent(new TitleComponent("Editar rol de " . $este_rol->getNombre(), 2));
$form = new DAOFormComponent($este_rol);
$form->hideField(array("id_rol"));
$form->sendHidden("id_rol");
$form->createComboBoxJoinDistintName("id_tarifa_venta", "id_tarifa", "nombre", TarifaDAO::search(new Tarifa(array("tipo_tarifa" => "venta"))), $este_rol->getIdTarifaVenta());
$form->createComboBoxJoinDistintName("id_tarifa_compra", "id_tarifa", "nombre", TarifaDAO::search(new Tarifa(array("tipo_tarifa" => "venta"))), $este_rol->getIdTarifaCompra());
$form->createComboBoxJoinDistintName("id_rol_padre", "id_rol", "nombre", RolDAO::getAll(), $este_rol->getIdRolPadre());
$form->createComboBoxJoin("id_perfil", "descripcion", POSController::ListaPerfilConfiguracion(), $este_rol->getIdPerfil());
$form->addApiCall("api/personal/rol/editar/");
$form->onApiCallSuccessRedirect("personal.rol.ver.php?rid=" . $_GET["rid"]);
$page->addComponent($form);
$page->render();
Example #6
0
<?php

define("BYPASS_INSTANCE_CHECK", false);
require_once "../../../server/bootstrap.php";
$page = new GerenciaComponentPage();
$tarifa = TarifaDAO::getByPK($_GET["tid"]);
if (is_null($tarifa)) {
    die;
}
//
// Parametros necesarios
//
$page->requireParam("tid", "GET", "Esta tarifa no existe.");
//
// Titulo de la pagina
//
$page->addComponent(new TitleComponent("Detalle Tarifa"));
$page->addComponent(new TitleComponent(utf8_decode($tarifa->getNombre()), 2));
$page->partialRender();
?>

<table style ="width:100%;">
    <tr>
        <td style = "border-width:0px;" valign="middle">
            <input class="POS Boton OK"  type = "button" value = "Guardar" onClick = "" />
        </td>
    </tr>
</table>

<form>
    <table width = 100% border = 0 >
 /**
  *
  *Edita la informacion de un grupo, puede usarse para editar los permisos del mismo
  *
  * @author Juan Manuel Garc&iacute;a Carmona <*****@*****.**>
  * @param id_rol int Id del rol a editar
  * @param descripcion string Descripcion larga del grupo
  * @param id_perfil int Id del perfil de usuario en el sistema
  * @param id_rol_padre int Id del rol padre
  * @param id_tarifa_compra int Id de la tarifa de compora por default que aplicara a los usuarios de este rol. Si un usuario tiene otra tarifa de compra, no sera sobreescrita
  * @param id_tarifa_venta int Id de la tarifa de venta por default que aplicara a los usuarios de este rol . Si un usuario ya tiene otra tarifa de venta, no sera sobreescrita.
  * @param nombre string Nombre del grupo
  * @param salario float Salario base para este rol
  **/
 public static function EditarRol($id_rol, $descripcion = null, $id_perfil = null, $id_rol_padre = null, $id_tarifa_compra = null, $id_tarifa_venta = null, $nombre = null, $salario = "0")
 {
     //verificamos si el rol qeu se quiere editar existe
     if (!($rol = RolDAO::getByPK($id_rol))) {
         Logger::error("No se tiene registro del rol que desea editar");
         throw new Exception("No se tiene registro del rol que desea editar", 901);
     }
     //verificamos si ya hay un Roll con el mismo nombre
     if ($nombre !== null && $nombre !== "") {
         $nombre = trim($nombre);
         if ($rol->getNombre() !== $nombre) {
             $roles = RolDAO::search(new Rol(array("nombre" => $nombre)));
             if (!empty($roles)) {
                 Logger::error("Ya existe un rol con ese nombre");
                 throw new Exception("Ya existe un rol con ese nombre", 901);
             } else {
                 $rol->setNombre($nombre);
             }
         }
     }
     //validamos si el salario es numerico
     if ($salario !== "0") {
         if (!is_numeric($salario)) {
             Logger::error("El salario debe ser un valor numerico");
             throw new Exception("El salario debe ser un valor numerico", 901);
         } else {
             if ($rol->getSalario() !== $salario) {
                 $rol->setSalario($salario);
             }
         }
     }
     //validamos si el perfil existe y es valido
     if ($id_perfil !== null && $id_perfil !== "" && !PerfilDAO::getByPK($id_perfil)) {
         Logger::error("No se tiene registro del Perfil indicado");
         throw new Exception("No se tiene registro del Perfil indicado", 901);
     } elseif ($id_perfil !== "") {
         $rol->setIdPerfil($id_perfil);
     } elseif ($id_perfil === "") {
         $rol->setIdPerfil(null);
     }
     //validamos si se envio un rol Padre y existe
     if ($id_rol_padre !== null && $id_rol_padre !== "" && !RolDAO::getByPK($id_rol_padre)) {
         Logger::error("No se tiene registro del Rol Padre indicado");
         throw new Exception("No se tiene registro del Rol Padre indicado", 901);
     } elseif ($id_rol_padre !== "") {
         $rol->setIdRolPadre($id_rol_padre);
     } elseif ($id_rol_padre === "") {
         $rol->setIdRolPadre(null);
     }
     //validamos si se envio una tarifa de compra
     if ($id_tarifa_compra !== null && $id_tarifa_compra !== "" && !TarifaDAO::getByPK($id_tarifa_compra)) {
         Logger::error("No se tiene registro de la Tarifa de Compra indicada");
         throw new Exception("No se tiene registro de la Tarifa de Compra indicada", 901);
     } elseif ($id_tarifa_compra !== "") {
         $rol->setIdTarifaCompra($id_tarifa_compra);
     } elseif ($id_tarifa_compra === "") {
         $rol->setIdTarifaCompra(null);
     }
     //validamos si se envio una tarifa de venta
     if ($id_tarifa_venta !== null && $id_tarifa_venta !== "" && !TarifaDAO::getByPK($id_tarifa_venta)) {
         Logger::error("No se tiene registro de la Tarifa de Venta indicada");
         throw new Exception("No se tiene registro de la Tarifa de Venta indicada", 901);
     } elseif ($id_tarifa_venta !== "") {
         $rol->setIdTarifaVenta($id_tarifa_venta);
     } elseif ($id_tarifa_venta === "") {
         $rol->setIdTarifaVenta(null);
     }
     $descripcion = trim($descripcion);
     //Editamos los valores
     if ($descripcion !== null && $descripcion !== "") {
         $rol->setDescripcion($descripcion);
     }
     DAO::transBegin();
     try {
         RolDAO::save($rol);
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("Error al modificar el rol: " . $e);
         throw new Exception("Error al crear modificar el rol, consulte a su administrador de sistema", 901);
     }
     DAO::transEnd();
     Logger::log("Rol editado exitosamente");
 }
 /**
  *
  *Edita los datos de una sucursal
  *
  * @author Juan Manuel Garc&iacute;a Carmona <*****@*****.**>
  * @param id_sucursal int Id de la sucursal a modificar
  * @param id_tarifa int Id de la tarifa por default de la sucursal
  * @param activo bool Indica si esta sucursal estar activa
  * @param descripcion string Descripcion de la sucursal
  * @param direccion json Objeto que contiene la informacin sobre al direccion
  * @param id_gerente int Id del gerente de la sucursal
  **/
 public static function Editar($id_sucursal, $activo = null, $descripcion = null, $direccion = null, $id_gerente = null, $id_tarifa = null)
 {
     DAO::transBegin();
     //Se obtiene la sucursal a editar y se valida que exista
     if (!($sucursal = SucursalDAO::getByPK($id_sucursal))) {
         Logger::error("La sucursal con id : {$id_sucursal} no existe");
         throw new InvalidDataException("La sucursal con id : {$id_sucursal} no existe");
     }
     //verificamos si la sucursal esta activa en caso de no estarlo solo permitira activarla
     if ($activo !== NULL) {
         $val = null;
         if ($activo == 1) {
             $val = true;
         } elseif ($activo == "") {
             $val = false;
         }
         $sucursal->setActiva($val);
     }
     //editamos solo la direccion
     if (!is_null($direccion)) {
         if (!is_array($direccion)) {
             $direccion = object_to_array($direccion);
         }
         //varificamos si la direccion que tiene la sucursal existe si no creamos una
         if (!($_direccion = DireccionDAO::getByPK($sucursal->getIdDireccion()))) {
             //no existe, etonces creamos una nueva direccion
             DireccionController::NuevaDireccion(isset($direccion['calle']) ? $direccion['calle'] : "", isset($direccion['numero_exterior']) ? $direccion['numero_exterior'] : "", isset($direccion['colonia']) ? $direccion['colonia'] : "", isset($direccion['id_ciudad']) ? $direccion['id_ciudad'] : "", isset($direccion['codigo_postal']) ? $direccion['codigo_postal'] : "", isset($direccion['numero_interior']) ? $direccion['numero_interior'] : "", isset($direccion['referencia']) ? $direccion['referencia'] : "", isset($direccion['telefono1']) ? $direccion['telefono1'] : "", isset($direccion['telefono2']) ? $direccion['telefono2'] : "");
         } else {
             //la direccion existe, hay que editarla
             $_direccion->setCalle(isset($direccion['calle']) ? $direccion['calle'] : "");
             $_direccion->setNumeroExterior(isset($direccion['numero_exterior']) ? $direccion['numero_exterior'] : "");
             $_direccion->setNumeroInterior(isset($direccion['numero_interior']) ? $direccion['numero_interior'] : "");
             $_direccion->setReferencia(isset($direccion['referencia']) ? $direccion['referencia'] : "");
             $_direccion->setColonia(isset($direccion['colonia']) ? $direccion['colonia'] : "");
             $_direccion->setIdCiudad(isset($direccion['id_ciudad']) ? $direccion['id_ciudad'] : "");
             $_direccion->setCodigoPostal(isset($direccion['codigo_postal']) ? $direccion['codigo_postal'] : "");
             $_direccion->setTelefono(isset($direccion['telefono1']) ? $direccion['telefono1'] : "");
             $_direccion->setTelefono2(isset($direccion['telefono2']) ? $direccion['telefono2'] : "");
             try {
                 DireccionDAO::save($_direccion);
             } catch (Exception $e) {
                 DAO::transRollback();
                 Logger::error("Error al modificar la direccion : {$e}");
                 throw new Exception("Ocurrio un error al modificar la direccion");
             }
         }
     }
     //verificamos si cambio el gerente
     if (!is_null($id_gerente)) {
         $usuario_gerente = UsuarioDAO::getByPK($id_gerente);
         if (!$usuario_gerente) {
             Logger::error("No se tiene registro del gerente con id : {$id_gerente}");
             throw new Exception("No se tiene registro del gerente con id : {$id_gerente}");
         } else {
             $sucursal->setIdGerente($usuario_gerente->getIdUsuario());
         }
     }
     //
     if (!is_null($id_tarifa) && !($tarifa = TarifaDAO::getByPK($id_tarifa))) {
         Logger::error("No se tiene registro de la tarifa con id : {$id_gerente}");
         throw new Exception("No se tiene registro de la tarifa indicada");
     } else {
         $sucursal->setIdTarifa($id_tarifa);
     }
     //verificamos si cambio la descripcion
     $descripcion = trim($descripcion);
     if ($descripcion !== $sucursal->getDescripcion()) {
         //verificamos si hay una sucursal con esa misma descripcion
         $sucursales = SucursalDAO::search(new Sucursal(array("descripcion" => $descripcion)));
         if (!empty($sucursales)) {
             DAO::transRollback();
             Logger::error("Ya existe una sucursal con esa descripcion");
             throw new Exception("Ya existe una sucursal con esa descripcion");
         } else {
             $sucursal->setDescripcion($descripcion);
         }
     }
     try {
         SucursalDAO::save($sucursal);
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("No se pudo actualizar la sucursal: " . $e);
         if ($e->getCode() == 901) {
             throw new Exception("No se pudo actualizar la sucursal: " . $e->getMessage(), 901);
         }
         throw new Exception("No se pudo actualizar la sucursal", 901);
     }
     DAO::transEnd();
     Logger::log("Sucursal actualizada exitosamente");
 }
Example #9
0
 /**
  	 *
  	 *Desactiva una tarifa. Para poder desactivar una tarifa, esta no tiene que estar asignada como default para ningun usuario. La tarifa default del sistema no puede ser eliminada.
 
 La tarifa instalada por default no puede ser eliminada
  	 *
  	 * @param id_tarifa int Id de la tarifa a eliminar
  	 **/
 public static function Desactivar($id_tarifa)
 {
     Logger::log("Desactivando la tarifa " . $id_tarifa);
     //Se valida la tarifa recibida
     $validar = self::ValidarParametrosTarifa($id_tarifa);
     if (is_string($validar)) {
         Logger::error($validar);
         throw new Exception($validar);
     }
     $tarifa = TarifaDAO::getByPK($id_tarifa);
     if ($tarifa->getDefault()) {
         Logger::error("Se quiere eliminar una tarifa por default");
         throw new Exception("Se quiere eliminar una tarifa por default, primero cambie la tarifa default y despues vuelva a intentarlo", 901);
     }
     $tarifa->setActiva(0);
     DAO::transBegin();
     try {
         TarifaDAO::save($tarifa);
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("No se pudo eliminar la tarifa: " . $e);
         throw new Exception("No se pudo eliminar la tarifa, intentelo de nuevo mas tarde o consulte al administrado del sistema", 901);
     }
     DAO::transEnd();
     Logger::log("Tarifa desactivada exitosamente");
 }
Example #10
0
				telefono1		: o.telefono1,
				telefono2		: o.telefono2
			}]);
			console.log(o);
			return o;
		}
	</script>

	<?php 
$form->hideField(array("id_usuario", "id_sucursal", "id_rol", "token_recuperacion_pass", "id_clasificacion_proveedor", "id_direccion_alterna", "fecha_asignacion_rol", "comision_ventas", "fecha_alta", "fecha_baja", "activo", "last_login", "salario", "saldo_del_ejercicio", "dia_de_pago", "dias_de_embarque", "id_direccion", "ultima_modificacion", "id_usuario_ultima_modificacion", "consignatario", "facturar_a_terceros", "dia_de_revision", "tiempo_entrega", "ventas_a_credito", "intereses_moratorios", "cuenta_bancaria", "dias_de_credito", "id_clasificacion_cliente"));
$form->createComboBoxJoin("id_moneda", "nombre", MonedaDAO::search(new Moneda(array("activa" => 1))));
$clasificaciones = ContactosController::BuscarCategoria();
$clasificaciones = $clasificaciones['categorias'];
foreach ($clasificaciones as $key => $clasificacion) {
    $clasificacion->caption = $clasificacion->nombre;
    $clasificaciones[$key] = $clasificacion->asArray();
}
$form->createComboBoxJoin('id_categoria_contacto', 'nombre', $clasificaciones);
$form->addApiCall("api/cliente/nuevo/");
$form->onApiCallSuccessRedirect("clientes.ver.php");
$form->makeObligatory(array("razon_social"));
$form->createComboBoxJoin("id_ciudad", "nombre", CiudadDAO::getAll());
$form->createComboBoxJoinDistintName("id_tarifa_venta", "id_tarifa", "nombre", TarifaDAO::search(new Tarifa(array("tipo_tarifa" => "venta"))));
$form->createComboBoxJoin("id_tarifa_compra", "nombre", TarifaDAO::search(new Tarifa(array("tipo_tarifa" => "compra"))));
$form->createComboBoxJoin("tarifa_compra_obtenida", "tarifa_compra_obtenida", array("rol", "proveedor", "cliente", "usuario"));
$form->createComboBoxJoin("tarifa_venta_obtenida", "tarifa_venta_obtenida", array("rol", "proveedor", "cliente", "usuario"));
$form->renameField(array("nombre" => "razon_social", "codigo_usuario" => "codigo_cliente", "telefono" => "telefono1", "correo_electronico" => "email", "id_categoria_contacto" => "clasificacion_cliente", "id_moneda" => "moneda_del_cliente", "pagina_web" => "sitio_web", "telefono_personal1" => "telefono_personal1", "telefono_personal2" => "telefono_personal2"));
$form->makeObligatory("razon_social");
$page->addComponent($form);
//render the page
$page->render();
Example #11
0
<?php

define("BYPASS_INSTANCE_CHECK", false);
require_once "../../../server/bootstrap.php";
$page = new GerenciaComponentPage();
$page->addComponent(new TitleComponent("Nueva Sucursal"));
$page->addComponent(new TitleComponent("Datos de la sucursal", 3));
$sucursal_form = new DAOFormComponent(new Sucursal());
$sucursal_form->hideField(array("id_sucursal", "id_direccion", "activa", "fecha_baja", "fecha_apertura"));
$sucursal_form->renameField(array("id_gerente" => "id_usuario"));
$sucursal_form->createComboBoxJoin("id_usuario", "nombre", UsuarioDAO::getAll());
$sucursal_form->createComboBoxJoin("id_tarifa", "nombre", TarifaDAO::getAll());
$sucursal_form->makeObligatory(array("descripcion"));
$page->addComponent($sucursal_form);
$page->addComponent(new TitleComponent("Direccion", 3));
$direccion_form = new DAOFormComponent(new Direccion());
$direccion_form->hideField(array("id_direccion", "ultima_modificacion", "id_usuario_ultima_modificacion"));
$direccion_form->createComboBoxJoin("id_ciudad", "nombre", CiudadDAO::getAll());
$direccion_form->renameField(array("id_ciudad" => "ciudad"));
$js = "(function(){\n\t\t\t\tPOS.API.POST(\"api/sucursal/nueva/\",{\n\t\t\t\t\tdescripcion\t\t: Ext.get(\"" . $sucursal_form->getGuiComponentId() . "descripcion\").getValue(),\n\t\t\t\t\tid_gerente\t: Ext.get(\"" . $sucursal_form->getGuiComponentId() . "id_usuario\").getValue(),\n\t\t\t\t\tid_tarifa\t: Ext.get(\"" . $sucursal_form->getGuiComponentId() . "id_tarifa\").getValue(),\n\t\t\t\t\tdireccion : Ext.JSON.encode({\n\t\t\t\t\t\t \tcalle\t\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "calle\").getValue(),\n\t\t\t\t\t\t\tnumero_exterior\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "numero_exterior\").getValue(),\n\t\t\t\t\t\t    numero_interior\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "numero_interior\").getValue(),\n\t\t\t\t\t\t    colonia\t\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "colonia\").getValue(),\n\t\t\t\t\t\t    codigo_postal\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "codigo_postal\").getValue(),\n\t\t\t\t\t\t    telefono1\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "telefono\").getValue(),\n\t\t\t\t\t\t    telefono2\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "telefono2\").getValue(),\n\t\t\t\t\t\t    id_ciudad\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "ciudad\").getValue(),\n\t\t\t\t\t\t    referencia\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "referencia\").getValue()\n\t\t\t\t\t})\n\t\t\t\t},{ callback : function(a,b){\n\t\t\t\t\twindow.onbeforeunload = function(){ return;\t};\n\t\t\t\t\twindow.location = \"sucursales.ver.php?sid=\"+ a.id_sucursal;\n\t\t\t\t}});\n\t\t\t})()";
$direccion_form->addOnClick("Crear sucursal", $js);
$page->addComponent($direccion_form);
$page->render();
Example #12
0
//
// Forma de producto
//
$form = new DAOFormComponent($este_usuario);
$form->setEditable(false);
$form->hideField(array("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", "password", "id_usuario"));
$form->setCaption("rfc", "RFC");
$form->setCaption("id_moneda", "Moneda default");
$form->setCaption("id_rol", "Rol");
$form->setHelp("id_rol", "Rol");
$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());
$form->createComboBoxJoin("id_clasificacion_cliente", "nombre", ClasificacionClienteDAO::getAll(), $este_usuario->getIdClasificacionCliente());
$form->createComboBoxJoin("id_clasificacion_proveedor", "nombre", ClasificacionProveedorDAO::getAll(), $este_usuario->getIdClasificacionProveedor());
$form->createComboBoxJoinDistintName("id_tarifa_venta", "id_tarifa", "nombre", TarifaDAO::search(new Tarifa(array("id_tarifa" => $este_usuario->getIdTarifaVenta()))));
//      $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() );
$page->addComponent($form);
/* ********************************************************
	 *	Direccion
	 *
* ******************************************************** */
Example #13
0
<?php

define("BYPASS_INSTANCE_CHECK", false);
require_once "../../../server/bootstrap.php";
$page = new GerenciaComponentPage();
$page->addComponent(new TitleComponent("Tarifas"));
$page->addComponent(new MessageComponent("Lista de tarifas"));
$tabla = new TableComponent(array("nombre" => "Nombre", "tipo_tarifa" => "Tipo tarifa", "id_moneda" => "Moneda", "activa" => "Activa"), TarifaDAO::getAll());
function getNombreMoneda($id_moneda)
{
    return MonedaDAO::getByPK($id_moneda)->getSimbolo() . " (\$)";
}
function getActiva($activa)
{
    return $activa == 1 ? "<input type=\"checkbox\" checked disabled>" : "<input type=\"checkbox\" disabled>";
}
$tabla->addColRender("id_moneda", "getNombreMoneda");
$tabla->addColRender("activa", "getActiva");
$tabla->addOnClick("id_tarifa", "(function(a){ window.location = 'tarifas.ver.php?tid=' + a; })");
$page->addComponent($tabla);
$page->render();
Example #14
0
    $este_usuario->setIdTarifaVenta("-----");
} else {
    $este_usuario->setIdTarifaVenta($t->getNombre());
}
$form = new DAOFormComponent($este_usuario);
$form->setEditable(false);
$form->hideField(array("id_usuario", "id_rol", "id_clasificacion_proveedor", "id_direccion", "id_direccion_alterna", "fecha_asignacion_rol", "comision_ventas", "fecha_alta", "fecha_baja", "activo", "last_login", "salario", "dias_de_embarque", "consignatario", "tiempo_entrega", "cuenta_bancaria", "mensajeria", "token_recuperacion_pass", "ventas_a_credito", "dia_de_pago", "dia_de_revision", "password", "id_sucursal", "id_clasificacion_cliente"));
$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->createComboBoxJoin("id_moneda", "nombre", MonedaDAO::getAll(), $este_usuario->getIdMoneda());
$form->createComboBoxJoin("id_sucursal", "razon_social", SucursalDAO::getAll(), $este_usuario->getIdSucursal());
$form->setCaption("id_tarifa_venta", "Tarifa de Venta");
$form->createComboBoxJoin("id_tarifa_compra", "nombre", TarifaDAO::search(new Tarifa(array("id_tarifa" => $este_usuario->getIdTarifaCompra()))));
$page->addComponent($form);
//buscar los parametros extra
$out = ExtraParamsValoresDAO::getVals("usuarios", $este_usuario->getIdUsuario());
$epform = new FormComponent();
$epform->setEditable(false);
foreach ($out as $ep) {
    $epform->addField($ep["campo"], $ep["caption"], $ep["tipo"], $ep["val"]);
    if (!is_null($ep["descripcion"])) {
        $epform->setHelp($ep["campo"], $ep["descripcion"]);
    }
}
$page->addComponent($epform);
$page->nextTab("Direccion");
$menu = new MenuComponent();
$menu->addItem("Editar Direccion", "clientes.editar.direccion.php?cid=" . $este_usuario->getIdUsuario() . "&did=" . $este_usuario->getIdDireccion());