3namespace Bitrix\Iblock\Grid\Row\Actions\Item;
5use Bitrix\Iblock\Grid\Access\IblockRightsChecker;
6use Bitrix\Main\AccessDeniedException;
7use Bitrix\Main\Application;
8use Bitrix\Main\DB\SqlQueryException;
10use Bitrix\Main\HttpRequest;
11use Bitrix\Main\Localization\Loc;
12use Bitrix\Main\Result;
20 public static function getId(): ?string
22 return 'delete_section';
27 $this->rights = $rights;
32 return Loc::getMessage(
'IBLOCK_GRID_ROW_ACTIONS_DELETE_SECTION_NAME');
37 $id = (int)($rawFields[
'ID'] ?? 0);
44 $data = CUtil::PhpToJSObject([
47 $confirmMessage = \CUtil::JSEscape(
48 Loc::getMessage(
'IBLOCK_GRID_ROW_ACTIONS_DELETE_SECTION_CONFIRM_MESSAGE')
51 $confirmButtonMessage = \CUtil::JSEscape(
52 Loc::getMessage(
'IBLOCK_GRID_ROW_ACTIONS_DELETE_SECTION_CONFIRM_BUTTON')
54 $backButtonMessage = \CUtil::JSEscape(
55 Loc::getMessage(
'IBLOCK_GRID_ROW_ACTIONS_DELETE_SECTION_BACK_BUTTON')
58 $this->onclick =
"IblockGridInstance.sendSmallPopupWithConfirm('{$actionId}', {$data}, '{$confirmMessage}', '{$confirmButtonMessage}', '{$backButtonMessage}')";
60 return parent::getControl($rawFields);
72 if (empty($id) || !is_numeric($id))
78 if (!$this->rights->canDeleteSection($id))
85 $conn = Application::getConnection();
86 $conn->startTransaction();
89 $updateResult = CIBlockSection::Delete($id);
96 : Loc::getMessage(
'IBLOCK_GRID_ROW_ACTION_DELETE_SECTION_INTERNAL_ERROR')
105 catch (SqlQueryException)
107 $result->addError(
new Error(Loc::getMessage(
'IBLOCK_GRID_ROW_ACTION_DELETE_SECTION_INTERNAL_ERROR')));
112 $conn->commitTransaction();
116 $conn->rollbackTransaction();
if(!Loader::includeModule('catalog')) if(!AccessController::getCurrent() ->check(ActionDictionary::ACTION_PRICE_EDIT)) if(!check_bitrix_sessid()) $request
getControl(array $rawFields)
__construct(IblockRightsChecker $rights)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
processRequest(HttpRequest $request)