Ejemplo 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;
 }
Ejemplo n.º 2
0
 public function deleteDependOn($parentId)
 {
     $exceptionInfo = array('AUX' => array('MESSAGE' => array('FROM_TASK_ID' => $parentId, 'TASK_ID' => $this->getId(), 'LINK_TYPE' => $linkType)));
     if ($this->isActionAllowed(self::ACTION_CHANGE_DEADLINE)) {
         $parentTask = CTaskItem::getInstanceFromPool($parentId, $this->executiveUserId);
         if ($parentTask->isActionAllowed(self::ACTION_CHANGE_DEADLINE)) {
             $result = DependenceTable::deleteLink($this->getId(), $parentId);
             if (!$result->isSuccess()) {
                 $exceptionInfo['ERROR'] = $result->getErrorMessages();
                 throw new ActionFailedException(Loc::getMessage('TASK_CANT_DELETE_LINK'), $exceptionInfo);
             }
             return;
         }
     }
     throw new ActionNotAllowedException(Loc::getMessage('TASK_CANT_DELETE_LINK'), $exceptionInfo);
 }
Ejemplo n.º 3
0
             if ($i < $iMax) {
                 echo ", ";
             }
         } else {
             $params = array("PATHS" => $arPaths, "PLAIN" => false, "DEFER" => true, "SITE_ID" => $SITE_ID, "TASK_ADDED" => false, 'IFRAME' => 'N', "NAME_TEMPLATE" => $nameTemplate, 'DATA_COLLECTION' => array(array("CHILDREN_COUNT" => $arChildrenCount["PARENT_" . $task["ID"]], "DEPTH" => $depth, "UPDATES_COUNT" => $arUpdatesCount[$task["ID"]], "PROJECT_EXPANDED" => true, 'ALLOWED_ACTIONS' => null, "TASK" => $task)));
             if ($columnsOrder !== null) {
                 $params['COLUMNS_IDS'] = $columnsOrder;
             }
             $APPLICATION->IncludeComponent('bitrix:tasks.list.items', '.default', $params, null, array("HIDE_ICONS" => "Y"));
         }
     }
     if ($bIsJSON) {
         echo "]";
     }
 } else {
     $oTask = CTaskItem::getInstanceFromPool($_POST['id'], $USER->getId());
     $arTask = $oTask->getData($bEscape = false);
     if ($_POST["mode"] == "delete" && $oTask->isActionAllowed(CTaskItem::ACTION_REMOVE)) {
         $APPLICATION->RestartBuffer();
         $task = new CTasks();
         $rc = $task->Delete(intval($_POST["id"]));
         if ($rc === false) {
             $strError = 'Error';
             if ($ex = $APPLICATION->GetException()) {
                 $strError = $ex->GetString();
             }
             if ($_POST["type"] == "json") {
                 echo "['strError' : '" . CUtil::JSEscape(htmlspecialcharsbx($strError)) . "']";
             } else {
                 echo htmlspecialcharsbx($strError);
             }
Ejemplo n.º 4
0
function tasksRenderJSON($arTask, $childrenCount, $arPaths, $bParent = false, $bGant = false, $top = false, $nameTemplate = "", $arAdditionalFields = array(), $bSkipJsMenu = false)
{
    global $USER;
    $arAllowedTaskActions = array();
    if (isset($arTask['META:ALLOWED_ACTIONS'])) {
        $arAllowedTaskActions = $arTask['META:ALLOWED_ACTIONS'];
    } elseif ($arTask['ID']) {
        $oTask = CTaskItem::getInstanceFromPool($arTask['ID'], $USER->getId());
        $arAllowedTaskActions = $oTask->getAllowedTaskActionsAsStrings();
        $arTask['META:ALLOWED_ACTIONS'] = $arAllowedTaskActions;
    }
    $runningTaskId = $runningTaskTimer = null;
    if ($arTask['ALLOW_TIME_TRACKING'] === 'Y') {
        $oTimer = CTaskTimerManager::getInstance($USER->getId());
        $runningTaskData = $oTimer->getRunningTask(false);
        $runningTaskId = $runningTaskData['TASK_ID'];
        $runningTaskTimer = time() - $runningTaskData['TIMER_STARTED_AT'];
    }
    ?>
	{
		id : <?php 
    echo $arTask["ID"];
    ?>
,
		name : "<?php 
    echo CUtil::JSEscape($arTask["TITLE"]);
    ?>
",
		<?php 
    if ($arTask["GROUP_ID"]) {
        ?>
			projectId : <?php 
        echo $arTask["GROUP_ID"];
        ?>
,
			projectName : '<?php 
        echo CUtil::JSEscape($arTask['GROUP_NAME']);
        ?>
',
		<?php 
    }
    ?>
		status : "<?php 
    echo tasksStatus2String($arTask["STATUS"]);
    ?>
",
		realStatus : "<?php 
    echo $arTask["REAL_STATUS"];
    ?>
",
		url: '<?php 
    echo CUtil::JSEscape(CComponentEngine::MakePathFromTemplate($arPaths["PATH_TO_TASKS_TASK"], array("task_id" => $arTask["ID"], "action" => "view")));
    ?>
',
		details: window.top.onDetails,
		priority : <?php 
    echo $arTask["PRIORITY"];
    ?>
,
		mark : <?php 
    echo !$arTask["MARK"] ? "null" : "'" . $arTask["MARK"] . "'";
    ?>
,
		responsible: '<?php 
    echo CUtil::JSEscape(tasksFormatNameShort($arTask["RESPONSIBLE_NAME"], $arTask["RESPONSIBLE_LAST_NAME"], $arTask["RESPONSIBLE_LOGIN"], $arTask["RESPONSIBLE_SECOND_NAME"], $nameTemplate));
    ?>
',
		director: '<?php 
    echo CUtil::JSEscape(tasksFormatNameShort($arTask["CREATED_BY_NAME"], $arTask["CREATED_BY_LAST_NAME"], $arTask["CREATED_BY_LOGIN"], $arTask["CREATED_BY_SECOND_NAME"], $nameTemplate));
    ?>
',
		responsibleId : <?php 
    echo $arTask["RESPONSIBLE_ID"];
    ?>
,
		directorId : <?php 
    echo $arTask["CREATED_BY"];
    ?>
,
		responsible_name: '<?php 
    echo CUtil::JSEscape($arTask["RESPONSIBLE_NAME"]);
    ?>
',
		responsible_second_name: '<?php 
    echo CUtil::JSEscape($arTask["RESPONSIBLE_SECOND_NAME"]);
    ?>
',
		responsible_last_name: '<?php 
    echo CUtil::JSEscape($arTask["RESPONSIBLE_LAST_NAME"]);
    ?>
',
		responsible_login: '******',
		director_name: '<?php 
    echo CUtil::JSEscape($arTask["CREATED_BY_NAME"]);
    ?>
',
		director_second_name: '<?php 
    echo CUtil::JSEscape($arTask["CREATED_BY_SECOND_NAME"]);
    ?>
',
		director_last_name: '<?php 
    echo CUtil::JSEscape($arTask["CREATED_BY_LAST_NAME"]);
    ?>
',
		director_login: '******',
		dateCreated : <?php 
    tasksJSDateObject($arTask["CREATED_DATE"], $top);
    ?>
,

		<?php 
    if ($arTask["START_DATE_PLAN"]) {
        ?>
dateStart : <?php 
        tasksJSDateObject($arTask["START_DATE_PLAN"], $top);
        ?>
,<?php 
    } else {
        ?>
dateStart: null,<?php 
    }
    ?>

		<?php 
    if ($arTask["END_DATE_PLAN"]) {
        ?>
dateEnd : <?php 
        tasksJSDateObject($arTask["END_DATE_PLAN"], $top);
        ?>
,<?php 
    } else {
        ?>
dateEnd: null,<?php 
    }
    ?>

		<?php 
    if ($arTask["DATE_START"]) {
        ?>
dateStarted: <?php 
        tasksJSDateObject($arTask["DATE_START"], $top);
        ?>
,<?php 
    }
    ?>

		dateCompleted : <?php 
    if ($arTask["CLOSED_DATE"]) {
        tasksJSDateObject($arTask["CLOSED_DATE"], $top);
    } else {
        ?>
null<?php 
    }
    ?>
,

		<?php 
    if ($arTask["DEADLINE"]) {
        ?>
dateDeadline : <?php 
        tasksJSDateObject($arTask["DEADLINE"], $top);
        ?>
,<?php 
    } else {
        ?>
dateDeadline: null,<?php 
    }
    ?>

		canEditPlanDates : <?php 
    if ($arAllowedTaskActions['ACTION_EDIT']) {
        ?>
true<?php 
    } else {
        ?>
false<?php 
    }
    ?>
,

		<?php 
    if ($arTask["PARENT_ID"] && $bParent) {
        ?>
			parentTaskId : <?php 
        echo $arTask["PARENT_ID"];
        ?>
,
		<?php 
    }
    ?>

		<?php 
    if (sizeof($arTask["FILES"])) {
        $i = 0;
        ?>
			files: [
				<?php 
        foreach ($arTask["FILES"] as $file) {
            $i++;
            ?>
				{ name : '<?php 
            echo CUtil::JSEscape($file["ORIGINAL_NAME"]);
            ?>
', url : '/bitrix/components/bitrix/tasks.task.detail/show_file.php?fid=<?php 
            echo $file["ID"];
            ?>
', size : '<?php 
            echo CUtil::JSEscape(CFile::FormatSize($file["FILE_SIZE"]));
            ?>
' }<?php 
            if ($i != sizeof($arTask["FILES"])) {
                ?>
,<?php 
            }
            ?>
				<?php 
        }
        ?>
			],
		<?php 
    }
    ?>

		<?php 
    if (count($arTask['ACCOMPLICES']) > 0) {
        $i = 0;
        echo 'accomplices: [';
        foreach ($arTask['ACCOMPLICES'] as $ACCOMPLICE_ID) {
            if ($i++) {
                echo ',';
            }
            echo '{ id: ' . (int) $ACCOMPLICE_ID . ' }';
        }
        echo '], ';
    }
    ?>

		<?php 
    if (count($arTask['AUDITORS']) > 0) {
        $i = 0;
        echo 'auditors: [';
        foreach ($arTask['AUDITORS'] as $AUDITOR_ID) {
            if ($i++) {
                echo ',';
            }
            echo '{ id: ' . (int) $AUDITOR_ID . ' }';
        }
        echo '], ';
    }
    ?>

		isSubordinate: <?php 
    echo $arTask["SUBORDINATE"] == "Y" ? "true" : "false";
    ?>
,
		isInReport: <?php 
    echo $arTask["ADD_IN_REPORT"] == "Y" ? "true" : "false";
    ?>
,
		hasChildren : <?php 
    if ((int) $childrenCount > 0) {
        echo 'true';
    } else {
        echo 'false';
    }
    ?>
,
		childrenCount : <?php 
    echo (int) $childrenCount;
    ?>
,
		canEditDealine : <?php 
    if ($arAllowedTaskActions['ACTION_EDIT'] || $arAllowedTaskActions['ACTION_CHANGE_DEADLINE']) {
        echo 'true';
    } else {
        echo 'false';
    }
    ?>
,
		canStartTimeTracking : <?php 
    if ($arAllowedTaskActions['ACTION_START_TIME_TRACKING']) {
        ?>
true<?php 
    } else {
        ?>
false<?php 
    }
    ?>
,
		ALLOW_TIME_TRACKING : <?php 
    if (isset($arTask['ALLOW_TIME_TRACKING']) && $arTask['ALLOW_TIME_TRACKING'] === 'Y') {
        echo 'true';
    } else {
        echo 'false';
    }
    ?>
,
		TIMER_RUN_TIME : <?php 
    if ($runningTaskId == $arTask['ID']) {
        echo (int) $runningTaskTimer;
    } else {
        echo 'false';
    }
    ?>
,
		TIME_SPENT_IN_LOGS : <?php 
    echo (int) $arTask['TIME_SPENT_IN_LOGS'];
    ?>
,
		TIME_ESTIMATE : <?php 
    echo (int) $arTask['TIME_ESTIMATE'];
    ?>
,
		IS_TASK_TRACKING_NOW : <?php 
    if ($runningTaskId == $arTask['ID']) {
        echo 'true';
    } else {
        echo 'false';
    }
    ?>
,
		menuItems: [<?php 
    tasksGetItemMenu($arTask, $arPaths, SITE_ID, $bGant, $top, $bSkipJsMenu);
    ?>
]

		<?php 
    foreach ($arAdditionalFields as $key => $value) {
        echo ', ' . $key . ' : ' . $value . "\n";
    }
    ?>
	}
<?php 
}
Ejemplo n.º 5
0
} else {
    $arResult['SYSTEM_COLUMN_IDS'] = array(CTaskColumnList::SYS_COLUMN_CHECKBOX, CTaskColumnList::SYS_COLUMN_COMPLETE);
    // checkbox & complete columns
}
$oTimer = $arTimer = null;
// we will load timer data on demand, only once
$index = 0;
$arResult['ITEMS'] = array();
foreach ($arParams['~DATA_COLLECTION'] as &$dataItem) {
    $arResult['ITEMS'][$index] = array('TASK' => $dataItem['TASK'], 'CHILDREN_COUNT' => $dataItem['CHILDREN_COUNT'], 'DEPTH' => isset($dataItem['DEPTH']) ? $dataItem['DEPTH'] : 0, 'UPDATES_COUNT' => isset($dataItem['UPDATES_COUNT']) ? $dataItem['UPDATES_COUNT'] : 0, 'PROJECT_EXPANDED' => isset($dataItem['PROJECT_EXPANDED']) ? $dataItem['PROJECT_EXPANDED'] : true, 'ALLOWED_ACTIONS' => null);
    if (isset($dataItem['ALLOWED_ACTIONS'])) {
        $arResult['ITEMS'][$index]['ALLOWED_ACTIONS'] = $dataItem['ALLOWED_ACTIONS'];
    } elseif (isset($dataItem['TASK']['META:ALLOWED_ACTIONS'])) {
        $arResult['ITEMS'][$index]['ALLOWED_ACTIONS'] = $dataItem['TASK']['META:ALLOWED_ACTIONS'];
    } elseif ($dataItem['TASK']['ID']) {
        $oTask = CTaskItem::getInstanceFromPool($dataItem['TASK']['ID'], $loggedInUser);
        $arResult['ITEMS'][$index]['ALLOWED_ACTIONS'] = $oTask->getAllowedTaskActionsAsStrings();
    }
    if ($dataItem["TASK"]['ALLOW_TIME_TRACKING'] === 'Y') {
        if ($dataItem['TASK']['TIME_ESTIMATE'] > 0 && $arResult['ITEMS'][$index]['CURRENT_TASK_SPENT_TIME'] > $dataItem['TASK']['TIME_ESTIMATE']) {
            $arResult['ITEMS'][$index]['TASK_TIMER_OVERDUE'] = 'Y';
        } else {
            $arResult['ITEMS'][$index]['TASK_TIMER_OVERDUE'] = 'N';
        }
        // Lazy load timer data only once
        if ($oTimer === null) {
            $oTimer = CTaskTimerManager::getInstance($loggedInUser);
            $arTimer = $oTimer->getRunningTask(false);
            // false => allow use static cache
            $arResult['TIMER'] = $arTimer;
        }
Ejemplo n.º 6
0
                        $isIframe = false;
                    }
                    $APPLICATION->IncludeComponent("bitrix:tasks.task.detail.parts", ".default", array('INNER_HTML' => $_POST['INNER_HTML'], 'MODE' => $_POST['MODE'], 'BLOCKS' => array($_POST['BLOCK']), 'IS_IFRAME' => $isIframe, 'PATH_TO_TEMPLATES_TEMPLATE' => $_POST['PATH_TO_TEMPLATES_TEMPLATE'], 'PATH_TO_USER_PROFILE' => $_POST['PATH_TO_USER_PROFILE'], 'PATH_TO_TASKS_TASK' => $_POST['PATH_TO_TASKS_TASK'], 'FIRE_ON_CHANGED_EVENT' => $_POST['FIRE_ON_CHANGED_EVENT'], 'NAME_TEMPLATE' => $nameTemplate, 'LOAD_TASK_DATA' => 'Y', 'TASK_ID' => (int) $_POST['TASK_ID']), null, array('HIDE_ICONS' => 'Y'));
                    break;
                default:
                    CTaskAssert::logError('[0x4fae6498] Unexpected $_POST[\'BLOCK\'] value: ' . $_POST['BLOCK']);
                    break;
            }
        } else {
            CTaskAssert::logError('[0x0907bb31] $_POST[\'BLOCK\'] expected, but not given');
        }
    } elseif ($action === 'render_comments') {
        CModule::IncludeModule('tasks');
        CModule::IncludeModule('forum');
        $permission = 'A';
        $oTask = CTaskItem::getInstanceFromPool($_POST['taskId'], $loggedInUserId);
        $arTask = $oTask->getData($bEscape = false);
        $arTaskUsers = CTasks::__GetSearchPermissions($arTask);
        if ($USER->CanAccess($arTaskUsers) === true || $USER->IsAdmin() || CTasksTools::IsPortalB24Admin()) {
            $permission = 'M';
        }
        $APPLICATION->RestartBuffer();
        header('Content-Type: text/html; charset=' . LANG_CHARSET);
        $APPLICATION->IncludeComponent("bitrix:forum.comments", "bitrix24", array("FORUM_ID" => $_POST['forumId'], "ENTITY_TYPE" => "TK", "ENTITY_ID" => $_POST['taskId'], "ENTITY_XML_ID" => "TASK_" . $_POST['taskId'], "URL_TEMPLATES_PROFILE_VIEW" => $_POST['PATH_TO_USER_PROFILE'], "MESSAGES_PER_PAGE" => $_POST['ITEM_DETAIL_COUNT'], "PAGE_NAVIGATION_TEMPLATE" => "arrows", "DATE_TIME_FORMAT" => CDatabase::DateFormatToPHP(FORMAT_DATETIME), "PATH_TO_SMILE" => $_POST['PATH_TO_FORUM_SMILE'], "EDITOR_CODE_DEFAULT" => "N", "SHOW_MODERATION" => "Y", "SHOW_AVATAR" => "Y", "SHOW_RATING" => $_POST['SHOW_RATING'], "RATING_TYPE" => $_POST['RATING_TYPE'], "SHOW_MINIMIZED" => "N", "USE_CAPTCHA" => "N", 'PREORDER' => 'N', "SHOW_LINK_TO_FORUM" => "N", "SHOW_SUBSCRIBE" => "N", "FILES_COUNT" => 10, "SHOW_WYSIWYG_EDITOR" => "Y", "AUTOSAVE" => true, "PERMISSION" => $permission, "NAME_TEMPLATE" => $_POST["NAME_TEMPLATE"], "MESSAGE_COUNT" => 3), null, array('HIDE_ICONS' => 'Y'));
        require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_after.php';
        exit;
    } else {
        CTaskAssert::logError('[0x447f7b28] Unknown action: ' . $action);
    }
}
CMain::FinalActions();
Ejemplo n.º 7
0
         $breakExecution = true;
     }
     break;
 case 'CTaskCheckListItem::complete()':
 case 'CTaskCheckListItem::renew()':
 case 'CTaskCheckListItem::delete()':
 case 'CTaskCheckListItem::isComplete()':
 case 'CTaskCheckListItem::update()':
 case 'CTaskCheckListItem::moveAfterItem()':
     CTaskAssert::assert(isset($arAction['taskId'], $arAction['itemId']));
     // Is task id the result of previous operation in batch?
     $taskId = BXTasksResolveDynaParamValue($arAction['taskId'], array('$arOperationsResults' => $arOperationsResults));
     // Is item id the result of previous operation in batch?
     $itemId = BXTasksResolveDynaParamValue($arAction['itemId'], array('$arOperationsResults' => $arOperationsResults));
     CTaskAssert::assertLaxIntegers($taskId, $itemId);
     $oTask = CTaskItem::getInstanceFromPool($taskId, $loggedInUserId);
     $oCheckListItem = new CTaskCheckListItem($oTask, $itemId);
     $returnValue = null;
     switch ($arAction['operation']) {
         case 'CTaskCheckListItem::moveAfterItem()':
             $insertAfterItemId = BXTasksResolveDynaParamValue($arAction['insertAfterItemId'], array('$arOperationsResults' => $arOperationsResults));
             CTaskAssert::assertLaxIntegers($insertAfterItemId);
             $oCheckListItem->moveAfterItem($insertAfterItemId);
             break;
         case 'CTaskCheckListItem::complete()':
             $oCheckListItem->complete();
             break;
         case 'CTaskCheckListItem::renew()':
             $oCheckListItem->renew();
             break;
         case 'CTaskCheckListItem::delete()':
Ejemplo n.º 8
0
 /**
  * Move a specified check list item after another check list item
  */
 public function moveAfter($id, $afterId)
 {
     // you can move check list items ONLY when you have write access to the task
     global $USER;
     $result = array();
     if (($id = $this->checkId($id)) && ($afterId = $this->checkId($afterId))) {
         if ($id != $afterId) {
             // get task id
             $taskId = $this->getOwnerTaskId($id);
             if ($taskId) {
                 $task = \CTaskItem::getInstanceFromPool($taskId, $USER->GetId());
                 // or directly, new \CTaskItem($taskId, $USER->GetId());
                 if (!$task->isActionAllowed(\CTaskItem::ACTION_EDIT)) {
                     throw new Tasks\ActionNotAllowedException('Checklist move after', array('AUX' => array('ERROR' => array('TASK_ID' => $taskId, 'ITEM' => $id, 'AFTER_ITEM' => $afterId))));
                 }
                 $item = new \CTaskCheckListItem($task, $id);
                 $item->moveAfterItem($afterId);
             }
         }
     }
     return $result;
 }
Ejemplo n.º 9
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
if (!CModule::IncludeModule("tasks")) {
    ShowError(GetMessage("TASKS_MODULE_NOT_FOUND"));
    return;
}
$arResult['LOGGED_IN_USER'] = $USER->getId();
if (isset($arParams['~ALLOWED_ACTIONS'])) {
    $arResult['ALLOWED_ACTIONS'] = $arParams['~ALLOWED_ACTIONS'];
} elseif (isset($arParams['~TASK']['META:ALLOWED_ACTIONS'])) {
    $arResult['ALLOWED_ACTIONS'] = $arParams['~TASK']['META:ALLOWED_ACTIONS'];
} elseif ($arParams['~TASK']['ID']) {
    $oTask = CTaskItem::getInstanceFromPool($arParams['~TASK']['ID'], $arResult['LOGGED_IN_USER']);
    $arResult['ALLOWED_ACTIONS'] = $oTask->getAllowedTaskActionsAsStrings();
    $arParams['~TASK']['META:ALLOWED_ACTIONS'] = $arResult['ALLOWED_ACTIONS'];
}
$arResult['IFRAME'] = null;
if (isset($arParams['IFRAME'])) {
    $arResult['IFRAME'] = $arParams['IFRAME'];
}
if ($arParams["~TASK"]['ALLOW_TIME_TRACKING'] === 'Y') {
    if ($arParams['~TASK']['TIME_ESTIMATE'] > 0 && $arResult['CURRENT_TASK_SPENT_TIME'] > $arParams['~TASK']['TIME_ESTIMATE']) {
        $arResult['TASK_TIMER_OVERDUE'] = 'Y';
    } else {
        $arResult['TASK_TIMER_OVERDUE'] = 'N';
    }
    $oTimer = CTaskTimerManager::getInstance($arResult['LOGGED_IN_USER']);
    $arTimer = $oTimer->getRunningTask(false);
Ejemplo n.º 10
0
 protected static function doUpdate($userId, $taskId, array $data, array $parameters, Collection $errors)
 {
     $task = \CTaskItem::getInstanceFromPool($taskId, $userId);
     if (!$task->isActionAllowed(\CTaskItem::ACTION_CHANGE_DIRECTOR)) {
         unset($data['CREATED_BY']);
     }
     if (!is_array($parameters['TASK_ACTION_UPDATE_PARAMETERS'])) {
         $parameters['TASK_ACTION_UPDATE_PARAMETERS'] = array();
     }
     $task->update($data, $parameters['TASK_ACTION_UPDATE_PARAMETERS']);
     if (is_array($data[static::SE_PREFIX . 'CHECKLIST']) && !empty($data[static::SE_PREFIX . 'CHECKLIST'])) {
         // add checklist here
     }
     return $task;
 }
Ejemplo n.º 11
0
             }
         }
     }
 }
 $arFields["REPLICATE_PARAMS"] = array();
 foreach ($_POST as $field => $value) {
     if (substr($field, 0, 10) == "REPLICATE_") {
         $arFields["REPLICATE_PARAMS"][substr($field, 10)] = substr($field, -5) == "_DATE" ? ConvertDateTime($value) : $value;
     }
 }
 $arChecklistItems = array();
 $arResult["ERRORS"] = array();
 if ($arResult["ACTION"] == "edit") {
     $arFields["RESPONSIBLE_ID"] = $_POST["RESPONSIBLE_ID"];
     try {
         $oTask = CTaskItem::getInstanceFromPool($arParams['TASK_ID'], $loggedInUserId);
         if ($oTask->isActionAllowed(CTaskItem::ACTION_CHANGE_DIRECTOR) && isset($_POST['CREATED_BY'])) {
             $arFields["CREATED_BY"] = $_POST['CREATED_BY'];
         }
         // Save checklist data
         $arChecklistItems = $APPLICATION->IncludeComponent("bitrix:tasks.task.detail.parts", ".default", array('MODE' => 'JUST AFTER TASK EDITED', 'BLOCKS' => array("checklist"), 'TASK_ID' => (int) $arParams['TASK_ID']), null, array('HIDE_ICONS' => 'Y'));
         $oTask->update($arFields);
     } catch (Exception $e) {
         if ($e->GetCode() & TasksException::TE_FLAG_SERIALIZED_ERRORS_IN_MESSAGE) {
             $arResult['ERRORS'] = unserialize($e->GetMessage());
         } else {
             $arResult['ERRORS'][] = array('text' => 'UNKNOWN ERROR OCCURED', 'id' => 'ERROR_TASKS_UNKNOWN');
         }
     }
     $taskID = $arParams['TASK_ID'];
 } else {