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)); }