private function updatePassword() { $this->load->file('application/modules/app/layout/layout_password_data.php'); $resAjax = new Response_Ajax(); $data = new Data_App_Layout_Password(TRUE); try { if (!$data->isValid()) { throw new Exception('Complete correctamente todos los campos'); } $id_user = Helper_App_Session::getUserId(); $oBus = Business_App_User::checkPassword($id_user, $data->password_current); if (!$oBus->isSuccess()) { throw new Exception($oBus->message()); } $data_isValid = $oBus->data(); $isValid = $data_isValid['isValid']; if (!$isValid) { throw new Exception('Contraseña incorrecta.'); } $oBus2 = Business_App_User::updatePassword($id_user, $data->password_new); if (!$oBus2->isSuccess()) { throw new Exception($oBus2->message()); } $data_changed = $oBus2->data(); $changed = $data_changed['changed']; if (!$changed) { throw new Exception("No fue posible cambiar la contraseña"); } $resAjax->isSuccess(TRUE); $resAjax->message("Contraseña cambiada con éxito."); } catch (Exception $ex) { $resAjax->isSuccess(FALSE); $resAjax->message($ex->getMessage()); $resAjax->form('change_password', $data->toArray()); } echo $resAjax->toJsonEncode(); }