public function actionSolicitarPouso($idVoo, $isEmergencia = false) { $solicitacao = new Solicitacao(); $solicitacao->id_voo = $idVoo; $solicitacao->tipo = 'P'; if ($isEmergencia) { $solicitacao->indicador_emergencia = 'S'; } else { $solicitacao->indicador_emergencia = 'N'; } $voo = Voo::model()->findByPk($idVoo); $transaction = Yii::app()->db->beginTransaction(); try { if ($solicitacao->save()) { $voo->id_status = 5; // Aguardando Pouso if ($voo->save()) { Yii::app()->user->setFlash('success', utf8_decode("A solicitação de Pouso foi enviada para a Torre, aguarde confirmação para pousar.")); } else { Yii::app()->user->setFlash('error', utf8_decode("Ocorreu um erro e a solicitação não foi efetuada, por favor tente novamente.")); } } else { Yii::app()->user->setFlash('error', utf8_decode("Ocorreu um erro e a solicitação não foi efetuada, por favor tente novamente.")); } $transaction->commit(); } catch (Exception $e) { $transaction->rollback(); Yii::app()->user->setFlash('error', utf8_decode("Ocorreu um erro e a solicitação não foi efetuada, por favor tente novamente.")); } $this->redirect(Yii::app()->createAbsoluteUrl('voo/view', array('id' => $idVoo))); }