protected function renderMissionContent() { $userUrl = Yii::app()->createUrl('/users/default/details', array('id' => $this->model->createdByUser->id)); $content = '<div class="comment model-details-summary">'; $content .= ZurmoHtml::link($this->model->createdByUser->getAvatarImage(100), $userUrl); $content .= '<span class="user-details">'; $content .= ZurmoHtml::link(strval($this->model->createdByUser), $userUrl, array('class' => 'user-link')); $content .= '</span>'; $element = new TextAreaElement($this->model, 'description'); $element->nonEditableTemplate = '<div class="comment-content">{content}</div>'; $content .= $element->render(); if ($this->model->reward != null) { $element = new TextElement($this->model, 'reward'); $element->nonEditableTemplate = '<div class="comment-content">' . Zurmo::t('MissionsModule', 'Reward') . ': {content}</div>'; $content .= $element->render(); } if ($this->model->takenByUser->id > 0) { $element = new UserElement($this->model, 'takenByUser'); $element->nonEditableTemplate = '<div class="comment-content">' . Zurmo::t('MissionsModule', 'Taken By') . ': {content}</div>'; $content .= $element->render(); } if (!DateTimeUtil::isDateTimeValueNull($this->model, 'dueDateTime')) { $element = new DateTimeElement($this->model, 'dueDateTime'); $element->nonEditableTemplate = '<div class="comment-content">' . Zurmo::t('MissionsModule', 'Due') . ': {content}</div>'; $content .= $element->render(); } $date = '<span class="comment-details"><strong>' . DateTimeUtil::convertDbFormattedDateTimeToLocaleFormattedDisplay($this->model->createdDateTime, 'long', null) . '</strong></span>'; $content .= $date; if ($this->model->files->count() > 0) { $element = new FilesElement($this->model, 'null'); $element->nonEditableTemplate = '<div>{content}</div>'; $content .= '<div><strong>' . Zurmo::t('MissionsModule', 'Attachments') . '</strong></div>'; $content .= $element->render(); } $element = new MissionStatusElement($this->model, 'status'); $element->nonEditableTemplate = '<div class="comment-content">' . Zurmo::t('MissionsModule', 'Status') . ': {content}</div>'; $content .= $element->render(); $content .= '</div>'; return ZurmoHtml::tag('div', array('id' => 'ModelDetailsSummaryView'), $content); }
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; }