示例#1
0
<?php $modelClass = get_class($model); ?>
<?php foreach ($listFormaPago as $idx => $objFormaPago): ?>
    <?php if (in_array($objFormaPago->idFormaPago, Yii::app()->params->formaPago['tarjetasDatafono'])): ?>
        <?php $listDatafono[] = $objFormaPago; ?>
        <?php continue; ?>
    <?php endif; ?>
    <label for="<?php echo $modelClass ?>_idFormaPago_<?php echo $objFormaPago->idFormaPago ?>"><?php echo $objFormaPago->formaPago ?></label>
    <input type="radio" data-credirebaja="<?php echo $objFormaPago->idFormaPago == Yii::app()->params->formaPago['idCredirebaja'] ? "1" : "0" ?>" name="<?php echo $modelClass ?>[idFormaPago]" id="<?php echo $modelClass ?>_idFormaPago_<?php echo $objFormaPago->idFormaPago ?>" value="<?php echo $objFormaPago->idFormaPago ?>" <?php echo ($model->idFormaPago == $objFormaPago->idFormaPago ? "checked" : "") ?>>
    <?php if ($objFormaPago->idFormaPago == Yii::app()->params->formaPago['idCredirebaja']): ?>
        <div id="div-credirebaja">
            <div class="ui-field-container ui-bar ui-bar-a ui-corner-all">
                <?php echo $form->labelEx($model, 'numeroTarjeta'); ?>
                <?php echo $form->numberField($model, 'numeroTarjeta', array('placeholder' => '000000000000', 'maxlength' => 12)); ?>
                <?php echo $form->error($model, 'numeroTarjeta'); ?>
                <?php echo $form->labelEx($model, 'cuotasTarjeta'); ?>
                <?php echo $form->dropDownList($model, 'cuotasTarjeta', FormaPagoForm::listDataCuotas(), array('placeholder' => '0')); ?>
                <?php echo $form->error($model, 'cuotasTarjeta'); ?>
            </div>
            <div class="space-2"></div>
        </div>
    <?php endif; ?>
<?php endforeach; ?>

<?php if(in_array(Yii::app()->user->name, array('1113618983')) ):?>
    <label for="<?php echo $modelClass ?>_idFormaPago_3">PSE(Tarjetas débito y crédito)</label>
    <input type="radio" data-credirebaja="0" name="<?php echo $modelClass ?>[idFormaPago]" id="<?php echo $modelClass ?>_idFormaPago_3" value="3" <?php echo ($model->idFormaPago == 3 ? "checked" : "") ?>>
<?php endif;?>

