%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/sale/lib/helpers/admin/blocks/ |
Current File : //home/bitrix/www/bitrix/modules/sale/lib/helpers/admin/blocks/orderfinanceinfo.php |
<?php namespace Bitrix\Sale\Helpers\Admin\Blocks; use Bitrix\Main\Localization\Loc; use Bitrix\Sale\Order; Loc::loadMessages(__FILE__); class OrderFinanceInfo { public static function getView(Order $order, $useCurrentBudget = true) { $data = self::prepareData($order); $result = '<div class="adm-bus-pay"> <div class="adm-bus-component-content-container"> <div class="adm-bus-pay-section"> <div class="adm-bus-pay-section-content posr"> <input type="hidden" value="'.$data['PRICE'].'" id="sale-order-financeinfo-price"> <input type="hidden" value="'.$data['SUM_PAID'].'" id="sale-order-financeinfo-sum-paid"> <input type="hidden" value="'.$data['PAYABLE'].'" id="sale-order-financeinfo-payable"> <table class="adm-bus-pay-statuspay " '.(isset($data['OVERPAYMENT']) ? 'style="width: 1000px"' : '').'> <thead> <tr> <td>'.Loc::getMessage('SALE_ORDER_FINANCEINFO_FOR_PAYMENT').'</td> <td class="separator"></td> <td style="color: #749511;">'.Loc::getMessage('SALE_ORDER_FINANCEINFO_SUM_PAID').'</td> <td class="separator"></td> <td style="color: #f29129;">'.Loc::getMessage('SALE_ORDER_FINANCEINFO_PAYABLE').'</td> </tr> </thead> <tbody> <tr> <td id="sale-order-financeinfo-price-view">'.SaleFormatCurrency(floatval($data['PRICE']), $data['CURRENCY']).'</td> <td class="separator"></td> <td id="sale-order-financeinfo-sum-paid-view">'.SaleFormatCurrency(floatval($data['SUM_PAID']), $data['CURRENCY']).'</td> <td class="separator"></td> <td id="sale-order-financeinfo-payable-view">'.SaleFormatCurrency(floatval($data['PAYABLE']), $data['CURRENCY']).'</td> </tr> </tbody> </table> </div> </div> <div class="adm-bus-pay-section"'.(floatval($data['BUYER_BUDGET']) <= 0 ? ' style="display:none;"' : '').'> <input id="sale-order-financeinfo-user-budget-input" type="hidden" value="'.floatval($data['BUYER_BUDGET']).'"> <div class="adm-bus-pay-section-content posr"> <div class="adm-bus-pay-wallet"> '.Loc::getMessage('SALE_ORDER_FINANCEINFO_BALANCE_INNER_BUDGET').': <strong id="sale-order-financeinfo-user-budget">' . SaleFormatCurrency($data['BUYER_BUDGET'], $data['CURRENCY']) . '</strong>'; if ($useCurrentBudget) $result .= '<span class="adm-bus-pay-use-current-budget" onclick="BX.Sale.Admin.GeneralPayment.useCurrentBudget(this);">'.Loc::getMessage('SALE_ORDER_FINANCEINFO_USE_INNER_BUDGET').'</span>'; $result .= '</div> </div> </div> </div> </div>'; return $result; } public static function prepareData(Order $order) { $currencyBudget = 0; if ($order->getUserId() > 0) { $res = \CSaleUserAccount::getList( array(), array( 'USER_ID' => $order->getUserId(), 'CURRENCY' => $order->getCurrency(), 'LOCKED' => 'N' ), false, false, array( 'CURRENT_BUDGET' ) ); $userAccount = $res->Fetch(); $currencyBudget = $userAccount['CURRENT_BUDGET']; } $payable = $order->getPrice() - $order->getSumPaid(); $price = $order->getPrice(); $sumPaid = $order->getSumPaid(); $data = array( 'PRICE' => ($price) ? $price : 0, 'SUM_PAID' => ($sumPaid) ? $sumPaid : 0, 'PAYABLE' => ($payable >= 0) ? $payable : 0, 'CURRENCY' => $order->getCurrency(), 'BUYER_BUDGET' => $currencyBudget, 'STATUS_ID' => $order->getField('STATUS_ID') ); return $data; } public static function getScripts() { \Bitrix\Main\Page\Asset::getInstance()->addJs("/bitrix/js/sale/admin/order_financeinfo.js"); return ' <script type="text/javascript"> BX.ready(function(){ BX.Sale.Admin.OrderEditPage.registerFieldsUpdaters( BX.Sale.Admin.FinanceInfo.getFieldsUpdaters() ); }); </script> '; } }