コード例 #1
0
 /**
  * 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);
 }
コード例 #2
0
 /**
  * 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));
 }
コード例 #3
0
 /**
  * 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));
 }