Beispiel #1
0
$arResult['WORKFLOW_TEMPLATE_NAME'] = $arState["TEMPLATE_NAME"];
$runtime = CBPRuntime::GetRuntime();
$runtime->StartRuntime();
$documentService = $runtime->GetService("DocumentService");
$arResult['DOCUMENT_ICON'] = $documentService->getDocumentIcon($arResult['TASK']['PARAMETERS']['DOCUMENT_ID']);
if (empty($arResult['TASK']['DOCUMENT_NAME'])) {
    $arResult['TASK']['DOCUMENT_NAME'] = htmlspecialcharsbx($documentService->getDocumentName($arResult['TASK']['PARAMETERS']['DOCUMENT_ID']));
}
if ($arResult["ShowMode"] != "Success") {
    try {
        $documentType = $documentService->GetDocumentType($arResult["TASK"]["PARAMETERS"]["DOCUMENT_ID"]);
        if (!array_key_exists("BP_AddShowParameterInit_" . $documentType[0] . "_" . $documentType[1] . "_" . $documentType[2], $GLOBALS)) {
            $GLOBALS["BP_AddShowParameterInit_" . $documentType[0] . "_" . $documentType[1] . "_" . $documentType[2]] = 1;
            CBPDocument::AddShowParameterInit($documentType[0], "only_users", $documentType[2], $documentType[1]);
        }
        // deprecated old style
        list($arResult["TaskForm"], $arResult["TaskFormButtons"]) = CBPDocument::ShowTaskForm($arResult["TASK"], $arParams["USER_ID"], "", $_SERVER["REQUEST_METHOD"] == "POST" && $_POST["action"] == "doTask" ? $_REQUEST : null);
        // new style
        $arResult['TaskControls'] = CBPDocument::getTaskControls($arResult["TASK"]);
    } catch (Exception $e) {
        ShowError(GetMessage("BPAT_NO_ACCESS"));
        return false;
    }
}
$this->IncludeComponentTemplate();
if ($arParams["SET_TITLE"] == "Y") {
    $APPLICATION->SetTitle(GetMessage("BPAT_TITLE"));
}
if ($arParams["SET_NAV_CHAIN"] == "Y") {
    $APPLICATION->AddChainItem(GetMessage("BPAT_TITLE"));
}
Beispiel #2
0
 $record['data']["NAME"] = '<span class="bp-task"><a href="#" onclick="' . $popupJs . '" title="' . $record['data']["NAME"] . '">' . $record['data']["NAME"] . '</a></span>';
 if ($record['data']['IS_MY']) {
     if ($record['data']['USER_STATUS'] > CBPTaskUserStatus::Waiting) {
         switch ($record['data']['USER_STATUS']) {
             case CBPTaskUserStatus::Yes:
                 $record['data']["NAME"] .= '<span class="bp-status-ready">' . GetMessage('BPATL_USER_STATUS_YES') . '</span>';
                 break;
             case CBPTaskUserStatus::No:
                 $record['data']["NAME"] .= '<span class="bp-status-cancel">' . GetMessage('BPATL_USER_STATUS_NO') . '</span>';
                 break;
             default:
                 $record['data']["NAME"] .= '<span class="bp-status-ready">' . GetMessage('BPATL_USER_STATUS_OK') . '</span>';
         }
     } elseif ($record['data']['IS_INLINE'] == 'Y') {
         $record['data']["NAME"] .= '<div class="bp-btn-panel">';
         $controls = CBPDocument::getTaskControls($record['data']);
         foreach ($controls['BUTTONS'] as $control) {
             $class = $control['TARGET_USER_STATUS'] == CBPTaskUserStatus::No ? 'decline' : 'accept';
             $props = CUtil::PhpToJSObject(array('TASK_ID' => $record['data']['ID'], $control['NAME'] => $control['VALUE']));
             $record['data']["NAME"] .= '<a href="#" onclick="return BX.Bizproc.doInlineTask(' . $props . ', function(){window[\'bxGrid_' . $arResult["GRID_ID"] . '\'].Reload()}, this)" class="bp-button bp-button bp-button-' . $class . '"><span class="bp-button-icon"></span><span class="bp-button-text">' . $control['TEXT'] . '</span></a>';
         }
         $record['data']["NAME"] .= '</div>';
     } else {
         $anchor = '<a href="#" class="bp-button bp-button bp-button-blue" onclick="' . $popupJs . '">' . GetMessage("BPATL_BEGIN") . '</a>';
         // @TODO: support RequestInformationActivity in popup mode
         if ($record['data']['ACTIVITY'] == 'RequestInformationActivity') {
             $anchor = '<a href="' . $record['data']['URL']['TASK'] . '" class="bp-button bp-button bp-button-blue">' . GetMessage("BPATL_BEGIN") . '</a>';
         }
         $record['data']["NAME"] .= '<div class="bp-btn-panel">' . $anchor . '</div>';
     }
 } else {
Beispiel #3
0
}
if (!CModule::IncludeModule('bizproc')) {
    return false;
}
if (!$GLOBALS['USER']->IsAuthorized()) {
    return false;
}
$arParams['WORKFLOW_ID'] = empty($arParams['WORKFLOW_ID']) ? $_REQUEST['WORKFLOW_ID'] : $arParams['WORKFLOW_ID'];
if (!$arParams['WORKFLOW_ID']) {
    return false;
}
$arResult['TASKS'] = CBPViewHelper::getWorkflowTasks($arParams['WORKFLOW_ID'], true, true);
$arResult['WORKFLOW_STATE_INFO'] = CBPStateService::getWorkflowStateInfo($arParams['WORKFLOW_ID']);
$arResult['USER_ID'] = (int) $GLOBALS['USER']->GetId();
if (!empty($arResult['TASKS']['RUNNING'])) {
    foreach ($arResult['TASKS']['RUNNING'] as &$t) {
        if ($t['IS_INLINE'] == 'Y') {
            $controls = CBPDocument::getTaskControls($t);
            $t['BUTTONS'] = $controls['BUTTONS'];
        }
        if (isset($t['PARAMETERS']['AccessControl']) && $t['PARAMETERS']['AccessControl'] == 'Y') {
            $t['DESCRIPTION'] = '';
        }
    }
}
$arResult['noWrap'] = isset($arParams['NOWRAP']) && $arParams['NOWRAP'] == 'Y';
ob_start();
$this->IncludeComponentTemplate();
$message = ob_get_contents();
ob_end_clean();
return array('MESSAGE' => $arResult['noWrap'] ? $message : htmlspecialcharsEx($message), 'CACHED_JS_PATH' => '/bitrix/js/bizproc/tools.js', "CACHED_CSS_PATH" => array($this->getTemplate()->GetFolder() . "/style.css", '/bitrix/components/bitrix/bizproc.workflow.faces/templates/.default/style.css'));