예제 #1
0
 public function actionTarifas()
 {
     $id = Yii::app()->request->getParam('id');
     $combi = ProgramaCombinacion::model()->findByPk($id);
     $vigencia = new ProgramaCombinacionVigencia();
     $tarifa = new Tarifa();
     //$tarifa->nombre = 'default';
     $tarifas = array();
     $tarifas[] = $tarifa;
     foreach ($combi->hotels as $hotel) {
         $tarifa = new Tarifa();
         $tarifa->nombre = $hotel->ciudad->codigo;
         $tarifas[] = $tarifa;
     }
     if (isset($_POST['ProgramaCombinacionVigencia'])) {
         $vigencia->attributes = $_POST['ProgramaCombinacionVigencia'];
         $vigencia->comentario = $_POST['ProgramaCombinacionVigencia']['comentario'];
         $error = false;
         if (isset($_POST['Tarifa'])) {
             foreach ($_POST['Tarifa'] as $index => $tarifa) {
                 $int = new Tarifa();
                 $int->attributes = $tarifa;
                 $int->validate();
                 $tarifas[$index] = $int;
                 if (count($int->getErrors()) > 0) {
                     $error = true;
                 }
             }
         }
         if ($vigencia->validate() && $error == false) {
             $vigencia->programa_combinacion_id = $id;
             $vigencia->save();
             $menorCombi = 0;
             foreach ($tarifas as $tarifa) {
                 $tarifa->programa_combinacion_vigencia_id = $vigencia->id;
                 $tarifa->insert();
                 if ($tarifa->nombre == '') {
                     if ($menorCombi == 0) {
                         $menorCombi = $tarifa->dbl;
                     } else {
                         if ($tarifa->dbl < $menorCombi) {
                             $menorCombi = $tarifa->dbl;
                         }
                     }
                 }
             }
             /* Actualiar Precio desde Combinacion */
             $menor = 0;
             foreach ($combi->programa->programaCombinacions as $combinacion) {
                 foreach ($combinacion->programaCombinacionVigencias as $vigencias) {
                     foreach ($vigencias->tarifas as $tarifa) {
                         if ($tarifa->nombre == '') {
                             if ($menor == 0) {
                                 $menor = $tarifa->dbl;
                             } else {
                                 if ($tarifa->dbl < $menor) {
                                     $menor = $tarifa->dbl;
                                 }
                             }
                         }
                     }
                 }
             }
             $combi->precio_desde = $menorCombi;
             $combi->update();
             $programa = Programa::model()->findByPk($combi->programa_id);
             $programa->precio_desde = $menor;
             $programa->update();
             $this->actionGeneratePdf($programa->id);
             /*fin Precio desde Combinacion*/
             Yii::app()->clientScript->scriptMap['jquery.js'] = false;
             Yii::app()->clientScript->scriptMap['jquery.min.js'] = false;
             header("Content-type: application/json");
             echo CJSON::encode(array('status' => 'success', 'div' => $this->renderPartial('_tarifa', array('vigencia' => $vigencia), true, true), 'id' => $id, 'message' => 'Guardado con Exito'));
             exit;
         }
     }
     Yii::app()->clientScript->scriptMap['jquery.js'] = false;
     Yii::app()->clientScript->scriptMap['jquery.min.js'] = false;
     header("Content-type: application/json");
     echo CJSON::encode(array('status' => 'false', 'div' => $this->renderPartial('_formTarifa', array('combi' => $combi, 'tarifas' => $tarifas, 'vigencia' => $vigencia, 'id' => $id), true, true)));
     exit;
 }