public function getTopPanelItems(): array
{
$items = [
[
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_PANEL'),
'URL' => '/saleshub/',
'URL_CONSTANT' => true,
'SORT' => 10,
]
];
$dealsLink = CrmManager::getInstance()->getDealsLink();
if($dealsLink)
{
$items[] = [
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_DEAL'),
'URL' => $dealsLink,
'URL_CONSTANT' => true,
'SORT' => 20,
'ON_CLICK' => 'BX.Salescenter.Manager.openSlider(''.$dealsLink.'');',
];
}
if (CCrmSaleHelper::isWithOrdersMode())
{
$ordersList = '/shop/orders/list/';
$items[] = [
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_ORDER'),
'URL' => $ordersList,
'URL_CONSTANT' => true,
'SORT' => 30,
'ON_CLICK' => 'BX.Salescenter.Manager.openSlider(''.$ordersList.'');',
];
}
$contactsLink = CrmManager::getInstance()->getContactsLink();
if($contactsLink)
{
$items[] = [
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_CONTACT'),
'URL' => $contactsLink,
'URL_CONSTANT' => true,
'SORT' => 40,
'ON_CLICK' => 'BX.Salescenter.Manager.openSlider(''.$contactsLink.'');',
];
}
$pages = CrmManager::getInstance()->getSaleAdminPages();
if(empty($pages))
{
return $items;
}
if(isset($pages['catalog']))
{
$items[] = [
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_CATALOG'),
'URL' => $pages['catalog'],
'URL_CONSTANT' => true,
'SORT' => 50,
'ON_CLICK' => 'window.open(''.$pages['catalog'].'', '_blank');',
];
}
$cashboxCheckUrl = $pages['sale_cashbox_check'];
$checkCorrectionCheckUrl = $pages['sale_cashbox_correction'];
$cashboxOnClick = 'window.open(''.$cashboxCheckUrl.'', '_blank');';
$checkCorrectionOnClick = 'window.open(''.$checkCorrectionCheckUrl.'', '_blank');';
if(SaleManager::getInstance()->isFullAccess() && $this->isCashboxEnabled())
{
$subItems = [
[
'ID' => 'check_list',
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_CHECK'),
'PARENT_ID' => 'cashbox_check',
'URL_CONSTANT' => true,
'SORT' => 60,
'ON_CLICK' => $cashboxOnClick,
]
];
if (CheckManager::isAvailableCorrection())
{
$subItems[] = [
'ID' => 'correction',
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_CHECK_CORRECTION'),
'PARENT_ID' => 'cashbox_check',
'URL_CONSTANT' => true,
'SORT' => 70,
'ON_CLICK' => $checkCorrectionOnClick,
];
}
$items[] = [
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_CHECK_BLOCK'),
'ID' => 'cashbox_check',
'PARENT_ID' => '',
'SORT' => 70,
'ITEMS' => $subItems
];
}
$taxesItems = [];
if (isset($pages['cat_vat_admin']))
{
$taxesItems = [
[
'ID' => 'cat_vat_admin',
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_TAXES_VAT_RATES'),
'PARENT_ID' => 'taxes',
'SORT' => 90,
'ON_CLICK' => 'window.open(''.$pages['cat_vat_admin'].'', '_blank');',
],
];
}
if($this->isExtendedTaxesSettingsEnabled())
{
if (isset($pages['sale_tax']))
{
$taxesItems[] = [
'ID' => 'sale_tax',
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_TAXES_LIST'),
'PARENT_ID' => 'taxes',
'SORT' => 100,
'ON_CLICK' => 'window.open(''.$pages['sale_tax'].'', '_blank');',
];
}
if (isset($pages['sale_tax_rate']))
{
$taxesItems[] = [
'ID' => 'sale_tax_rate',
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_TAXES_RATES'),
'PARENT_ID' => 'taxes',
'SORT' => 110,
'ON_CLICK' => 'window.open(''.$pages['sale_tax_rate'].'', '_blank');',
];
}
if (isset($pages['sale_tax_exempt']))
{
$taxesItems[] = [
'ID' => 'sale_tax_exempt',
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_TAXES_EXEMPT'),
'PARENT_ID' => 'taxes',
'SORT' => 120,
'ON_CLICK' => 'window.open(''.$pages['sale_tax_exempt'].'', '_blank');',
];
}
}
$settingsItems = [];
if (!empty($taxesItems))
{
$settingsItems[] = [
'ID' => 'taxes',
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_TAXES'),
'PARENT_ID' => 'settings',
'SORT' => 80,
'ITEMS' => $taxesItems,
];
}
$pricesItems = [];
if (isset($pages['cat_group_admin']))
{
$pricesItems[] = [
'ID' => 'cat_group_admin',
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_PRICES_TYPE'),
'PARENT_ID' => 'prices',
'SORT' => 140,
'ON_CLICK' => 'window.open(''.$pages['cat_group_admin'].'', '_blank');',
];
}
if (isset($pages['cat_round_list']))
{
$pricesItems[] = [
'ID' => 'cat_round_list',
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_PRICES_ROUND'),
'PARENT_ID' => 'prices',
'SORT' => 150,
'ON_CLICK' => 'window.open(''.$pages['cat_round_list'].'', '_blank');',
];
}
if (isset($pages['cat_extra']))
{
$pricesItems[] = [
'ID' => 'cat_extra',
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_PRICES_EXTRA'),
'PARENT_ID' => 'prices',
'SORT' => 160,
'ON_CLICK' => 'window.open(''.$pages['cat_extra'].'', '_blank');',
];
}
if (!empty($pricesItems))
{
$settingsItems[] = [
'ID' => 'prices',
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_PRICES'),
'PARENT_ID' => 'settings',
'SORT' => 130,
'ITEMS' => $pricesItems,
];
}
if (isset($pages['cat_measure_list']))
{
$settingsItems[] = [
'ID' => 'cat_measure_list',
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_MEASURE_RATES'),
'PARENT_ID' => 'settings',
'SORT' => 170,
'ON_CLICK' => 'window.open(''.$pages['cat_measure_list'].'', '_blank');',
];
}
if (!empty($settingsItems))
{
$items[] = [
'TEXT' => Loc::getMessage('SALESCENTER_DRIVER_TOP_PANEL_SETTINGS'),
'ID' => 'settings',
'PARENT_ID' => '',
'SORT' => 70,
'ITEMS' => $settingsItems,
];
}
return $items;
}