public function actionAjaxChangeStatus($status, $id) { $content = null; $save = true; $mission = Mission::GetById(intval($id)); ControllerSecurityUtil::resolveAccessCanCurrentUserWriteModel($mission); if ($status == Mission::STATUS_TAKEN) { if ($mission->takenByUser->id > 0) { $save = false; } else { $mission->takenByUser = Yii::app()->user->userModel; } } if ($save) { $mission->status = $status; $saved = $mission->save(); if (!$saved) { throw new NotSupportedException(); } $statusText = MissionStatusElement::renderStatusTextContent($mission); $statusAction = MissionStatusElement::renderStatusActionContent($mission, MissionStatusElement::getStatusChangeDivId($mission->id)); $content .= $statusText; if ($statusAction != null) { $content .= ' ' . $statusAction; } } else { $content .= '<div>' . Zurmo::t('MissionsModule', 'This mission is already taken') . '</div>'; } $content = ZurmoHtml::tag('div', array('id' => MissionStatusElement::getStatusChangeDivId($mission->id), 'class' => 'missionStatusChangeArea'), $content); Yii::app()->getClientScript()->setToAjaxMode(); Yii::app()->getClientScript()->render($content); echo $content; }