$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) {