Esempio n. 1
0
<?php

if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) {
    die;
}
global $APPLICATION;
CCrmComponentHelper::RegisterScriptLink('/bitrix/js/crm/activity.js');
CCrmComponentHelper::RegisterScriptLink('/bitrix/js/crm/interface_grid.js');
if ($arResult['NEED_FOR_REBUILD_DUP_INDEX']) {
    ?>
<div id="rebuildLeadDupIndexMsg" class="crm-view-message">
		<?php 
    echo GetMessage('CRM_LEAD_REBUILD_DUP_INDEX', array('#ID#' => 'rebuildLeadDupIndexLink', '#URL#' => '#'));
    ?>
	</div><?php 
}
if ($arResult['NEED_FOR_REBUILD_LEAD_ATTRS']) {
    ?>
<div id="rebuildLeadAttrsMsg" class="crm-view-message">
		<?php 
    echo GetMessage('CRM_LEAD_REBUILD_ACCESS_ATTRS', array('#ID#' => 'rebuildLeadAttrsLink', '#URL#' => $arResult['PATH_TO_PRM_LIST']));
    ?>
	</div><?php 
}
if (isset($arResult['ERROR_HTML'])) {
    ShowError($arResult['ERROR_HTML']);
}
$currentUserID = $arResult['CURRENT_USER_ID'];
$isInternal = $arResult['INTERNAL'];
$activityEditorID = '';
if (!$isInternal) {
Esempio n. 2
0
											'actionName': '<?php 
                    echo CUtil::JSEscape($actionName);
                    ?>
',
											'dialog': <?php 
                    echo CUtil::PhpToJSObject($dialogSettings);
                    ?>
										}
								);
							}
					);
				</script><?php 
                }
                break;
            case 'crm_client_selector':
                CCrmComponentHelper::RegisterScriptLink('/bitrix/js/crm/crm.js');
                $params = isset($field['componentParams']) ? $field['componentParams'] : array();
                if (!empty($params)) {
                    $entityID = $inputValue = isset($params['INPUT_VALUE']) ? $params['INPUT_VALUE'] : '';
                    $entityType = isset($params['ENTITY_TYPE']) ? $params['ENTITY_TYPE'] : '';
                    switch (substr($entityID, 0, 2)) {
                        case 'C_':
                            $valEntityType = 'contact';
                            break;
                        case 'CO':
                            $valEntityType = 'company';
                            break;
                        default:
                            $valEntityType = '';
                    }
                    $entityID = intval(substr($entityID, intval(strpos($entityID, '_')) + 1));
Esempio n. 3
0
    $jsCoreInit[] = 'uploader';
    $jsCoreInit[] = 'file_dialog';
}
CJSCore::Init($jsCoreInit);
if ($arResult['ENABLE_DISK']) {
    CCrmComponentHelper::RegisterScriptLink('/bitrix/js/crm/disk_uploader.js');
    $APPLICATION->SetAdditionalCSS('/bitrix/components/bitrix/disk.uf.file/templates/.default/style.css');
}
if ($arResult['ENABLE_WEBDAV']) {
    $APPLICATION->SetAdditionalCSS('/bitrix/components/bitrix/webdav/templates/.default/style.css');
    $APPLICATION->SetAdditionalCSS('/bitrix/components/bitrix/webdav.user.field/templates/.default/style.css');
    $APPLICATION->SetAdditionalCSS('/bitrix/js/webdav/css/file_dialog.css');
    CCrmComponentHelper::RegisterScriptLink('/bitrix/js/main/core/core_dd.js');
    CCrmComponentHelper::RegisterScriptLink('/bitrix/js/main/file_upload_agent.js');
    CCrmComponentHelper::RegisterScriptLink('/bitrix/js/webdav/file_dialog.js');
    CCrmComponentHelper::RegisterScriptLink('/bitrix/js/crm/webdav_uploader.js');
}
$elementID = isset($arResult['ELEMENT']['ID']) ? $arResult['ELEMENT']['ID'] : 0;
$arResult['CRM_CUSTOM_PAGE_TITLE'] = GetMessage($elementID > 0 ? 'CRM_QUOTE_SHOW_TITLE' : 'CRM_QUOTE_SHOW_NEW_TITLE', array('#QUOTE_NUMBER#' => !empty($arResult['ELEMENT']['QUOTE_NUMBER']) ? $arResult['ELEMENT']['QUOTE_NUMBER'] : '-', '#BEGINDATE#' => !empty($arResult['ELEMENT']['BEGINDATE']) ? CCrmComponentHelper::TrimDateTimeString(ConvertTimeStamp(MakeTimeStamp($arResult['ELEMENT']['BEGINDATE']), 'SHORT', SITE_ID)) : '-'));
$arTabs = array();
$arTabs[] = array('id' => 'tab_1', 'name' => GetMessage('CRM_TAB_1'), 'title' => GetMessage('CRM_TAB_1_TITLE'), 'icon' => '', 'fields' => $arResult['FIELDS']['tab_1']);
$productFieldset = array();
foreach ($arTabs[0]['fields'] as $k => &$field) {
    if ($field['id'] === 'section_product_rows') {
        $productFieldset['NAME'] = $field['name'];
        unset($arTabs[0]['fields'][$k]);
    }
    if ($field['id'] === 'PRODUCT_ROWS') {
        $productFieldset['HTML'] = $field['value'];
        unset($arTabs[0]['fields'][$k]);
        break;
Esempio n. 4
0
 public static function RenderProgressControl($arParams)
 {
     if (!is_array($arParams)) {
         return '';
     }
     CCrmComponentHelper::RegisterScriptLink('/bitrix/js/crm/progress_control.js');
     $entityTypeName = isset($arParams['ENTITY_TYPE_NAME']) ? $arParams['ENTITY_TYPE_NAME'] : '';
     $leadTypeName = CCrmOwnerType::ResolveName(CCrmOwnerType::Lead);
     $dealTypeName = CCrmOwnerType::ResolveName(CCrmOwnerType::Deal);
     $invoiceTypeName = CCrmOwnerType::ResolveName(CCrmOwnerType::Invoice);
     $quoteTypeName = CCrmOwnerType::ResolveName(CCrmOwnerType::Quote);
     $infos = isset($arParams['INFOS']) ? $arParams['INFOS'] : null;
     if (!is_array($infos) || empty($infos)) {
         if ($entityTypeName === $leadTypeName) {
             if (!self::$LEAD_STATUSES) {
                 self::$LEAD_STATUSES = CCrmStatus::GetStatus('STATUS');
             }
             $infos = self::$LEAD_STATUSES;
         } elseif ($entityTypeName === $dealTypeName) {
             if (!self::$DEAL_STAGES) {
                 self::$DEAL_STAGES = CCrmStatus::GetStatus('DEAL_STAGE');
             }
             $infos = self::$DEAL_STAGES;
         } elseif ($entityTypeName === $quoteTypeName) {
             if (!self::$QUOTE_STATUSES) {
                 self::$QUOTE_STATUSES = CCrmStatus::GetStatus('QUOTE_STATUS');
             }
             $infos = self::$QUOTE_STATUSES;
         } elseif ($entityTypeName === $invoiceTypeName) {
             if (!self::$INVOICE_STATUSES) {
                 self::$INVOICE_STATUSES = CCrmStatus::GetStatus('INVOICE_STATUS');
             }
             $infos = self::$INVOICE_STATUSES;
         }
     }
     if (!is_array($infos) || empty($infos)) {
         return '';
     }
     $registerSettings = isset($arParams['REGISTER_SETTINGS']) && is_bool($arParams['REGISTER_SETTINGS']) ? $arParams['REGISTER_SETTINGS'] : false;
     $registrationScript = '';
     if ($registerSettings) {
         if ($entityTypeName === $leadTypeName) {
             $registrationScript = self::RenderLeadStatusSettings();
         } elseif ($entityTypeName === $dealTypeName) {
             $registrationScript = self::RenderDealStageSettings();
         } elseif ($entityTypeName === $quoteTypeName) {
             $registrationScript = self::RenderQuoteStatusSettings();
         } elseif ($entityTypeName === $invoiceTypeName) {
             $registrationScript = self::RenderInvoiceStatusSettings();
         }
     }
     $finalID = isset($arParams['FINAL_ID']) ? $arParams['FINAL_ID'] : '';
     if ($finalID === '') {
         if ($entityTypeName === $leadTypeName) {
             $finalID = 'CONVERTED';
         } elseif ($entityTypeName === $dealTypeName) {
             $finalID = 'WON';
         } elseif ($entityTypeName === $quoteTypeName) {
             $finalID = 'APPROVED';
         } elseif ($entityTypeName === $invoiceTypeName) {
             $finalID = 'P';
         }
     }
     $finalUrl = isset($arParams['FINAL_URL']) ? $arParams['FINAL_URL'] : '';
     if ($finalUrl === '' && $entityTypeName === $leadTypeName) {
         $arParams['FINAL_URL'] = isset($arParams['LEAD_CONVERT_URL']) ? $arParams['LEAD_CONVERT_URL'] : '';
     }
     $currentInfo = null;
     $currentID = isset($arParams['CURRENT_ID']) ? $arParams['CURRENT_ID'] : '';
     if ($currentID !== '' && isset($infos[$currentID])) {
         $currentInfo = $infos[$currentID];
     }
     $currentSort = is_array($currentInfo) && isset($currentInfo['SORT']) ? intval($currentInfo['SORT']) : -1;
     $finalInfo = null;
     if ($finalID !== '' && isset($infos[$finalID])) {
         $finalInfo = $infos[$finalID];
     }
     $finalSort = is_array($finalInfo) && isset($finalInfo['SORT']) ? intval($finalInfo['SORT']) : -1;
     $isSuccessful = $currentSort === $finalSort;
     $isFailed = $currentSort > $finalSort;
     $stepHtml = '';
     foreach ($infos as &$info) {
         $ID = isset($info['STATUS_ID']) ? $info['STATUS_ID'] : '';
         $sort = isset($info['SORT']) ? intval($info['SORT']) : 0;
         if ($sort > $finalSort) {
             break;
         }
         $stepHtml .= '<td class="crm-list-stage-bar-part';
         if ($sort <= $currentSort) {
             $stepHtml .= ' crm-list-stage-passed';
         }
         $stepHtml .= '"><div class="crm-list-stage-bar-block  crm-stage-' . htmlspecialcharsbx(strtolower($ID)) . '"><div class="crm-list-stage-bar-btn"></div></div></td>';
     }
     unset($info);
     $wrapperClass = '';
     if ($isSuccessful) {
         $wrapperClass = ' crm-list-stage-end-good';
     } elseif ($isFailed) {
         $wrapperClass = ' crm-list-stage-end-bad';
     }
     $prefix = isset($arParams['PREFIX']) ? $arParams['PREFIX'] : '';
     $entityID = isset($arParams['ENTITY_ID']) ? intval($arParams['ENTITY_ID']) : 0;
     $controlID = isset($arParams['CONTROL_ID']) ? $arParams['CONTROL_ID'] : '';
     if ($controlID === '') {
         $controlID = $entityTypeName !== '' && $entityID > 0 ? "{$prefix}{$entityTypeName}_{$entityID}" : uniqid($prefix);
     }
     $isReadOnly = isset($arParams['READ_ONLY']) ? (bool) $arParams['READ_ONLY'] : false;
     $legendContainerID = isset($arParams['LEGEND_CONTAINER_ID']) ? $arParams['LEGEND_CONTAINER_ID'] : '';
     $displayLegend = $legendContainerID === '' && (!isset($arParams['DISPLAY_LEGEND']) || $arParams['DISPLAY_LEGEND']);
     $legendHtml = '';
     if ($displayLegend) {
         $legendHtml = '<div class="crm-list-stage-bar-title">' . htmlspecialcharsbx(isset($infos[$currentID]) && isset($infos[$currentID]['NAME']) ? $infos[$currentID]['NAME'] : $currentID) . '</div>';
     }
     return $registrationScript . '<div class="crm-list-stage-bar' . $wrapperClass . '" id="' . htmlspecialcharsbx($controlID) . '"><table class="crm-list-stage-bar-table"><tr>' . $stepHtml . '</tr></table>' . '<script type="text/javascript">BX.ready(function(){ BX.CrmProgressControl.create("' . CUtil::JSEscape($controlID) . '"' . ', BX.CrmParamBag.create({"containerId": "' . CUtil::JSEscape($controlID) . '"' . ', "entityType":"' . CUtil::JSEscape($entityTypeName) . '"' . ', "entityId":"' . CUtil::JSEscape($entityID) . '"' . ', "legendContainerId":"' . CUtil::JSEscape($legendContainerID) . '"' . ', "serviceUrl":"' . (isset($arParams['SERVICE_URL']) ? CUtil::JSEscape($arParams['SERVICE_URL']) : '') . '"' . ', "finalUrl":"' . (isset($arParams['FINAL_URL']) ? CUtil::JSEscape($arParams['FINAL_URL']) : '') . '"' . ', "finalScript":"' . (isset($arParams['FINAL_SCRIPT']) ? CUtil::JSEscape($arParams['FINAL_SCRIPT']) : '') . '"' . ', "currentStepId":"' . CUtil::JSEscape($currentID) . '"' . ', "readOnly":' . ($isReadOnly ? 'true' : 'false') . ' }));});</script>' . '</div>' . $legendHtml;
 }