GetGroupRight("sale"); if ($saleModulePermissions == "D") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); IncludeModuleLangFile(__FILE__); CUtil::InitJSCore(); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/lib/helpers/admin/orderedit.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/lib/helpers/admin/formrecovery.php"); Asset::getInstance()->addCss('/bitrix/themes/.default/sale.css'); /** @var null|\Bitrix\Sale\Order $saleOrder */ $saleOrder = null; $request = Application::getInstance()->getContext()->getRequest(); $lang = Application::getInstance()->getContext()->getLanguage(); $siteId = Application::getInstance()->getContext()->getSite(); $orderId = intval($request->get('order_id')); $paymentId = intval($request->get('payment_id')); $new = $paymentId <= 0; $tableId = "order_payment_edit_info"; $backUrl = $request->get('backurl'); if($orderId <= 0 || !($saleOrder = Bitrix\Sale\Order::load($orderId))) LocalRedirect("/bitrix/admin/sale_order.php?lang=".$lang.GetFilterParams("filter_", false)); $payment = null; $errors = array(); $fields = array(); if ($request->get('delete') == 'Y' && check_bitrix_sessid()) { $paymentCollection = $saleOrder->getPaymentCollection(); $payment = $paymentCollection->getItemById($paymentId); if ($payment) { $delResult = $payment->delete(); if (!$delResult->isSuccess()) { $errors = $delResult->getErrorMessages(); } else { $result = $saleOrder->save(); if ($result->isSuccess()) { if ($backUrl) LocalRedirect($backUrl); else LocalRedirect('/bitrix/admin/sale_order_payment.php?lang=' . $lang . GetFilterParams('filter_', false)); } else { $errors = $result->getErrorMessages(); } } } } if ($request->isPost() && check_bitrix_sessid() && $request->get('update')) { /** * @var $result \Bitrix\Main\Entity\Result; */ $result = \Bitrix\Sale\Helpers\Admin\Blocks\OrderPayment::updateData($saleOrder, $request->get('PAYMENT')); $data = $result->getData(); $payment = array_shift($data['PAYMENT']); if ($result->isSuccess()) { $saveResult = $saleOrder->save(); if ($saveResult->isSuccess()) { $paymentId = $payment->getId(); if (strlen($request->getPost("apply")) == 0) if ($backUrl) LocalRedirect($backUrl); else LocalRedirect('/bitrix/admin/sale_order_payment.php?lang='.$lang.GetFilterParams('filter_', false)); else LocalRedirect("/bitrix/admin/sale_order_payment_edit.php?lang=".$lang."&order_id=".$orderId."&payment_id=".$paymentId."&backurl=".urlencode($backUrl).GetFilterParams("filter_", false)); } else { $errors = $saveResult->getErrorMessages(); } } else { $errors = $result->getErrorMessages(); } } else { if ($paymentId > 0) $payment = $saleOrder->getPaymentCollection()->getItemById($paymentId); else $payment = $saleOrder->getPaymentCollection()->createItem(); } $companyParams = array( 'select' => array('ID', 'NAME') ); if ($paymentId) $title = str_replace("#ID#", $paymentId, GetMessage("EDIT_ORDER_PAYMENT")); else $title = GetMessage("NEW_ORDER_PAYMENT"); $APPLICATION->SetTitle($title); if ($paymentId > 0) { global $entity; $entity = array( 'ENTITY' => 'PAYMENT', 'ENTITY_ID' => $paymentId ); $_GET['ID'] = $orderId; ob_start(); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/admin/order_history.php"); $historyContent = ob_get_contents(); ob_end_clean(); } require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); $aMenu = array(); $aMenu[] = array( "ICON" => "btn_list", "TEXT" => Loc::getMessage("SOPE_PAYMENT_TRANSITION"), "TITLE"=> Loc::getMessage("SOPE_PAYMENT_TRANSITION_TITLE"), "LINK" => "/bitrix/admin/sale_order_view.php?ID=".$orderId."&lang=".$lang.GetFilterParams("filter_") ); if (!$new) { $aMenu[] = array( "TEXT" => Loc::getMessage("SOPE_PAYMENT_DELETE"), "TITLE" => Loc::getMessage("SOPE_PAYMENT_DELETE_TITLE"), "LINK" => "javascript:void(0)", "ONCLICK" => "if(confirm('".Loc::getMessage('SOPE_PAYMENT_DELETE_MESSAGE')."')) window.location.href='/bitrix/admin/sale_order_payment_edit.php?order_id=".$orderId."&payment_id=".$paymentId."&delete=Y&".bitrix_sessid_get()."&lang=".LANGUAGE_ID.GetFilterParams("filter_")."'" ); } $aMenu[] = array( "TEXT" => Loc::getMessage("SOPE_PAYMENT_LIST"), "TITLE"=> Loc::getMessage("SOPE_PAYMENT_LIST_TITLE"), "LINK" => "/bitrix/admin/sale_order_payment.php?lang=".$lang.GetFilterParams("filter_") ); $context = new CAdminContextMenu($aMenu); $context->Show(); if(!empty($errors)) CAdminMessage::ShowMessage(implode("
\n", $errors)); $aTabs = array( array("DIV" => "tab_order", "TAB" => GetMessage("SOP_TAB_PAYMENT"), "SHOW_WRAP" => "N", "IS_DRAGGABLE" => "Y") ); if ($paymentId > 0) { $aTabs[] = array("DIV" => "tab_history", "TAB" => GetMessage("SOP_TAB_HISTORY"), "TITLE" => GetMessage("SOP_TAB_HISTORY")); $aTabs[] = array("DIV" => "tab_analysis", "TAB" => GetMessage("SOP_TAB_ANALYSIS"), "TITLE" => GetMessage("SOP_TAB_ANALYSIS")); } ?>