$couponsReadOnly = $saleModulePermissions < 'W';
}
if (!isset($discountID) || $discountID <= 0 || !isset($couponsAjaxPath) || empty($couponsAjaxPath)) {
    return;
}
if (isset($_REQUEST['mode']) && ($_REQUEST['mode'] == 'list' || $_REQUEST['mode'] == 'frame')) {
    CFile::DisableJSFunction(true);
}
$canViewUserList = $USER->CanDoOperation('view_subordinate_users') || $USER->CanDoOperation('view_all_users') || $USER->CanDoOperation('edit_all_users') || $USER->CanDoOperation('edit_subordinate_users');
Loc::loadMessages(__FILE__);
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/iblock/classes/general/subelement.php';
$adminListTableID = 'tbl_sale_sub_coupons_' . md5($discountID);
$hideFields = array('DISCOUNT_ID');
$adminSort = new CAdminSubSorting($adminListTableID, 'ID', 'ASC', 'by', 'order', $couponsAjaxPath);
$adminList = new CAdminSubList($adminListTableID, $adminSort, $couponsAjaxPath, $hideFields);
$adminList->setDialogParams(array('from_module' => 'sale'));
unset($hideFields);
if (!isset($by)) {
    $by = 'ID';
}
if (!isset($order)) {
    $order = 'ASC';
}
$filter = array('=DISCOUNT_ID' => $discountID);
$filterFields = array('find_discount_id');
$adminList->InitFilter($filterFields);
if (!$couponsReadOnly && $adminList->EditAction()) {
    if (isset($FIELDS) && is_array($FIELDS)) {
        $conn = Application::getConnection();
        Internals\DiscountCouponTable::disableCheckCouponsUse();
        foreach ($FIELDS as $couponID => $fields) {