public function getConfiPvFuncion($puntosventaId) { #Devuelve el confiPvFuncion que este asociado // con este punto de venta en el evento y // la funcion que se envie como parametros $model = Confipvfuncion::model()->findByPk(array('EventoId' => $this->evento, 'Funtion' => $this->FuncionesId, 'PuntosventaId' => $puntosventaId)); if (is_null($model)) { # sino existe entonces se crea; $model = $this->agregarConfpvfuncion($puntosventaId); } return $model; }
public function actionVerRama($EventoId, $FuncionesId, $PuntosventaId) { #Genera el una rama del arbol apartir de un cofipvfuncion que cumpla $evento = Evento::model()->findByPk($EventoId); $cpvf = Confipvfuncion::model()->with(array('puntoventa' => array('with' => array('hijos' => array('condition' => "hijos.PuntosventaSta='ALTA' and hijos.PuntosventaId<>" . $evento->PuntosventaId)))))->findByPk(compact('EventoId', 'FuncionesId', 'PuntosventaId')); $Pv = $cpvf->puntoventa; echo CHtml::openTag('ul', array('id' => "rama-" . $FuncionesId . '-' . $PuntosventaId, 'class' => "rama ")); foreach ($Pv->hijos as $hijo) { $model = Confipvfuncion::model()->with('puntoventa')->findByPk(array('EventoId' => $EventoId, 'FuncionesId' => $FuncionesId, 'PuntosventaId' => $hijo->PuntosventaId)); if (is_object($model)) { $this->renderPartial('_nodoCPVF', array('model' => $model)); } } echo CHtml::closeTag('ul'); }
<?php echo CHtml::tag('div', array('id' => 'arbol-' . $model->FuncionesId)); ?> <?php #Impresion de arbol en primer nivel // $root=1000;//Id del nodo raiz $root = Confipvfuncion::model()->with('puntoventa')->findByPk(array('EventoId' => $model->EventoId, 'FuncionesId' => $model->FuncionesId, 'PuntosventaId' => Yii::app()->params['pvRaiz'])); $taquilla = Confipvfuncion::model()->with('puntoventa')->findByPk(array('EventoId' => $model->EventoId, 'FuncionesId' => $model->FuncionesId, 'PuntosventaId' => $model->evento->PuntosventaId)); echo CHtml::openTag('ul', array('id' => "rama-" . $model->FuncionesId, 'class' => "arbol text-left")); /**** ***Caso especial Taquilla propia */ if (is_object($taquilla)) { # Si es valido el id de taquilla del evento $this->renderPartial('/funciones/_nodoCPVF', array('model' => $taquilla)); } /* Caso Modulos */ if (is_object($root)) { # Si el id de la raiz es correcto $this->renderPartial('/funciones/_nodoCPVF', array('model' => $root)); } else { echo CHtml::link(' Generar árbol', array('Funciones/generarArbolCPVF'), array('data-fid' => $model->FuncionesId, 'class' => 'btn btn-generar-arbol fa fa-sitemap ')); } echo CHtml::closeTag('ul'); echo CHtml::closeTag('div');