/** * Funkce pro odebrání všech pravidel z RuleClipboard konkrétní úlohy z RuleSetu * @param $task * @param $ruleSet */ public function removeAllRuleClipboardRulesFromRuleSet($task, $ruleSet) { if (!$ruleSet instanceof RuleSet) { $ruleSet = $this->findRuleSet($ruleSet); } $rules = $this->rulesFacade->findRulesByTask($task, null, null, null, true); if (!empty($rules)) { foreach ($rules as $rule) { $this->removeRuleFromRuleSet($rule, $ruleSet); } } $this->updateRuleSetRulesCount($ruleSet); }
/** * 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)); }
/** * Akce vracející pravidla pro vykreslení v easymineru * @param int $id * @param $offset * @param $limit * @param $order * @throws BadRequestException * @throws ForbiddenRequestException */ public function actionGetRules($id, $offset = 0, $limit = 25, $order = 'rule_id') { if ($order == '') { $order = 'rule_id'; } //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); $rules = $this->rulesFacade->findRulesByTask($task, $order, $offset, $limit); $rulesArr = array(); if (!empty($rules)) { foreach ($rules as $rule) { $rulesArr[$rule->ruleId] = $rule->getBasicDataArr(); } } $this->sendJsonResponse(array('task' => array('name' => $task->name, 'rulesCount' => $task->rulesCount, 'IMs' => $task->getInterestMeasures(), 'state' => $task->state, 'importState' => $task->importState), 'rules' => $rulesArr)); }