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

	$isUserResponsible = null;
	$isAllowCompany = null;
	$link = Link::getInstance();

	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'];
	}

	$psData = self::getPaySystemParams($data['PAY_SYSTEM_ID']);

	if ($isAllowCompany === false)
	{
		$data['PAY_VOUCHER_NUM'] = '';
		$data['PAY_VOUCHER_DATE'] = '';
		$data['PAY_RETURN_NUM'] = '';
		$data['PAY_RETURN_DATE'] = '';
		$data['PS_STATUS'] = '';
	}
	else
	{
		if (isset($psData["LOGOTIP_PATH"]))
		{
			$data['PAY_SYSTEM_LOGOTIP'] = $psData["LOGOTIP_PATH"];
			$data['PAY_SYSTEM_LOGOTIP_SHORT'] = $psData["LOGOTIP_SHORT_PATH"];
		}
	}

	$psResult = '';
	if ($psData['HAVE_RESULT'] == 'Y' && $form != 'edit')
	{
		$psResult .= '   '.Loc::getMessage('SALE_ORDER_PAYMENT_PAY_SYSTEM_CHECK').'';
	}

	$lang = MainApplication::getInstance()->getContext()->getLanguage();
	$paidString = ($data['PAID'] == 'Y') ? 'YES' : 'NO';

	$allowedOrderStatusesPayment = OrderStatus::getStatusesUserCanDoOperations($USER->GetID(), array('payment'));
	$isAllowPayment = in_array($data["STATUS_ID"], $allowedOrderStatusesPayment);

	$isActive = ($form != 'edit' && $form != 'archive') && !$data['ORDER_LOCKED'] && $isAllowPayment;
	$triangle = ($isActive) ? '' : '';

	if ($data['PAID'] == 'Y')
		$class = (!$isActive) ? 'class="not_active"' : '';
	else
		$class = (!$isActive) ? 'class="notpay not_active"' : 'class="notpay"';
	$paymentStatus = ''.Loc::getMessage('SALE_ORDER_PAYMENT_STATUS_'.$paidString).''.$triangle.'';

	$res = CompanyTable::getList(array(
		'select' => array('NAME'),
		'filter' => array('ID' => $data['COMPANY_ID'])
	));
	$company = $res->fetch();

	$paymentStatusBlockVoucherNum = '';
	if ($data['PAY_VOUCHER_NUM'] <> '')
	{
		$paymentStatusBlockVoucherNum = '
									
'.Loc::getMessage('SALE_ORDER_PAYMENT_PAY_VOUCHER_NUM').':
'.htmlspecialcharsbx($data['PAY_VOUCHER_NUM']).' '; } $paymentStatusBlockVoucherDate = ''; if ($data['PAY_VOUCHER_DATE'] <> '') { $paymentStatusBlockVoucherDate = ' '.Loc::getMessage('SALE_ORDER_PAYMENT_PAY_VOUCHER_DATE').':
'.htmlspecialcharsbx($data['PAY_VOUCHER_DATE']).'
'; } $paymentStatusBlockReturnNum = ''; if ($data['PAY_RETURN_NUM'] <> '') { $paymentStatusBlockReturnNum = '
'.Loc::getMessage('SALE_ORDER_PAYMENT_PAY_RETURN_NUM').':
'.htmlspecialcharsbx($data['PAY_RETURN_NUM']).' '; } $paymentStatusBlockReturnDate = ''; if ($data['PAY_RETURN_DATE'] <> '') { $paymentStatusBlockReturnDate = ' '.Loc::getMessage('SALE_ORDER_PAYMENT_PAY_RETURN_DATE').':
'.htmlspecialcharsbx($data['PAY_RETURN_DATE']).'
'; } $dateBill = new Date($data['DATE_BILL']); $allowedOrderStatusesEdit = OrderStatus::getStatusesUserCanDoOperations($USER->GetID(), array('update')); $isAllowEdit = in_array($data["STATUS_ID"], $allowedOrderStatusesEdit) && $form != 'archive'; $sectionEdit = ''; $href = $link ->create() ->setPageByType(Registry::SALE_ORDER_PAYMENT_EDIT) ->setFilterParams(false) ->fill() ->setField('order_id', $data['ORDER_ID']) ->setField('payment_id', $data['ID']) ->setField('backurl', $_SERVER['REQUEST_URI']) ->build(); if ($isAllowEdit && !$data['ORDER_LOCKED']) $sectionEdit = ''; $allowedOrderStatusesDelete = OrderStatus::getStatusesUserCanDoOperations($USER->GetID(), array('delete')); $isAllowDelete = in_array($data["STATUS_ID"], $allowedOrderStatusesDelete) && $form != 'archive'; $sectionDelete = ''; if ($isAllowDelete && !$data['ORDER_LOCKED']) $sectionDelete = '
'.Loc::getMessage('SALE_ORDER_PAYMENT_DELETE').'
'; $checkLink = ''; if (!empty($data['CHECK'])) { $checkLink .= static::buildCheckHtml($data['CHECK']); } $checkLink .= ""; if($form != 'archive' && $data['CAN_PRINT_CHECK'] == 'Y' && $data['HAS_ENABLED_CASHBOX'] === 'Y') { $checkLink .= ''.Loc::getMessage('SALE_ORDER_PAYMENT_CHECK_ADD').''; } if ($isAllowCompany === false && $isUserResponsible === false) { $psName = Loc::getMessage('SALE_ORDER_PAYMENT_HIDDEN'); } else { $psName = htmlspecialcharsbx($data['PAY_SYSTEM_NAME']).' ['.$data['PAY_SYSTEM_ID'].'] '.$psResult; if ($data['HAS_PREVIEW']) { $psName .= " (".Loc::getMessage('SALE_ORDER_PAYMENT_DOC_PREVIEW').")"; } } $result = '
'.$tabTitle = Loc::getMessage('SALE_ORDER_PAYMENT_BLOCK_EDIT_PAYMENT_TITLE', array('#ID#' => $data['ID'], '#DATE_BILL#' => $dateBill)).'
'.$sectionDelete.$sectionEdit.'
'.Loc::getMessage('SALE_ORDER_PAYMENT_TOGGLE_DOWN').'
'.self::getShortViewTemplate($data, $index, $form).'
'; $innerService = PaySystemManager::getObjectById(PaySystemManager::getInnerPaySystemId()); if ($innerService) { $refundablePs = array(Payment::RETURN_INNER => $innerService->getField('NAME')); if ($data['PAY_SYSTEM_ID'] != $innerService->getField('ID')) { $service = PaySystemManager::getObjectById($data['PAY_SYSTEM_ID']); if ($service && $service->isRefundable()) $refundablePs[Payment::RETURN_PS] = $service->getField('NAME'); } } else { $refundablePs = array(); } $params = array( 'index' => $index, 'functionOnSave' => 'sendAjax', 'viewForm' => true, 'isPaid' => ($data['PAID'] == 'Y'), 'isAvailableChangeStatus' => $isActive, 'psToReturn' => $refundablePs ); $result .= self::initJsPayment($params); return $result; }