require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
use Bitrix\Main\Localization\Loc,
Bitrix\Sale\Delivery\Requests,
Bitrix\Sale\Delivery\Services;
Loc::loadMessages(__FILE__);
Bitrix\Main\Loader::includeModule('sale');
/** @var CMain $APPLICATION
* @var CDatabase $DB
*/
$saleModulePermissions = $APPLICATION->GetGroupRight("sale");
if ($saleModulePermissions < "U")
$APPLICATION->AuthForm(Loc::getMessage("SALE_DSE_ACCESS_DENIED"));
$ID = isset($_REQUEST["ID"]) ? intval($_REQUEST["ID"]) : 0;
$tabControlName = "tabControl";
$adminMessages = array();
$fields = array();
if($ID > 0)
{
$res = Requests\RequestTable::getById($ID);
$fields = $res->fetch();
if(!$fields)
{
LocalRedirect('sale_delivery_request_list.php?lang='.LANGUAGE_ID);
}
}
else
{
LocalRedirect('sale_delivery_request_list.php?lang='.LANGUAGE_ID);
}
$aTabs = array(
array(
"DIV" => "edit_main",
"TAB" => Loc::getMessage('SALE_DELIVERY_REQ_VIEW_MAIN'),
"ICON" => "sale",
"TITLE" => Loc::getMessage('SALE_DELIVERY_REQ_VIEW_MAIN_T')
),
array(
"DIV" => "edit_body",
"TAB" => Loc::getMessage('SALE_DELIVERY_REQ_VIEW_CONTENT'),
"ICON" => "sale",
"TITLE" => Loc::getMessage('SALE_DELIVERY_REQ_VIEW_CONTENT_T')
),
array(
"DIV" => "edit_shipments",
"TAB" => Loc::getMessage('SALE_DELIVERY_REQ_VIEW_SHP_LIST'),
"ICON" => "sale",
"TITLE" => Loc::getMessage('SALE_DELIVERY_REQ_VIEW_SHP_LIST_T')
)
);
$tabControl = new CAdminTabControl("tabControl", $aTabs);
$APPLICATION->SetTitle(Loc::getMessage('SALE_DELIVERY_REQ_VIEW_TITLE')." ".($ID > 0 ? " ID: ".$ID : ""));
\Bitrix\Sale\Delivery\Requests\Manager::initJs();
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
\Bitrix\Sale\Internals\Input\Manager::initJs();
$aMenu = array(
array(
"TEXT" => Loc::getMessage('SALE_DELIVERY_REQ_VIEW_TO_LIST'),
"LINK" => "/bitrix/admin/sale_delivery_request_list.php?lang=".LANGUAGE_ID,
"ICON" => "btn_list"
)
);
$delivery = null;
$deliveryId = intval($fields["DELIVERY_ID"]);
if ($ID > 0)
{
$deliveryRequest = null;
$aMenu[] = array("SEPARATOR" => "Y");
if($deliveryId > 0)
$delivery = Services\Manager::getObjectById($deliveryId);
if($delivery)
$deliveryRequest = $delivery->getDeliveryRequestHandler();
if($deliveryRequest)
{
$rTypesMenu = array();
foreach(Requests\Manager::getDeliveryRequestActions($fields['ID']) as $rCode => $rName)
{
$rTypesMenu[] = array(
"TEXT" => $rName,
"LINK" =>"javascript:BX.Sale.Delivery.Request.processRequest({action: 'actionExecute', deliveryId: ".$deliveryId.", requestAction: '".CUtil::JSEscape($rCode)."', requestId: ".$fields['ID'].", lang: '".LANGUAGE_ID."'})"
);
}
if(!empty($rTypesMenu))
$rTypesMenu[] = array("SEPARATOR" => true);
$rTypesMenu[] = array(
"TEXT" => Loc::getMessage('SALE_DELIVERY_REQ_VIEW_DELETE'),
"LINK" => "javascript:if(confirm('".Loc::getMessage('SALE_DELIVERY_REQ_VIEW_DEL_CONFIRM')."')){ window.location=\"/bitrix/admin/sale_delivery_request_list.php?lang=".LANGUAGE_ID."&action=delete&ID=".$ID."&".bitrix_sessid_get()."\"};"
);
$aMenu[] = array(
"TEXT" => Loc::getMessage('SALE_DELIVERY_REQ_VIEW_ACTIONS'),
"LINK" => 'javascript:void(0)',
"MENU" => $rTypesMenu
);
}
}
$deliveryName = !!$delivery ? $delivery->getNameWithParent().' ['.$fields["DELIVERY_ID"].']' : $fields["DELIVERY_ID"];
$contentRes = Requests\Manager::getDeliveryRequestContent($fields['ID']);
$context = new CAdminContextMenu($aMenu);
$context->Show();
if(!empty($adminErrorMessages))
{
$adminMessage = new CAdminMessage(Array(
"DETAILS" => implode("
\n", $adminErrorMessages),
"TYPE" => "ERROR",
"MESSAGE" => Loc::getMessage('SALE_DELIVERY_REQ_VIEW_ERROR'),
"HTML"=>true
));
echo $adminMessage->Show();
}
?>