/** * Funkce pro kontrolu, jestli je zvolená úloha obsažená v Rule Clipboard * @param Task $task */ public function checkTaskInRuleClipoard(Task &$task) { $rulesCount = $this->rulesFacade->getRulesCountByTask($task, true); if ($rulesCount != $task->rulesInRuleClipboardCount) { $task->rulesInRuleClipboardCount = $rulesCount; $this->saveTask($task); } }
/** * Akce vracející pravidla pro vykreslení v easymineru * @param int $id * @param int $miner * @param int $offset=0 * @param int $limit=25 * @param string $order = '' * @throws BadRequestException * @throws ForbiddenRequestException */ public function actionGetRules($id = null, $miner, $offset = 0, $limit = 25, $order = '') { //nalezení daného mineru a kontrola oprávnění uživatele pro přístup k němu $task = $this->tasksFacade->findTask($id); $miner = $task->miner; $this->checkMinerAccess($miner); if ($order != '' && strtolower($order) != $task->rulesOrder) { try { $task->setRulesOrder($order); $this->tasksFacade->saveTask($task); } catch (\Exception $e) { /*ignore error...*/ $order = $task->rulesOrder; } } $rules = $this->rulesFacade->findRulesByTask($task, $order, $offset, $limit, true); $rulesArr = array(); if (!empty($rules)) { foreach ($rules as $rule) { $rulesArr[$rule->ruleId] = array('text' => $rule->text, 'a' => $rule->a, 'b' => $rule->b, 'c' => $rule->c, 'd' => $rule->d, 'selected' => $rule->inRuleClipboard ? '1' : '0'); } } $this->sendJsonResponse(array('task' => array('rulesCount' => $this->rulesFacade->getRulesCountByTask($task, true), 'IMs' => $task->getInterestMeasures(), 'rulesOrder' => strtoupper($task->rulesOrder), 'state' => $task->state, 'importState' => $task->importState), 'rules' => $rulesArr)); }