public function renderIndex() { $return = array(); $viewAlias = "application.modules.assignment.views.indexapi.assignment"; $uid = Ibos::app()->user->uid; $chargeData = Assignment::model()->fetchUnfinishedByChargeuid($uid); $designeeData = Assignment::model()->fetchUnfinishedByDesigneeuid($uid); $data = array("chargeData" => AssignmentUtil::handleListData($chargeData), "designeeData" => AssignmentUtil::handleListData($designeeData), "lang" => Ibos::getLangSource("assignment.default"), "assetUrl" => Ibos::app()->assetManager->getAssetsUrl("assignment")); foreach ($this->_indexTab as $tab) { $data["tab"] = $tab; $data[$tab] = Ibos::app()->getController()->renderPartial($viewAlias, $data, true); } return $data; }
private function search() { $conditionCookie = MainUtil::getCookie("condition"); if (empty($conditionCookie)) { MainUtil::setCookie("condition", $this->_condition, 10 * 60); } if (EnvUtil::getRequest("search")) { $keyword = EnvUtil::getRequest("keyword"); if (!empty($keyword)) { $this->_condition = " (`subject` LIKE '%{$keyword}%' "; $users = User::model()->fetchAll("`realname` LIKE '%{$keyword}%'"); if (!empty($users)) { $uids = ConvertUtil::getSubByKey($users, "uid"); $uidStr = implode(",", $uids); $this->_condition .= " OR FIND_IN_SET(`designeeuid`, '{$uidStr}') OR FIND_IN_SET( `chargeuid`, '{$uidStr}' ) "; foreach ($uids as $uid) { $this->_condition .= " OR FIND_IN_SET({$uid}, `participantuid`)"; } } $this->_condition .= ")"; } $daterange = EnvUtil::getRequest("daterange"); if (!empty($daterange)) { $time = explode(" - ", $daterange); $starttime = $time[0]; $endtime = $time[1]; $st = strtotime($starttime); $et = strtotime($endtime); $this->_condition = AssignmentUtil::joinCondition($this->_condition, "`starttime` >= {$st} AND `endtime` <= {$et}"); } MainUtil::setCookie("keyword", $keyword, 10 * 60); MainUtil::setCookie("daterange", $daterange, 10 * 60); } else { $this->_condition = $conditionCookie; } if ($this->_condition != MainUtil::getCookie("condition")) { MainUtil::setCookie("condition", $this->_condition, 10 * 60); } }
"></i> <?php } elseif (0 < $participant["remindtime"]) { ?> <i class="om-am-clock mls" title="<?php echo $lang["Has been set to remind"]; ?> "></i> <?php } ?> </div> </td> <td width="110"> <span class="pull-right am-tag am-tag-<?php echo AssignmentUtil::getCssClassByStatus($participant["status"]); ?> "> <?php if ($participant["status"] == 0) { echo $lang["Unreaded"]; } elseif ($participant["status"] == 1) { echo $lang["Ongoing"]; } elseif ($participant["status"] == 4) { echo $lang["Has been cancelled"]; } ?> </span> </td> </tr> <?php
"></i> <?php } elseif (0 < $designee["remindtime"]) { ?> <i class="om-am-clock mls" title="<?php echo $lang["Has been set to remind"]; ?> "></i> <?php } ?> </div> </td> <td width="60"> <span class="pull-right am-tag am-tag-<?php echo AssignmentUtil::getCssClassByStatus($designee["status"]); ?> "> <?php if ($designee["status"] == 0) { echo $lang["Unreaded"]; } elseif ($designee["status"] == 1) { echo $lang["Ongoing"]; } elseif ($designee["status"] == 4) { echo $lang["Has been cancelled"]; } ?> </span> </td> </tr> <?php
protected function getUnfinishedDataByUid($uid) { $datas = Assignment::model()->getUnfinishedByUid($uid); $designeeData = AssignmentUtil::handleListData($datas["designeeData"]); $params = array("user" => User::model()->fetchByUid($uid), "designeeData" => AssignmentUtil::handleDesigneeData($designeeData), "chargeData" => AssignmentUtil::handleListData($datas["chargeData"]), "participantData" => AssignmentUtil::handleListData($datas["participantData"])); return $params; }
public function actionShow() { $op = EnvUtil::getRequest("op"); if (empty($op)) { $assignmentId = intval(EnvUtil::getRequest("assignmentId")); $checkRes = $this->checkAvailableById($assignmentId); if (!$checkRes["isSuccess"]) { $this->error($checkRes["msg"], $this->createUrl("unfinished/index")); } $assignment = Assignment::model()->fetchByPk($assignmentId); if (!$this->checkShowPermissions($assignment) && !$this->checkIsSup($assignment)) { $this->error(Ibos::lang("You donot have permission to view"), $this->createUrl("unfinished/index")); } if (!empty($assignment["attachmentid"])) { $assignment["attach"] = AttachUtil::getAttach($assignment["attachmentid"]); } if (!empty($assignment["stamp"])) { $assignment["stampUrl"] = Stamp::model()->fetchStampById($assignment["stamp"]); } $apply = AssignmentApply::model()->fetchByAttributes(array("assignmentid" => $assignmentId)); $applyData = $this->handleApplyData($assignmentId, $apply); $isDesigneeuid = $this->checkIsDesigneeuid($assignment["designeeuid"]); $isChargeuid = $this->checkIsChargeuid($assignment["chargeuid"]); if ($isChargeuid && $assignment["status"] == 0) { Assignment::model()->modify($assignmentId, array("status" => 1)); $assignment["status"] = 1; } AssignmentLog::model()->addLog($assignmentId, "view", Ibos::lang("View the assignment")); $participantuidArr = explode(",", $assignment["participantuid"]); $participantuid = array_filter($participantuidArr, create_function("\$v", "return !empty(\$v);")); $reminds = AssignmentRemind::model()->fetchAllByUid(Ibos::app()->user->uid); $assignment["remindtime"] = in_array($assignmentId, array_keys($reminds)) ? $reminds[$assignmentId] : 0; $params = array("isDesigneeuid" => $isDesigneeuid, "isChargeuid" => $isChargeuid, "designee" => User::model()->fetchByUid($assignment["designeeuid"]), "charge" => User::model()->fetchByUid($assignment["chargeuid"]), "participantCount" => count($participantuid), "participant" => User::model()->fetchRealnamesByUids($participantuid, "、"), "assignment" => AssignmentUtil::handleShowData($assignment), "applyData" => CJSON::encode($applyData)); $this->setPageTitle(Ibos::lang("See the assignment details")); $this->setPageState("breadCrumbs", array(array("name" => Ibos::lang("Assignment"), "url" => $this->createUrl("unfinished/index")), array("name" => Ibos::lang("Assignment details")))); $this->render("show", $params); } else { $this->{$op}(); } }