<div data-role="collapsible" data-collapsed="<?php echo ( in_array($model->idFormaPago, Yii::app()->params->formaPago['tarjetasDatafono']) ? "false" : "true" ) ?>" data-collapsed-icon="carat-d" data-expanded-icon="carat-u" data-content-theme="a">
    <legend>Datafono</legend>
    <?php foreach ($listDatafono as $idx => $objFormaPago): ?>
 private function pagarPresencial($paso, $post)
 {
     /*if(is_string($post)){
           $post = ($post=="true");
       }*/
     $modelPago = null;
     if ($paso === null) {
         $paso = Yii::app()->params->pagar['pasos'][2];
     }
     if (!in_array($paso, Yii::app()->params->pagar['pasosDisponibles']['presencial'])) {
         throw new CHttpException(404, 'Página solicitada no existe.');
     }
     $objSectorCiudad = Yii::app()->session[Yii::app()->params->sesion['sectorCiudadEntrega']];
     if (isset(Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']]) && Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] != null) {
         $modelPago = Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']];
     } else {
         $modelPago = new FormaPagoForm();
         $modelPago->identificacionUsuario = Yii::app()->user->name;
         $modelPago->consultarHorario($objSectorCiudad);
         Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
     }
     //$modelPago->setScenario($paso);
     if ($post) {
         $siguiente = Yii::app()->getRequest()->getPost('siguiente', null);
         if ($siguiente === null) {
             echo CJSON::encode(array('result' => 'error', 'response' => 'Solicitud inválida'));
             Yii::app()->end();
         }
         switch ($paso) {
             case Yii::app()->params->pagar['pasos'][2]:
                 $form = new FormaPagoForm($paso);
                 $form->identificacionUsuario = Yii::app()->user->name;
                 if (isset($_POST['FormaPagoForm'])) {
                     $form->attributes = $_POST['FormaPagoForm'];
                 }
                 if ($form->validate()) {
                     $modelPago->fechaEntrega = $form->fechaEntrega;
                     $modelPago->telefonoContacto = $form->telefonoContacto;
                     $modelPago->comentario = $form->comentario;
                     $modelPago->pasoValidado[$paso] = $paso;
                     Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                     echo CJSON::encode(array('result' => 'ok', 'response' => 'Datos guardados', 'redirect' => $this->createUrl("/carro/pagar", array('paso' => $siguiente))));
                     Yii::app()->end();
                 } else {
                     echo CActiveForm::validate($form);
                     Yii::app()->end();
                 }
                 break;
             case Yii::app()->params->pagar['pasos'][3]:
                 $form = new FormaPagoForm($paso);
                 $form->identificacionUsuario = Yii::app()->user->name;
                 $form->bono = $modelPago->bono;
                 if (isset($_POST['FormaPagoForm'])) {
                     $form->attributes = $_POST['FormaPagoForm'];
                 }
                 if ($form->validate()) {
                     $modelPago->pasoValidado[$paso] = $paso;
                     $modelPago->idFormaPago = $form->idFormaPago;
                     $modelPago->numeroTarjeta = $form->numeroTarjeta;
                     $modelPago->cuotasTarjeta = $form->cuotasTarjeta;
                     $modelPago->usoBono = $form->usoBono;
                     Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                     echo CJSON::encode(array('result' => 'ok', 'response' => 'Datos guardados', 'redirect' => $this->createUrl("/carro/pagar", array('paso' => $siguiente))));
                     Yii::app()->end();
                 } else {
                     echo CActiveForm::validate($form);
                     Yii::app()->end();
                 }
                 break;
             case Yii::app()->params->pagar['pasos'][4]:
                 if ($siguiente != "finalizar") {
                     echo CJSON::encode(array('result' => 'ok', 'response' => 'Datos guardados', 'redirect' => $this->createUrl("/carro/pagar", array('paso' => $siguiente))));
                     Yii::app()->end();
                 }
                 $form = new FormaPagoForm($paso);
                 $form->identificacionUsuario = Yii::app()->user->name;
                 if (isset($_POST['FormaPagoForm'])) {
                     $form->attributes = $_POST['FormaPagoForm'];
                 }
                 if ($form->validate()) {
                     $modelPago->pasoValidado[$paso] = $paso;
                     $modelPago->confirmacion = $form->confirmacion;
                     Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                     echo CJSON::encode(array('result' => 'ok', 'response' => "Datos guardados", 'redirect' => $this->createUrl("/carro/comprar")));
                     Yii::app()->end();
                 } else {
                     echo CActiveForm::validate($form);
                     Yii::app()->end();
                 }
                 break;
             default:
                 echo CJSON::encode(array('result' => 'error', 'response' => 'Paso no detectado'));
                 break;
         }
     } else {
         //validar pasos anteriores
         $modelPago->validarPasos(Yii::app()->params->pagar['pasosDisponibles']['presencial'], $paso);
         $params = array();
         $params['paso'] = $paso;
         $nPasoActual = Yii::app()->params->pagar['pasos'][$paso];
         //$nPasoActual = ($nPasoActual<2) ? 2 : $nPasoActual;
         //$nPasoAnterior = $nPasoActual - 1;
         $nPasoAnterior = $nPasoActual - 1;
         $nPasoAnterior = $nPasoAnterior < 2 ? -1 : $nPasoAnterior;
         $nPasoSiguiente = $nPasoActual + 1;
         $pasoSiguiente = isset(Yii::app()->params->pagar['pasos'][$nPasoSiguiente]) ? Yii::app()->params->pagar['pasos'][$nPasoSiguiente] : null;
         $pasoAnterior = isset(Yii::app()->params->pagar['pasos'][$nPasoAnterior]) ? Yii::app()->params->pagar['pasos'][$nPasoAnterior] : null;
         $params['pasoAnterior'] = $pasoAnterior;
         $params['pasoSiguiente'] = $pasoSiguiente;
         if ($paso == Yii::app()->params->pagar['pasos'][2]) {
             if (isset($_POST['pos']) || $modelPago->pdvSeleccionado()) {
                 if (isset($_POST['pos'])) {
                     $indicePdv = trim($_POST['pos']);
                     $modelPago->seleccionarPdv($indicePdv);
                     Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                 }
                 $params['parametros']['listHorarios'] = $modelPago->listDataHoras();
             } else {
                 if ($modelPago->pagoExpress) {
                     $modelPago = new FormaPagoForm();
                     $modelPago->identificacionUsuario = Yii::app()->user->name;
                     Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                 }
                 $modelPago->consultarDisponibilidad(Yii::app()->shoppingCart);
                 Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                 $this->render('pagarPresencial', array('listPuntosVenta' => $modelPago->listPuntosVenta));
                 Yii::app()->end();
             }
             //$this->render('_paso2', $params);
         } else {
             if ($paso == Yii::app()->params->pagar['pasos'][3]) {
                 $listFormaPago = FormaPago::model()->findAll(array('order' => 'formaPago', 'condition' => 'estadoFormaPago=:estado', 'params' => array(':estado' => 1)));
                 $modelPago->consultarBono(Yii::app()->shoppingCart->getTotalCost());
                 Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                 $modelPago->setScenario('pago');
                 $params['parametros']['listFormaPago'] = $listFormaPago;
                 //$params['modelPago'] = $modelPago;
                 //$params['submit'] = true;
                 //$this->render('_paso3', $params);
             } else {
                 if ($paso == Yii::app()->params->pagar['pasos'][4]) {
                     $objFormaPago = FormaPago::model()->findByPk($modelPago->idFormaPago);
                     $params['parametros']['objDireccion'] = null;
                     $params['parametros']['objFormaPago'] = $objFormaPago;
                     if ($modelPago->bono !== null && $modelPago->usoBono == 1) {
                         Yii::app()->shoppingCart->setBono($modelPago->bono['valor']);
                     }
                     $modelPago->calcularConfirmacion(Yii::app()->shoppingCart->getPositions());
                     Yii::app()->session[Yii::app()->params->sesion['carroPagarForm']] = $modelPago;
                     $modelPago->setScenario('finalizar');
                     //$params['modelPago'] = $modelPago;
                     //$this->render('_paso4', $params);
                 }
             }
         }
         $params['parametros']['modelPago'] = $modelPago;
         $this->render('pasosPresencial', $params);
     }
 }
 public function actionDisponibilidad()
 {
     $formapago = new FormaPagoForm();
     //print_r($formapago->listPuntosVenta);
     $formapago->consultarDisponibilidad(Yii::app()->shoppingCart);
     echo "<br/><br/>";
     CVarDumper::dump($formapago->listPuntosVenta, 10, true);
 }