Exemple #1
0
 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);
     }
 }
Exemple #3
0
"></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 
Exemple #4
0
"></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;
 }
Exemple #6
0
 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}();
     }
 }