public function loadModel($id) { $model = Transacheader::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, Yii::t('app', 'The requested page does not exist.')); } return $model; }
$form=$this->beginWidget('bootstrap.widgets.TbActiveForm', array( 'id'=>'transacpractica-form', 'layout' => TbHtml::FORM_LAYOUT_HORIZONTAL, 'enableAjaxValidation'=>false, 'enableClientValidation'=>true, )); echo $form->errorSummary($model); ?> <fieldset> <?php echo $form->textFieldControlGroup($model,'codigo'); ?> <?php echo $form->dropDownListControlGroup($model, 'idtransacheader0', CHtml::listData(Transacheader::model()->findAll(array('order'=>'mutual')),'idtransacheader', 'mutual')); ?> </fieldset> <div class="form-actions"> <?php echo TbHtml::submitButton(Yii::t('app', 'Save'),array( 'color' => TbHtml::BUTTON_COLOR_PRIMARY, 'size' => TbHtml::BUTTON_SIZE_SMALL, )); echo TbHtml::Button(Yii::t('app', 'Cancel'), array( 'submit' => array('/site/index'), 'style'=>'margin-left:30px;', 'color' => TbHtml::BUTTON_COLOR_DANGER, 'size' => TbHtml::BUTTON_SIZE_SMALL, ));
<?php $this->widget('zii.widgets.grid.CGridView', array( 'id' => 'transacpractica-grid', 'dataProvider' => $model->search(), 'summaryText'=>false, 'columns' => array( array( 'name' => 'idtransacpractica', 'value' => 'isset($data->idtransacpractica)?$data->idtransacpractica:""', 'filter' => false, ), array( 'name' => 'codigo', 'value' => 'isset($data->codigo)?$data->codigo:""', 'filter' => false, ), array( 'name' => 'idtransacheader', 'value' => 'isset($data->idtransacheader0->mutual)?$data->idtransacheader0->mutual:""', 'filter' => CHtml::listData(Transacheader::model()->findAll(array('order'=>'mutual')),'idtransacheader','mutual'), ), array( 'class' => 'CButtonColumn', 'viewButtonImageUrl' => Yii::app()->baseUrl . '/css/gridviewstyle/images/' . 'gr-view.png', 'updateButtonImageUrl' => Yii::app()->baseUrl . '/css/gridviewstyle/images/' . 'gr-update.png', 'deleteButtonImageUrl' => Yii::app()->baseUrl . '/css/gridviewstyle/images/' . 'gr-delete.png', 'header' => Yii::t('app', 'Actions'), ), ), ));
public function actionCapturar2() { if (Yii::app()->request->isAjaxRequest) { if (isset($_POST['nrotransac'])) { Yii::app()->clientScript->scriptMap = array('jquery.js' => false, 'jquery-ui.min.js' => false, 'jquery-ui-i18n.min.js' => false, 'select2.js' => false, 'bootstrap.js' => false, 'select2_locale_es.js' => false); $model = new Carga(); $model->setAttributes($_POST['Carga']); // nro de transaccion recibida $nrotransac = $_POST['nrotransac']; $transacheader = new Transacheader(); $codigocarga = array(); // buscar header de esa transaccion try { $header = $transacheader->findByAttributes(array('transac' => $nrotransac)); // no existe la transaccion if (!$header) { throw new Exception("No existe la transacción"); } // si existe transaccion: $idltransac = $header->idl; $profesional = false; $errordeprof = false; if (isset($idltransac)) { // buscar con la idl en tabla domicilio la identidad del profesional if ($dom = Domicilio::model()->findByAttributes(array('idl' => $idltransac))) { $identidad = $dom->identidad; $domicilio = $dom->iddomicilio; $profesional = Entidad::model()->findByPk($identidad)->getNombrecomp(); if ($domicilio != $model->iddomicilio) { $errordeprof = true; } } } // buscar practicas para esa transaccion // se usa la relacion, y $ practicas es un arreglo con // todos los registros de practicas para ese haeader $practicas = $header->transacpracticas; // obtener codigo practicas, recorriendo arreglo $practicas foreach ($practicas as $key => $value) { $codigocarga[] = $value['codigo']; } // completar arreglo para la grilla $codigocarga = array_pad($codigocarga, Carga::MAX_PRACTICAS_BOLETA, false); } catch (Exception $e) { // mostrar error $this->renderPartial('_error', array('message' => $e->getMessage()), false, true); Yii::app()->end(); } // si se encuentra la transaccion, sigue ejecutando el codigo. // se muestran el header y practicas o // se captura la transaccion y se graban las tablas // de carga // // switch (isset($_POST['save'])) { // si save es falso,solo mostrar datos de la transaccion , no grabarla case false: if ($errordeprof) { $this->renderPartial('_error', array('message' => "Matrícula: " . $profesional), false, true); } else { $this->renderPartial('_success', array('message' => "Matrícula: " . $profesional), false, true); } // mostrar header $this->renderPartial('//transacheader/view', array('model' => $header), false, true); // mostrar grilla practicas $this->renderPartial('//carga/_grillapracticas', array('codigocarga' => $codigocarga, 'accion' => 'captura'), false, true); // botones del formulario $this->renderPartial('_formbotones', array(), false, true); break; // save es true, entonces grabar // save es true, entonces grabar case true: try { //grabar transaccion: si la funcion retorna falso, no grabó $this->grabartransaccion($nrotransac, $header, $codigocarga, $model); // si grabo, vuelve a pedir nrotransac y muestra mensaje de grabado ok // mostrar campo entrada nrotransac despues de grabar transaccion $this->renderPartial('_nrotransac', array('nrotransac' => $nrotransac), false, true); // mostrar mensaje grabado ok $this->renderPartial('_success', array('message' => 'Grabado Ok'), false, true); } catch (Exception $e) { $this->renderPartial('_nrotransac', array('nrotransac' => $nrotransac), false, true); // mostrar error $this->renderPartial('_error', array('message' => $e->getMessage()), false, true); } break; } //endswitch; } } }