public function loadModel($idnomenclador, $idunidad)
 {
     $model = Nomencladorunidad::model()->findByPk(array('idnomenclador' => $idnomenclador, 'idunidad' => $idunidad));
     if ($model == null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     $modelunidad = new Unidad();
     $unidades = $model->getUnidades($id);
     if (isset($_POST['Nomenclador'])) {
         $model->setAttributes($_POST['Nomenclador']);
         if (!isset($_POST['idunidad'])) {
             $this->setFlash('notice', array('title' => 'Mensaje', 'content' => 'Seleccione unidad.'));
             $this->redirect(array('update', 'id' => $id));
         }
         $idunidad = $_POST['idunidad'];
         // arreglo con los checks seleccionados
         $unidadesvalidas = $modelunidad->ValidarUnidades($idunidad);
         // retorna true o false
         if (!$unidadesvalidas) {
             $this->setFlash('notice', array('title' => 'Mensaje', 'content' => 'Unidades excluyentes.'));
             $this->redirect(array('update', 'id' => $id));
         }
         try {
             if ($model->save()) {
                 Nomencladorunidad::model()->deleteAll('idnomenclador=:id', array('id' => $model->idnomenclador));
                 foreach ($idunidad as $key => $value) {
                     $modelnomenunidad = new Nomencladorunidad();
                     $modelnomenunidad->idunidad = $value;
                     $modelnomenunidad->idnomenclador = $model->idnomenclador;
                     $modelnomenunidad->save();
                 }
                 $this->setFlash('notice', array('title' => 'Mensaje', 'content' => 'Se actualizó correctamente.'));
                 $this->redirect(array('manage'));
             }
         } catch (Exception $e) {
             $model->addError('', $e->getMessage());
         }
     }
     $this->render('update', array('model' => $model, 'unidades' => $unidades));
 }