- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/delivery/rest/extraservicesservice.php
- Класс: BitrixSaleDeliveryRestExtraServicesService
- Вызов: ExtraServicesService::deleteExtraServices
static function deleteExtraServices($query, $n, CRestServer $server)
{
self::checkDeliveryPermission();
$params = self::prepareExtraServicesParams($query, $server);
if (empty($params['ID']))
{
throw new RestException('Parameter ID is not defined', self::ERROR_CHECK_FAILURE);
}
$extraService = SaleDeliveryExtraServicesTable::getById($params['ID'])->fetch();
if ($extraService)
{
$data = SaleDeliveryServicesManager::getById($extraService['DELIVERY_ID']);
if ($data && !self::hasAccessToDelivery($data, $params['APP_ID']))
{
throw new AccessException();
}
}
else
{
throw new RestException('Extra service not found', self::ERROR_EXTRA_SERVICE_NOT_FOUND);
}
$result = SaleDeliveryExtraServicesTable::delete($params['ID']);
if ($result->isSuccess())
{
return true;
}
$error = implode("n", $result->getErrorMessages());
throw new RestException($error, self::ERROR_EXTRA_SERVICE_DELETE);
}