• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/admin/blocks/ordershipment.php
  • Класс: BitrixSaleHelpersAdminBlocksOrderShipment
  • Вызов: OrderShipment::getViewTemplate
static function getViewTemplate($data, $index, $formType)
{
	global $USER;
	$index++;

	$isUserResponsible = null;
	$isAllowCompany = null;

	if (array_key_exists('IS_USER_RESPONSIBLE', $data))
	{
		$isUserResponsible = $data['IS_USER_RESPONSIBLE'];
	}

	if (array_key_exists('IS_ALLOW_COMPANY', $data))
	{
		$isAllowCompany = $data['IS_ALLOW_COMPANY'];
	}

	if (self::$backUrl !== '')
		$backUrl = self::$backUrl;
	else
		$backUrl = $_SERVER['REQUEST_URI'];

	$allowDeliveryString = ($data['ALLOW_DELIVERY'] == 'Y') ? 'YES' : 'NO';
	$deductedString = ($data['DEDUCTED'] == 'Y') ? 'YES' : 'NO';

	$allowedStatusesDelivery = DeliveryStatus::getStatusesUserCanDoOperations($USER->GetID(), array('delivery'));
	$isAllowDelivery = in_array($data["STATUS_ID"], $allowedStatusesDelivery) && $formType != 'archive' && $formType != 'edit';

	$isActive = ($formType != 'edit' && $formType != 'archive') && !$data['ORDER_LOCKED'];

	$triangle = ($isActive && $isAllowDelivery) ? '' : '';

	if ($data['ALLOW_DELIVERY'] == 'Y')
		$class = ($isActive && $isAllowDelivery) ? '' : 'class="not_active"';
	else
		$class = ($isActive && $isAllowDelivery) ? 'class="notdelivery"' : 'class="notdelivery not_active"';

	$allowDelivery = ''.Loc::getMessage('SALE_ORDER_SHIPMENT_ALLOW_DELIVERY_'.$allowDeliveryString).''.$triangle.'';

	$allowedStatusesDeduction = DeliveryStatus::getStatusesUserCanDoOperations($USER->GetID(), array('deduction'));
	$isAllowDeduction = in_array($data["STATUS_ID"], $allowedStatusesDeduction) && $formType != 'archive' && $formType != 'edit';

	$triangle = ($isActive && $isAllowDeduction) ? '' : '';

	if ($data['DEDUCTED'] == 'Y')
		$class = ($isActive && $isAllowDeduction) ? '' : 'class="not_active"';
	else
		$class = ($isActive && $isAllowDeduction) ? 'class="notdeducted"' : 'class="notdeducted not_active"';
	$deducted = ''.Loc::getMessage('SALE_ORDER_SHIPMENT_DEDUCTED_'.$deductedString).''.$triangle.'';

	$map = ($data['DELIVERY_ID'] > 0) ? self::getMap($data['DELIVERY_ID'], $index, $data['DELIVERY_STORE_ID'], 'view') : '';

	$lang = MainApplication::getInstance()->getContext()->getLanguage();
	$service = null;
	$extraServiceHTML = '';
	$mainLogoPath =  '/bitrix/images/sale/logo-default-d.gif';
	$shortLogoPath =  '/bitrix/images/sale/logo-default-d.gif';

	if (($isAllowCompany !== false || $isUserResponsible !== false) && $data['DELIVERY_ID'] > 0)
	{
		$service = ServicesManager::getObjectById($data['DELIVERY_ID']);
		$extraServiceManager = new BitrixSaleDeliveryExtraServicesManager($data['DELIVERY_ID']);
		$extraServiceManager->setOperationCurrency($data['CURRENCY']);
		if ($data['EXTRA_SERVICES'])
			$extraServiceManager->setValues($data['EXTRA_SERVICES']);

		if ($service && $service->getLogotip() > 0)
		{
			$mainLogo = self::getMainImgPath($service->getLogotip());
			$shortLogo = self::getShortImgPath($service->getLogotip());
			$mainLogoPath = $mainLogo['src'];
			$shortLogoPath = $shortLogo['src'];
		}

		$extraService = $extraServiceManager->getItems();
		if ($extraService)
			$extraServiceHTML = self::getExtraServiceEditControl($extraService, $index, true, self::$shipment);
	}

	$companyList = OrderEdit::getCompanyList();
	$shipmentStatusList = OrderShipmentStatus::getShipmentStatusList($data['STATUS_ID']);
	$jsShipmentStatus = array();
	foreach ($shipmentStatusList as $id => $name)
	{
		$jsShipmentStatus[] = array(
			'ID' => $id,
			'NAME' => htmlspecialcharsbx($name)
		);
	}

	$allowedStatusesFrom = DeliveryStatus::getStatusesUserCanDoOperations($USER->GetID(), array('from'));
	$canChangeStatus = in_array($data["STATUS_ID"], $allowedStatusesFrom) && $formType != 'archive' && $formType != 'edit';
	$triangle = ($isActive && $canChangeStatus) ? '' : '';

	$class = ($isActive && $canChangeStatus) ? '' : 'class="not_active"';
	$shipmentStatus = '' . htmlspecialcharsbx($shipmentStatusList[$data['STATUS_ID']]) . ''.$triangle.'';

	$shippingBlockId = '';
	if(($isAllowCompany !== false || $isUserResponsible !== false) && ($isActive || $data['TRACKING_NUMBER'] <> ''))
	{
		$shippingBlockId = '
								'.Loc::getMessage('SALE_ORDER_SHIPMENT_TRACKING_NUMBER').':
								
									
									'.htmlspecialcharsbx($data['TRACKING_NUMBER']).'';
		if ($isActive)
			$shippingBlockId .= '
'; if($data['HAS_TRACKING'] && $data['TRACKING_NUMBER'] <> '') { $shippingBlockId .= ' '.Loc::getMessage('SALE_ORDER_SHIPMENT_TRACKING_STATUS').': '. ''.(intval($data['TRACKING_STATUS']) >= 0 ? BitrixSaleDeliveryTrackingManager::getStatusName($data['TRACKING_STATUS']) : '-').''. '   ['.Loc::getMessage('SALE_ORDER_SHIPMENT_TRACKING_STATUS_REFRESH').']
'.Loc::getMessage('SALE_ORDER_SHIPMENT_TRACKING_DESCRIPTION').': '.($data['TRACKING_DESCRIPTION'] <> '' ? $data['TRACKING_DESCRIPTION'] : '-').'
'.Loc::getMessage('SALE_ORDER_SHIPMENT_TRACKING_LAST_CHANGE').': '.($data['TRACKING_LAST_CHANGE'] <> '' ? $data['TRACKING_LAST_CHANGE'] : '-').'
'; if(!empty($data['TRACKING_URL'])) { $shippingBlockId .= ' '.Loc::getMessage('SALE_ORDER_SHIPMENT_TRACKING_URL').': '.$data['TRACKING_URL'].'
'; } } } $shippingBlockDocNum = ''; if (($isAllowCompany !== false || $isUserResponsible !== false) && $data['DELIVERY_DOC_NUM'] <> '') { $shippingBlockDocNum = ' '.Loc::getMessage('SALE_ORDER_SHIPMENT_DELIVERY_DOC_NUM').': ' . htmlspecialcharsbx($data['DELIVERY_DOC_NUM']) . ' '; } $shippingBlockDocDate = ''; if (($isAllowCompany !== false || $isUserResponsible !== false) && $data['DELIVERY_DOC_DATE'] <> '') { $shippingBlockDocDate = ' '.Loc::getMessage('SALE_ORDER_SHIPMENT_DELIVERY_DOC_DATE').': ' . htmlspecialcharsbx($data['DELIVERY_DOC_DATE']) . ' '; } $dateInsert = new Date($data['DATE_INSERT']); $checkLink = ''; if ($data['FFD_105_ENABLED'] === 'Y') { $checkLink .= ''; if (!empty($data['CHECK'])) { $checkLink .= OrderShipment::buildCheckHtml($data['CHECK']); } $checkLink .= ""; if($formType != 'archive' && $data['HAS_ENABLED_CASHBOX'] === 'Y' && $data['CAN_PRINT_CHECK'] === 'Y') { $checkLink .= ''.Loc::getMessage('SALE_ORDER_SHIPMENT_CHECK_ADD').''; } } $sectionDelete = ''; $allowedDeliveryStatusesDelete = DeliveryStatus::getStatusesUserCanDoOperations($USER->GetID(), array('delete')); if (in_array($data["STATUS_ID"], $allowedDeliveryStatusesDelete) && !$data['ORDER_LOCKED'] && $formType != 'archive') $sectionDelete = '
'.Loc::getMessage('SALE_ORDER_SHIPMENT_BLOCK_SHIPMENT_DELETE').'
'; $sectionEdit = ''; $allowedOrderStatusesUpdate = DeliveryStatus::getStatusesUserCanDoOperations($USER->GetID(), array('update')); if (in_array($data["STATUS_ID"], $allowedOrderStatusesUpdate) && !$data['ORDER_LOCKED'] && $formType != 'archive') { $sectionEdit = '
'. static::renderShipmentEditLink($data+['backurl'=>$backUrl]). Loc::getMessage('SALE_ORDER_SHIPMENT_BLOCK_SHIPMENT_EDIT').'
'; } $weightView = roundEx( floatval( $data['WEIGHT']/self::getWeightKoef($data['SITE_ID']) ), SALE_WEIGHT_PRECISION )." ".self::getWeightUnit($data['SITE_ID']); $result = '
'.Loc::getMessage('SALE_ORDER_SHIPMENT_BLOCK_EDIT_SHIPMENT_TITLE', array("#ID#" => $data['ID'], '#DATE_INSERT#' => $dateInsert)).'
'.$sectionDelete.$sectionEdit.'
'.Loc::getMessage('SALE_ORDER_SHIPMENT_BLOCK_SHIPMENT_TOGGLE_UP').'
'; $result .= self::getShortViewTemplate($data, $index, $shortLogoPath, $formType); $result .= '
'; $params = array( 'index' => $index, 'canAllow' => $isAllowDelivery, 'canDeduct' => $isAllowDeduction, 'canChangeStatus' => $canChangeStatus, 'id' => (int)$data['ID'], 'extra_service' => array(), 'shipment_statuses' => $jsShipmentStatus, 'isAjax' => true, 'active' => $isActive, 'discounts' => $data["DISCOUNTS"], 'discountsMode' => ($formType == "edit" ? "edit" : "view"), 'templateType' => 'view', 'weightKoef' => self::getWeightKoef($data['SITE_ID']), 'weightUnit' => self::getWeightUnit($data['SITE_ID']) ); $result .= self::initJsShipment($params); return $result; }