public function actionProducto($producto)
 {
     $objSectorCiudad = null;
     if (isset(Yii::app()->session[Yii::app()->params->sesion['sectorCiudadEntrega']])) {
         $objSectorCiudad = Yii::app()->session[Yii::app()->params->sesion['sectorCiudadEntrega']];
     }
     if ($objSectorCiudad == null) {
         $objProducto = Producto::model()->find(array('with' => array('listImagenes', 'objDetalle', 'objCodigoEspecial', 'listCalificaciones' => array('with' => 'objUsuario')), 'condition' => 't.activo=:activo AND t.codigoProducto=:codigo', 'params' => array(':activo' => 1, ':codigo' => $producto)));
     } else {
         $objProducto = Producto::model()->find(array('with' => array('listImagenes', 'objDetalle', 'objCodigoEspecial', 'listCalificaciones' => array('with' => 'objUsuario'), 'listSaldos' => array('condition' => '(listSaldos.saldoUnidad>:saldo AND listSaldos.codigoCiudad=:ciudad AND listSaldos.codigoSector=:sector) OR (listSaldos.saldoUnidad IS NULL AND listSaldos.codigoCiudad IS NULL AND listSaldos.codigoSector IS NULL)'), 'listPrecios' => array('condition' => '(listPrecios.codigoCiudad=:ciudad AND listPrecios.codigoSector=:sector) OR (listPrecios.codigoCiudad IS NULL AND listPrecios.codigoSector IS NULL)'), 'listSaldosTerceros' => array('condition' => '(listSaldosTerceros.codigoCiudad=:ciudad AND listSaldosTerceros.codigoSector=:sector) OR (listSaldosTerceros.codigoCiudad IS NULL AND listSaldosTerceros.codigoSector IS NULL)')), 'condition' => 't.activo=:activo AND t.codigoProducto=:codigo AND ( (listSaldos.saldoUnidad IS NOT NULL AND listPrecios.codigoCiudad IS NOT NULL) OR listSaldosTerceros.codigoCiudad IS NOT NULL)', 'params' => array(':activo' => 1, ':codigo' => $producto, ':saldo' => 0, ':ciudad' => $objSectorCiudad->codigoCiudad, ':sector' => $objSectorCiudad->codigoSector)));
     }
     if ($objProducto == null) {
         throw new CHttpException(404, 'Producto no existe.');
     }
     $codigoPerfil = Yii::app()->shoppingCart->getCodigoPerfil();
     $objCalificacion = null;
     if (!Yii::app()->user->isGuest) {
         $fecha = new DateTime();
         $fecha->modify("-1 day");
         $objCalificacion = ProductosCalificaciones::model()->find(array('condition' => 'codigoProducto=:producto AND identificacionUsuario=:usuario AND fecha>=:fecha', 'params' => array(':producto' => $producto, ':usuario' => Yii::app()->user->name, ':fecha' => $fecha->format('Y-m-d H:i:s'))));
     }
     $listaPuntoVenta = array();
     if ($objProducto->ventaVirtual == 0 && $objSectorCiudad != null) {
         $listaPuntoVenta = PuntoVenta::model()->findAll(array('with' => array('listServicios' => array('condition' => 'listServicios.idTipoServicio=:servicio')), 'condition' => 'codigoCiudad=:ciudad AND idSectorLRV=:sector AND estado=:estado', 'params' => array(':ciudad' => $objSectorCiudad->codigoCiudad, ':sector' => $objSectorCiudad->codigoSector, ':estado' => 1, ':servicio' => Yii::app()->params->servicioVentaControlada)));
     }
     $listRelacionados = ProductosRelacionados::model()->findAll(array('with' => 'objProductoRelacionado', 'order' => 't.orden', 'condition' => 't.codigoProducto=:producto', 'params' => array(':producto' => $producto)));
     try {
         $sql = "INSERT INTO t_ProductosVistos(codigoProducto) VALUES ({$producto}) ON DUPLICATE KEY UPDATE cantidad=cantidad+1";
         Yii::app()->db->createCommand($sql)->execute();
     } catch (Exception $ex) {
     }
     $this->render('productoDetalle', array('objProducto' => $objProducto, 'objPrecio' => new PrecioProducto($objProducto, $objSectorCiudad, $codigoPerfil), 'objSectorCiudad' => $objSectorCiudad, 'codigoPerfil' => $codigoPerfil, 'listaPuntoVenta' => $listaPuntoVenta, 'objCalificacion' => $objCalificacion, 'listaPuntoVenta' => $listaPuntoVenta, 'listRelacionados' => $listRelacionados, 'tipoBusqueda' => Yii::app()->params->busqueda['tipo']['buscador']));
 }
 public function listPuntoVenta()
 {
     return CHtml::listData(PuntoVenta::model()->findAll(), 'idComercial', 'nombrePuntoDeVenta');
 }
 public function actionDistancia($lat, $lon)
 {
     $puntosv = PuntoVenta::model()->findAll();
     $pdvCerca = array('pdv' => null, 'dist' => -1);
     foreach ($puntosv as $pdv) {
         $dist = distanciaCoordenadas($lat, $lon, $pdv->longitudGoogle, $pdv->latitudGoogle);
         echo "{$pdv->idPuntoDeVenta}|{$pdv->nombrePuntoDeVenta}|{$pdv->codigoCiudad}|{$pdv->longitudGoogle}|{$pdv->latitudGoogle}|{$dist}<br/>";
         if ($pdvCerca['pdv'] == null) {
             $pdvCerca['pdv'] = $pdv;
             $pdvCerca['dist'] = $dist;
         } else {
             if ($dist < $pdvCerca['dist']) {
                 $pdvCerca['pdv'] = $pdv;
                 $pdvCerca['dist'] = $dist;
             }
         }
     }
 }
 public function consultarDisponibilidad($shoppingCart)
 {
     //$positions = $shoppingCart->getPositions();
     $this->indicePuntoVenta = null;
     $this->listPuntosVenta = array(0 => 0, 1 => 'Consulta no exitosa');
     $productos = array();
     foreach ($shoppingCart->getPositions() as $position) {
         if ($position->isProduct()) {
             $productos[] = array("CODIGO_PRODUCTO" => $position->objProducto->codigoProducto, "ID_PRODUCTO" => $position->objProducto->codigoProducto, "CANTIDAD" => $position->getQuantityUnit(), "DESCRIPCION" => $position->objProducto->descripcionProducto);
         }
     }
     /* CVarDumper::dump($productos,10,true);
        echo "<br/>";
        echo "<br/>"; */
     try {
         $client = new SoapClient(null, array('location' => Yii::app()->params->webServiceUrl['serverLRV'], 'uri' => "", 'trace' => 1));
         $this->listPuntosVenta = $client->__soapCall("LRVConsultarSaldoMovil", array('productos' => $productos, 'ciudad' => $shoppingCart->getCodigoCiudad(), 'sector' => $shoppingCart->getCodigoSector()));
     } catch (Exception $exc) {
         Yii::log($exc->getMessage() . "\n" . $exc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application');
         $this->listPuntosVenta = array(0 => 0, 1 => 'Error al consultar disponibilidad de productos');
     }
     if (empty($this->listPuntosVenta)) {
         $this->listPuntosVenta = array(0 => 0, 1 => 'No hay disponibilidad de productos');
     }
     //CVarDumper::dump($this->listPuntosVenta,10,true);
     //exit();
     // Ordenar de mayor a menor los puntos de venta de acuerdo a
     /*    for($i=0;$i<count($this->listPuntosVenta[1]);$i++){
               for($j=0;$j<count($this->listPuntosVenta[1])-1;$j++){
               $valuej=0;
               $valuej1=0;
               if(isset($this->listPuntosVenta[1][$j][5])){
               $valuej=$this->listPuntosVenta[1][$j][5];
               }
               if(isset($this->listPuntosVenta[1][$j+1][5])){
               $valuej1=$this->listPuntosVenta[1][$j+1][5];
               }
     
               if($valuej<$valuej1){
               $aux=$this->listPuntosVenta[1][$j];
               $this->listPuntosVenta[1][$j]=$this->listPuntosVenta[1][$j+1];;
               $this->listPuntosVenta[1][$j+1]=$aux;
               }
               }
               }
              */
     $this->listPuntosVenta[3] = 0;
     //recorrer lista para eliminar pdvs no encontrados
     //recalcular cantidades y saldos teniendo en cuenta fracciones
     //y definir si alguno tiene 100% en pos 3 0:no, 1:si
     if ($this->listPuntosVenta[0] == 1) {
         foreach ($this->listPuntosVenta[1] as $indicePdv => $pdv) {
             if ($pdv[0] == 1 && !empty($pdv[4])) {
                 if ($pdv[5] == 100) {
                     $this->listPuntosVenta[3] = 1;
                 }
                 $objPdv = PuntoVenta::model()->find(array("condition" => "idComercial=:comercial", 'params' => array(':comercial' => $pdv[1])));
                 $this->listPuntosVenta[1][$indicePdv]['HORA_INICIO'] = null;
                 $this->listPuntosVenta[1][$indicePdv]['HORA_FIN'] = null;
                 $dia = 'festivo';
                 $fecha = new DateTime();
                 //si no es festivo, se verifica el dia de la semana
                 if (DiasFestivos::esFestivo($fecha)) {
                     $dia = $fecha->format('w');
                 }
                 $foraneaHorario = HorarioPuntoVenta::getHorariosDias()[$dia]['foranea'];
                 $horario = $objPdv->{$foraneaHorario};
                 if ($horario !== null) {
                     $this->listPuntosVenta[1][$indicePdv]['HORA_INICIO'] = DateTime::createFromFormat('H:i:s', $horario->horarioInicio);
                     $this->listPuntosVenta[1][$indicePdv]['HORA_FIN'] = DateTime::createFromFormat('H:i:s', $horario->horarioFin);
                 }
                 foreach ($pdv[4] as $indiceProd => $producto) {
                     $arrSaldo = $this->decimalToUnidFracc($producto->SALDO);
                     if ($arrSaldo['UNIDAD'] <= 0 && $arrSaldo['FRACCION'] <= 0) {
                         unset($this->listPuntosVenta[1][$indicePdv][4][$indiceProd]);
                     } else {
                         $arrCantidad = $this->decimalToUnidFracc($producto->CANTIDAD);
                         $this->listPuntosVenta[1][$indicePdv][4][$indiceProd]->CANTIDAD_UNIDAD = $arrCantidad['UNIDAD'];
                         $this->listPuntosVenta[1][$indicePdv][4][$indiceProd]->CANTIDAD_FRACCION = $arrCantidad['FRACCION'];
                         $this->listPuntosVenta[1][$indicePdv][4][$indiceProd]->SALDO_UNIDAD = $arrSaldo['UNIDAD'];
                         $this->listPuntosVenta[1][$indicePdv][4][$indiceProd]->SALDO_FRACCION = $arrSaldo['FRACCION'];
                         $this->listPuntosVenta[1][$indicePdv][4][$indiceProd]->COMPLETITUD_UNIDAD = $arrSaldo['UNIDAD'] >= $arrCantidad['UNIDAD'];
                         $this->listPuntosVenta[1][$indicePdv][4][$indiceProd]->COMPLETITUD_FRACCION = $arrSaldo['FRACCION'] >= $arrCantidad['FRACCION'];
                     }
                 }
             } else {
                 unset($this->listPuntosVenta[1][$indicePdv]);
             }
         }
     }
 }
 public function actionRemisionborrar()
 {
     $model = new RemisionForm();
     if (isset($_POST['RemisionForm'])) {
         $model->attributes = $_POST['RemisionForm'];
         $model->attributes['idCompra'];
         $model->attributes['idComercial'];
         $objCompra = Compras::model()->findByPk($model->attributes['idCompra'], array("with" => "objPuntoVenta"));
         $objPuntoVenta = PuntoVenta::model()->find("idComercial=:idcomercial", array("idcomercial" => $model->attributes['idComercial']));
         if ($objCompra === null) {
             // echo CJSON::encode(array('result' => 0, 'response' => 'Este pedido no existe o no existe el punto de venta registrado.'));
             Yii::app()->end();
         }
         try {
             $client = new SoapClient(null, array('location' => Yii::app()->params->webServiceUrl['remisionPosECommerce'], 'uri' => "", 'trace' => 1));
             $result = $client->__soapCall("BorrarCongelada", array('idPedido' => $model->attributes['idCompra'], 'destino' => $model->attributes['idComercial']));
             if (!$result[0] == 1) {
                 Yii::app()->user->setFlash('alert alert-success', "La remisión ha sido borrada con éxito del punto de venta " . $model->attributes['idComercial']);
                 /*
                                     $transaction = Yii::app()->db->beginTransaction();
                                     try {
                 
                                         /*$objCompra->idEstadoCompra = Yii::app()->params->callcenter['estadoCompra']['estado']['remisionBorrada'];
                                         $objCompra->generarDocumentoCruce(Yii::app()->controller->module->user->id);
                 
                                         // Guardar el cambio de estado de la remisión
                                         if (!$objCompra->save()) {
                                             throw new Exception('Error de asignación: ' . $objCompra->validateErrorsResponse());
                                         }
                 
                                         $objEstadoCompra = new ComprasEstados;
                                         $objEstadoCompra->idCompra = $objCompra->idCompra;
                                         $objEstadoCompra->idEstadoCompra = Yii::app()->params->callcenter['estadoCompra']['estado']['remisionBorrada'];
                                         $objEstadoCompra->idOperador = Yii::app()->controller->module->user->id;
                 
                                         // guardar en ComprasEstados
                                         if (!$objEstadoCompra->save()) {
                                             throw new Exception("Error al guardar traza de estado: " . $objEstadoCompra->validateErrorsResponse());
                                         }
                 
                 
                                         $objObservacion = new ComprasObservaciones;
                                         $objObservacion->idCompra = $objCompra->idCompra;
                                         $objObservacion->observacion = "Cambio de Estado: Remisión borrada del POS del PDV. " . $objPuntoVenta->nombrePuntoDeVenta;
                                         $objObservacion->idOperador = Yii::app()->controller->module->user->id;
                                         $objObservacion->notificarCliente = 0;
                 
                                         // Guardar las observaciones
                                         if (!$objObservacion->save()) {
                                             throw new Exception("Error al guardar observación" . $objObservacion->validateErrorsResponse());
                                         }
                 
                                         $transaction->commit();
                 
                                     } catch (Exception $exc) {
                                         Yii::log($exc->getMessage() . "\n" . $exc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application');
                 
                                         try {
                                             $transaction->rollBack();
                                         } catch (Exception $txexc) {
                                             Yii::log($txexc->getMessage() . "\n" . $txexc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application');
                                         }
                 
                                         echo CJSON::encode(array('result' => 'error', 'response' => $exc->getMessage()));
                                         Yii::app()->end();
                                     }
                                      *  */
             } else {
                 Yii::app()->user->setFlash('alert alert-danger', "La remisión no ha sido borrada con éxito del punto de venta " . $model->attributes['idComercial'] . "<br/>" . $result[1]);
             }
             //if ($model->save())
             //    $this->redirect(array('admin', 'usuario' => $model->usuario));
         } catch (Exception $e) {
             Yii::app()->user->setFlash('alert alert-danger', "Error  al borrar la remisión por problemas de conexión con el punto de venta " . $model->attributes['idComercial']);
         }
     }
     Yii::import('ext.select2.Select2');
     $listPdv = PuntoVenta::model()->findAll(array('order' => 'idComercial'));
     $this->render('remisionBorrar', array('model' => $model, 'listPdv' => $listPdv));
 }
Beispiel #6
0
<?php

$listCiudad = Ciudad::model()->findAll(array('order' => 'orden', 'condition' => 'estadoCiudad=:estado', 'params' => array(':estado' => 1)));
$listPdv = PuntoVenta::model()->findAll(array('order' => 'idComercial', 'condition' => 'estado=:estado', 'params' => array(':estado' => 1)));
?>
<div class="row">
    <div class="col-md-5">
        <div>
            <span class="title">Georeferencia</span><br><br>
            <form action="" method="post" id="georeferenciaform" name="georeferenciaform">
                <table class="table table-bordered table-hover table-striped table-condensed">
                    <tbody>
                        <tr>
                            <th>Ciudad</th>
                            <td>
                                <?php 
echo Select2::dropDownList('select-ciudad-direccion', $objCompra->objCompraDireccion->codigoCiudad, CHtml::listData($listCiudad, 'codigoCiudad', 'nombreCiudad'), array('prompt' => 'Seleccione ciudad', 'id' => 'select-ciudad-direccion', 'style' => 'width: 60%;'));
?>
                            </td>
                            <td style="vertical-align: middle; text-align: center" rowspan="2">  
                                <button type="button" style="color: #51a351" class="btn btn-sm" data-role="pdvgeodireccion" data-compra="<?php 
echo $objCompra->idCompra;
?>
"><i class="glyphicon glyphicon-globe"></i> Geo</button>
                            </td>
                        </tr>
                        <tr>
                            <th>Direccion</th>
                            <td><input type="text" value="<?php 
echo $objCompra->objCompraDireccion->direccion;
?>
 public function actionAsignarpdv()
 {
     if (!Yii::app()->request->isPostRequest) {
         echo CJSON::encode(array('result' => 'error', 'response' => 'Solicitud invalida.'));
         Yii::app()->end();
     }
     $pdv = Yii::app()->getRequest()->getPost('pdv');
     $compra = Yii::app()->getRequest()->getPost('compra');
     if ($pdv === null || $compra === null) {
         echo CJSON::encode(array('result' => 'error', 'response' => 'Solicitud invalida.'));
         Yii::app()->end();
     }
     $objCompra = Compras::model()->findByPk($compra);
     if ($objCompra === null) {
         echo CJSON::encode(array('result' => 'error', 'response' => 'Pedido no existe.'));
         Yii::app()->end();
     }
     if ($objCompra->idEstadoCompra == Yii::app()->params->callcenter['estadoCompra']['estado']['remitido']) {
         echo CJSON::encode(array('result' => 'error', 'response' => 'El pedido ya fue remitido a un punto de venta, si desea borre la remisión y haga la correspondiente asignación.'));
         Yii::app()->end();
     }
     $objPdv = PuntoVenta::model()->find(array('condition' => 'idComercial=:pdv', 'params' => array(':pdv' => $pdv)));
     if ($objPdv === null) {
         echo CJSON::encode(array('result' => 'error', 'response' => 'Punto venta no existe.'));
         Yii::app()->end();
     }
     $transaction = Yii::app()->db->beginTransaction();
     try {
         $objCompra->idComercial = $objPdv->idComercial;
         $objCompra->idEstadoCompra = Yii::app()->params->callcenter['estadoCompra']['estado']['asignado'];
         $objCompra->generarDocumentoCruce(Yii::app()->controller->module->user->id);
         if (!$objCompra->save()) {
             throw new Exception('Error de asignación: ' . $objCompra->validateErrorsResponse());
         }
         $objEstadoCompra = new ComprasEstados();
         $objEstadoCompra->idCompra = $objCompra->idCompra;
         $objEstadoCompra->idEstadoCompra = Yii::app()->params->callcenter['estadoCompra']['estado']['asignado'];
         $objEstadoCompra->idOperador = Yii::app()->controller->module->user->id;
         if (!$objEstadoCompra->save()) {
             throw new Exception("Error al guardar traza de estado: " . $objEstadoCompra->validateErrorsResponse());
         }
         $objObservacion = new ComprasObservaciones();
         $objObservacion->idCompra = $objCompra->idCompra;
         $objObservacion->observacion = "Cambio de Estado: Asignado PDV. " . $objPdv->nombrePuntoDeVenta;
         $objObservacion->idOperador = Yii::app()->controller->module->user->id;
         $objObservacion->notificarCliente = 0;
         if (!$objObservacion->save()) {
             throw new Exception("Error al guardar observación" . $objObservacion->validateErrorsResponse());
         }
         $transaction->commit();
         echo CJSON::encode(array('result' => 'ok', 'response' => array('msg' => 'Punto venta asignado.', 'htmlEncabezado' => $this->renderPartial('/admin/_encabezadoPedido', array('objCompra' => $objCompra), true, false))));
         Yii::app()->end();
     } catch (Exception $exc) {
         Yii::log($exc->getMessage() . "\n" . $exc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application');
         try {
             $transaction->rollBack();
         } catch (Exception $txexc) {
             Yii::log($txexc->getMessage() . "\n" . $txexc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application');
         }
         echo CJSON::encode(array('result' => 'error', 'response' => $exc->getMessage()));
         Yii::app()->end();
     }
 }
 public function actionGps()
 {
     if (Yii::app()->request->isPostRequest) {
         Yii::app()->session[Yii::app()->params->sesion['pdvEntrega']] = null;
         /* Yii::app()->session[Yii::app()->params->sesion['sectorCiudadEntrega']] = null;
            Yii::app()->session[Yii::app()->params->sesion['subSectorCiudadEntrega']] = null; */
         $lat = Yii::app()->getRequest()->getPost('lat');
         $lon = Yii::app()->getRequest()->getPost('lon');
         try {
             $puntosv = PuntoVenta::model()->findAll();
             $pdvCerca = array('pdv' => null, 'dist' => -1);
             foreach ($puntosv as $pdv) {
                 $dist = distanciaCoordenadas($lat, $lon, $pdv->latitudGoogle, $pdv->longitudGoogle);
                 if ($dist > Yii::app()->params->gps['distanciaMaxima']) {
                     continue;
                 }
                 if ($pdvCerca['pdv'] == null) {
                     $pdvCerca['pdv'] = $pdv;
                     $pdvCerca['dist'] = $dist;
                 } else {
                     if ($dist < $pdvCerca['dist']) {
                         $pdvCerca['pdv'] = $pdv;
                         $pdvCerca['dist'] = $dist;
                     }
                 }
             }
             if ($pdvCerca['pdv'] == null) {
                 echo CJSON::encode(array('result' => 'error', 'response' => 'No se encuentra punto de venta cercano'));
                 Yii::app()->end();
             }
             $objCiudadSector = SectorCiudad::model()->find(array('with' => array('objCiudad', 'objSector'), 'condition' => 't.codigoCiudad=:ciudad AND t.codigoSector=:sector AND t.estadoCiudadSector=:estado', 'params' => array('ciudad' => $pdvCerca['pdv']->codigoCiudad, 'sector' => $pdvCerca['pdv']->idSectorLRV, 'estado' => 1)));
             if ($objCiudadSector == null) {
                 echo CJSON::encode(array('result' => 'error', 'response' => 'No se encuentra sector cercano'));
                 Yii::app()->end();
             }
             Yii::app()->session[Yii::app()->params->sesion['pdvEntrega']] = $pdvCerca['pdv'];
             //Yii::app()->session[Yii::app()->params->sesion['sectorCiudadEntrega']] = $sectorCiudad;
             /* Yii::app()->session[Yii::app()->params->sesion['subSectorCiudadEntrega']] = null; */
             $mensajeUbicacion = "<strong>" . $objCiudadSector->objCiudad->nombreCiudad . " - " . $objCiudadSector->objSector->nombreSector . "</strong>";
             if (!isset(Yii::app()->session[Yii::app()->params->sesion['tipoEntrega']]) || Yii::app()->session[Yii::app()->params->sesion['tipoEntrega']] != Yii::app()->params->entrega['tipo']['presencial']) {
                 $objHorarioSecCiud = HorariosCiudadSector::model()->find(array('condition' => 'codigoCiudad=:ciudad AND codigoSector=:sector', 'params' => array(':ciudad' => $objCiudadSector->codigoCiudad, ':sector' => $objCiudadSector->codigoSector)));
                 if ($objHorarioSecCiud != null && $objHorarioSecCiud->sadCiudadSector == 0) {
                     $mensajeUbicacion .= "<br/>No contamos con servicio de entrega a domicilio para esta ubicación, los pedidos deben ser recogidos en el Punto de Venta seleccionado por usted al momento de finalizar la compra.";
                 }
             }
             echo CJSON::encode(array('result' => 'ok', 'response' => array('ubicacion' => $mensajeUbicacion, 'url' => CController::createUrl('/sitio/ubicacionSeleccion', array('ciudad' => $pdvCerca['pdv']->codigoCiudad, 'sector' => $pdvCerca['pdv']->idSectorLRV)))));
             Yii::app()->end();
         } catch (Exception $exc) {
             Yii::log($exc->getMessage() . "\n" . $exc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application');
             echo CJSON::encode(array('result' => 'error', 'response' => 'Error: ' . $exc->getMessage()));
             Yii::app()->end();
         }
     } else {
         echo CJSON::encode(array('result' => 'error', 'response' => 'Solicitud invalida.'));
         Yii::app()->end();
     }
 }