Esempio n. 1
0
 /**
  * Delete an elapsed time record
  */
 public function delete($id)
 {
     global $USER;
     $result = array();
     if ($id = $this->checkId($id)) {
         // get task id
         $taskId = $this->getOwnerTaskId($id);
         if ($taskId) {
             $task = \CTaskItem::getInstanceFromPool($taskId, $USER->GetId());
             // or directly, new \CTaskItem($taskId, $USER->GetId());
             $item = new \CTaskElapsedItem($task, $id);
             $item->delete();
         }
     }
     return $result;
 }
Esempio n. 2
0
 protected static function filterData(array $data, Collection $errors)
 {
     // READ, WRITE, SORT, FILTER, DATE
     $fieldMap = \CTaskElapsedItem::getPublicFieldMap();
     return parent::filterData($data, $fieldMap, $errors);
 }
Esempio n. 3
0
         $oTask->delete();
     } elseif ($action == "elapsed_add") {
         $redirectTo = $APPLICATION->GetCurPageParam(RandString(8), array("ACTION", "sessid")) . "#elapsed";
         $minutes = (int) $_POST['HOURS'] * 60 + (int) $_POST['MINUTES'];
         CTaskElapsedItem::add($oTask, array('MINUTES' => $minutes, 'COMMENT_TEXT' => trim($_POST["COMMENT_TEXT"])));
     } elseif ($action === 'elapsed_update') {
         $seconds = (int) $_POST['HOURS'] * 3600 + (int) $_POST['MINUTES'] * 60;
         if (isset($_POST['SECONDS']) && $_POST['SECONDS'] > 0) {
             $seconds += (int) $_POST['SECONDS'];
         }
         $redirectTo = $APPLICATION->GetCurPageParam("", array("ACTION", "sessid")) . "#elapsed";
         $oElapsedItem = new CTaskElapsedItem($oTask, (int) $_POST['ELAPSED_ID']);
         $oElapsedItem->update(array('SECONDS' => $seconds, 'COMMENT_TEXT' => trim($_POST["COMMENT_TEXT"])));
     } elseif ($action === 'elapsed_delete') {
         $redirectTo = $APPLICATION->GetCurPageParam("", array("ACTION", "sessid", "ELAPSED_ID")) . "#elapsed";
         $oElapsedItem = new CTaskElapsedItem($oTask, (int) $_GET['ELAPSED_ID']);
         $oElapsedItem->delete();
     } else {
         $arMap = array('close' => 'complete', 'start' => 'startExecution', 'accept' => 'accept', 'renew' => 'renew', 'defer' => 'defer', 'decline' => 'decline', 'delegate' => 'delegate', 'approve' => 'approve', 'disapprove' => 'disapprove');
         if (isset($arMap[$action])) {
             $arArgs = array();
             if ($action === 'decline') {
                 $arArgs = array($_POST['REASON']);
             } elseif ($action === 'delegate') {
                 $arArgs = array($_REQUEST['USER_ID']);
             }
             call_user_func_array(array($oTask, $arMap[$action]), $arArgs);
         }
     }
 } catch (Exception $e) {
     $errCode = $e->getCode();