public function actionUpdate($id) { $model = MiFactoria::CargaModelo($this->modelopadre, $id); if ($this->itsFirsTime($id)) { if ($this->getUsersWorkingNow($id)) { //si esta ocupado Yii::app()->user->setFlash('error', "El documento esta siendo modificado por otro usuario "); $this->redirect(array('view', 'id' => $model->id)); } else { // Si no lo esta renderizar sin mas $this->setBloqueo($id); ///bloquea $this->render('update', array('model' => $model)); yii::app()->end(); } } else { if ($this->isRefreshCGridView($id)) { //si esta refresh de grilla $this->render('update', array('model' => $model)); yii::app()->end(); } else { // Si no lo es tenemos que analizar los dos casos que quedan if ($this->IsRefreshUrlWithoutSubmit($id)) { ///Solo refreso la pagina Yii::app()->user->setFlash('notice', "No has confirmado los datos, solo haz refrescaod la pagina "); //echo "<br><br><br><br><br><br><br><br>salio eso"; $this->render('update', array('model' => $model)); yii::app()->end(); } else { ///Ahora si recein se animo a hacer $_POST , y confirmar los datos if (isset($_POST[$this->modelopadre])) { $model->attributes = $_POST[$this->modelopadre]; //if($model->hacambiado()) { if ($model->save()) { $this->terminabloqueo($id); Yii::app()->user->setFlash('success', "Se grabo el documento " . $this->SQL); $this->redirect(array('view', 'id' => $model->id)); } else { Yii::app()->user->setFlash('error', " NO s epudo granar e domcjuento " . $this->displaymensajes('error')); $this->render('update', array('model' => $model)); yii::app()->end(); } //} else { //Yii::app()->user->setFlash('notice', " no has modificado nada de la cabecera "); //$this->render('update',array('model'=>$model)); //yii::app()->end(); //} } else { //En este caso quiere decir que la sesion/bloqueo anterior no se ha cerrado correactmente $this->terminabloqueo($id); $this->SetBloqueo($id); Yii::app()->user->setFlash('notice', "NO cerraste correctamente, Ya tenías una sesion abierta en este domcuento,"); $this->render('update', array('model' => $model)); yii::app()->end(); } } } } }
public function actionEditaDocumento($id) { $model = MiFactoria::CargaModelo($this->modelopadre, $id); if (count($model->ocompra_tenorsup) == 0 or count($model->ocompra_tenorinf) == 0) { yii::app()->user->setFlash('notice', 'Favor de definir los tenores para lo valores de la posicion y la sociedad'); } if ($model->{$this->campoestado} == ESTADO_PREVIO) { $model->{$this->campoestado} = ESTADO_CREADO; } if ($this->itsFirsTime($id)) { $uintruso = $this->getUsersWorkingNow($id); if ($uintruso) { //si esta ocupado Yii::app()->user->setFlash('error', "Solo puede visualizar, este documento, esta siendo modificado por el usuario : <b>" . Yii::app()->user->um->loadUserById($uintruso)->username . " </b>"); $this->redirect(array('VerDocumento', 'id' => $model->idguia)); } else { // Si no lo esta renderizar sin mas $this->setBloqueo($id); ///bloquea $this->ClearBuffer($id); //Limpia temporal antes de levantar $this->IniciaBuffer($id); //Levanta temporales $this->render('update', array('model' => $model)); yii::app()->end(); } } else { if ($this->isRefreshCGridView($id)) { //si esta refresh de grilla $this->render('update', array('model' => $model)); yii::app()->end(); } else { // Si no lo es tenemos que analizar los dos casos que quedan if ($this->IsRefreshUrlWithoutSubmit($id)) { ///Solo refreso la pagina Yii::app()->user->setFlash('notice', "No has confirmado los datos, solo haz refrescaod la pagina "); $this->render('update', array('model' => $model)); yii::app()->end(); } else { $this->performAjaxValidation($model); if (isset($_POST[$this->modelopadre])) { $model->attributes = $_POST[$this->modelopadre]; //$model->validate(); // if($this->hubocambiodetalle($id) OR $model->hacambiado()) { if (true) { if ($model->save()) { $this->ConfirmaBuffer($id); //Levanta temporales $this->terminabloqueo($id); //$this->terminabloqueo($id); // Desbloquea //$this->grabaitems($this->tempdpeticion_a_dpeticion($id)); //Graba temporales a la tabla Dpeticion $this->ClearBuffer($id); //$this->limpiatemporaldetalle(); //Limpia temporal Yii::app()->user->setFlash('success', "Se grabo el documento " . $this->SQL); //$this->render('update',array('model'=>$model)); $this->redirect(array('VerDocumento', 'id' => $model->idguia)); } else { //echo CActiveForm::validate($model); $this->render('update', array('model' => $model)); yii::app()->end(); /*Yii::app()->end(); throw new CHttpException(500,'Hubo un error al momento de grabar la cabecera');*/ } } else { Yii::app()->user->setFlash('notice', " Enviaste los datos pero no has modificado nada.... "); $this->render('update', array('model' => $model)); yii::app()->end(); } } else { //En este caso quiere decir que la sesion/bloqueo anterior no se ha cerrado correactmente // Y es posble que haya entrado despues de 2 dias, una semana asi $this->terminabloqueo($id); $this->SetBloqueo($id); Yii::app()->user->setFlash('notice', "NO cerraste correctamente, Ya tenías una sesion abierta en este domcuento,"); $this->render('update', array('model' => $model)); yii::app()->end(); } } } } }
public function actionConfirmar($id) { $model = MiFactoria::CargaModelo($this->modelopadre, $id); $this->performAjaxValidation($model); if ($this->itsFirsTime($id)) { if ($this->getUsersWorkingNow($id)) { //si esta ocupado $this->redirect(array('view', 'id' => $model->id)); } else { // Si no lo esta renderizar sin mas $this->setBloqueo($id); ///bloquea $this->ClearBuffer($id); //Limpia temporal antes de levantar MiFactoria::insertadetalles($model->id, $model->codmovimiento, $model->numdocref); /*echo "<br><br><br><br>"; print_r(yii::app()->user->getFlashes());*/ $this->render('n_form', array('model' => $model)); yii::app()->end(); } } else { if ($this->isRefreshCGridView($id)) { //si esta refresh de grilla $this->render('n_form', array('model' => $model)); yii::app()->end(); } else { // Si no lo es tenemos que analizar los dos casos que quedan if ($this->IsRefreshUrlWithoutSubmit($id)) { ///Solo refreso la pagina Yii::app()->user->setFlash('notice', "No has confirmado los datos, solo haz refrescaod la pagina "); $this->render('n_form', array('model' => $model)); yii::app()->end(); } else { ///Ahora si recein se animo a hacer $_POST , y confirmar los datos if (isset($_POST[$this->modelopadre])) { $model->attributes = $_POST[$this->modelopadre]; $model->cestadovale = '20'; $transacc = $model->dbConnection->beginTransaction(); if ($model->save()) { $this->efectuamovimiento($model); //oJO SOLO DESPUES DE COFIRMAR BUFFER $this->ConfirmaBuffer($id); //Levanta temporales if (!$this->detectaerrores()) { $transacc->commit(); Yii::app()->user->setFlash('success', "Se grabo el documento " . $this->SQL); $this->ClearBuffer($id); $this->terminabloqueo($id); $this->redirect(array('editar', 'id' => $model->id)); } else { //print_r(yii::app()->user->getFlashes()); Yii::app()->user->setFlash('error', "Se ha presentado algunos inconvenientes " . $this->displaymensajes('error')); $transacc->rollback(); $this->terminabloqueo($id); $this->render('n_form', array('model' => $model)); yii::app()->end(); } } else { Yii::app()->user->setFlash('error', " No se pudo grabar el documento " . $this->SQL); //$transacc->rollback(); $this->render('n_form', array('model' => $model)); yii::app()->end(); /*Yii::app()->end(); throw new CHttpException(500,'Hubo un error al momento de grabar la cabecera');*/ } } else { //En este caso quiere decir que la sesion/bloqueo anterior no se ha cerrado correactmente // Y es posble que haya entrado despues de 2 dias, una semana asi $this->terminabloqueo($id); $this->SetBloqueo($id); Yii::app()->user->setFlash('notice', "NO cerraste correctamente, Ya tenías una sesion abierta en este domcuento,"); $this->render('n_form', array('model' => $model)); yii::app()->end(); } } } } }
public function actionEditaDocumento($id) { $model = MiFactoria::CargaModelo($this->modelopadre, $id); if ($model->{$this->campoestado} == ESTADO_PREVIO) { $model->{$this->campoestado} = ESTADO_CREADO; } //$this->performAjaxValidation($model); /*ECHO isset($_POST[$this->modelopadre])?"<br><br><br><br><br><br><br><br>SI ES UN POST['".$this->modelopadre."']":"<br><br><br><br><br><br><br><br>NO es un POST"; ECHO isset($_GET[$this->modelopadre])?"<BR> ES UN GET(MODELOPADRE) ":"<BR> NO ES UN GET(MODELOPADRE)"; ECHO isset($_GET['ajax'])?"<BR> ES UN GET(ajax) ":"<BR> NO ES UN GET(ajax)"; //ECHO isset($_GET['ajax'])?"<BR> ES UN GET(ajax) ":"<BR> NO ES UN GET(ajax)"; echo ($this->estasEnSesion($id))?"<BR> ESTAS EN SESION ":"<BR> NO NO ESTAS EN SESION "; // echo " this->es_refreshdegrilla ".var_dump($this->es_refreshdegrilla($id))." <br>"; echo " this->IsRefreshUrlWithoutSubmit ".var_dump($this->IsRefreshUrlWithoutSubmit($id))." <br>";*/ if ($this->itsFirsTime($id)) { if ($this->getUsersWorkingNow($id)) { //si esta ocupado /* echo " es romer a vez y esta ocupado esta ocpado x otro "; yii::app()->end();*/ Yii::app()->user->setFlash('error', "El documento esta siendo modificado por otro usuario "); $this->redirect(array('view', 'id' => $model->id)); } else { // Si no lo esta renderizar sin mas /*echo " es primer avez y renderizar sin mas "; yii::app()->end();*/ $this->setBloqueo($id); ///bloquea $this->ClearBuffer($id); //Limpia temporal antes de levantar $this->IniciaBuffer($id); //Levanta temporales $this->render('update', array('model' => $model)); yii::app()->end(); } } else { if ($this->isRefreshCGridView($id)) { //si esta refresh de grilla /*echo " NO es primera vez y Es un refresh carajo"; yii::app()->end();*/ $this->render('update', array('model' => $model)); yii::app()->end(); } else { // Si no lo es tenemos que analizar los dos casos que quedan if ($this->IsRefreshUrlWithoutSubmit($id)) { ///Solo refreso la pagina /* echo "NO es primera vez y reresco si submit "; yii::app()->end();*/ Yii::app()->user->setFlash('notice', "No has confirmado los datos, solo haz refrescaod la pagina "); $this->render('update', array('model' => $model)); yii::app()->end(); } else { ///Ahora si recein se animo a hacer $_POST , y confirmar los datos /*echo "se animo a ha hacer POST "; yii::app()->end();*/ $this->performAjaxValidation($model); if (isset($_POST[$this->modelopadre])) { $model->attributes = $_POST[$this->modelopadre]; //$model->validate(); // if($this->hubocambiodetalle($id) OR $model->hacambiado()) { if (true) { if ($model->save()) { $this->ConfirmaBuffer($id); //Levanta temporales //$this->grabaitems($this->tempdpeticion_a_dpeticion($id)); //Graba temporales a la tabla Dpeticion $this->ClearBuffer($id); //$this->limpiatemporaldetalle(); //Limpia temporal $this->terminabloqueo($id); //$this->terminabloqueo($id); // Desbloquea Yii::app()->user->setFlash('success', "Se grabo el documento " . $this->SQL); //$this->render('update',array('model'=>$model)); $this->redirect(array('visualiza', 'id' => $model->id)); } else { //echo CActiveForm::validate($model); $this->render('update', array('model' => $model)); yii::app()->end(); /*Yii::app()->end(); throw new CHttpException(500,'Hubo un error al momento de grabar la cabecera');*/ } } else { Yii::app()->user->setFlash('notice', " Enviaste los datos pero no has modificado nada.... "); $this->render('update', array('model' => $model)); yii::app()->end(); } } else { //En este caso quiere decir que la sesion/bloqueo anterior no se ha cerrado correactmente // Y es posble que haya entrado despues de 2 dias, una semana asi $this->terminabloqueo($id); $this->SetBloqueo($id); Yii::app()->user->setFlash('notice', "NO cerraste correctamente, Ya tenías una sesion abierta en este domcuento,"); $this->render('update', array('model' => $model)); yii::app()->end(); } } } } }