GetGroupRight("sale"); if ($saleModulePermissions < "W") $APPLICATION->AuthForm(Loc::getMessage("SALE_ESDL_ACCESS_DENIED")); /** * @var CDatabase $DB * @var CMain $APPLICATION */ use Bitrix\Main\Localization\Loc; use Bitrix\Sale\Delivery\ExtraServices; use Bitrix\Sale\Delivery\Services; Loc::loadMessages(__FILE__); $ID = intval($_GET['ID']); $strError = ""; if(isset($_REQUEST["action"]) && $_REQUEST["action"] == "delete_extra_service" && isset($_REQUEST["ES_ID"])) { if(intval($_REQUEST["ES_ID"] > 0)) { $res = ExtraServices\Table::delete(intval($_REQUEST["ES_ID"])); if(!$res->isSuccess()) $strError .= Loc::getMessage("SALE_ESDE_ERROR_DELETE").' '.implode("
\n",$res->getErrorMessages()); } else { $strError .= Loc::getMessage("SALE_ESDE_ERROR_ID"); } } $tableId = 'table_delivery_extra_service'; $oSort = new \CAdminSorting($tableId); $lAdmin = new \CAdminList($tableId, $oSort); $res = \Bitrix\Sale\Delivery\ExtraServices\Table::getList(array( 'filter' => array( 'DELIVERY_ID' => $ID, '=CLASS_NAME' => ExtraServices\Manager::getClassesList() ), 'select' => array('ID', 'CODE', 'NAME', 'DESCRIPTION', 'CLASS_NAME', 'RIGHTS', 'ACTIVE', 'SORT'), 'order' => array('SORT' => 'ASC', 'ID' => 'DESC') )); $data = $res->fetchAll(); $dbRes = new \CDBResult; $dbRes->InitFromArray($data); $dbRecords = new \CAdminResult($dbRes, $tableId); $dbRecords->NavStart(); $lAdmin->NavText($dbRecords->GetNavPrint(Loc::getMessage('SALE_ESDL_LIST'))); $header = array( array('id'=>'ID', 'content'=>Loc::getMessage('SALE_ESDL_COL_ID'), "sort"=>"", 'default'=>true), array('id'=>'CODE', 'content'=>Loc::getMessage('SALE_ESDL_COL_CODE'), "sort"=>"", 'default'=>false), array('id'=>'NAME', 'content'=>Loc::getMessage('SALE_ESDL_COL_NAME'), "sort"=>"", 'default'=>true), array('id'=>'SORT', 'content'=>Loc::getMessage('SALE_ESDL_COL_SORT'), "sort"=>"", 'default'=>true), array('id'=>'RIGHTS', 'content'=>Loc::getMessage('SALE_ESDL_COL_RIGHTS'), "sort"=>"", 'default'=>false), array('id'=>'ACTIVE', 'content'=>Loc::getMessage('SALE_ESDL_COL_ACTIVE'), "sort"=>"", 'default'=>true), array('id'=>'CLASS_NAME', 'content'=>Loc::getMessage('SALE_ESDL_COL_CLASS_NAME'), "sort"=>"", 'default'=>true), array('id'=>'DESCRIPTION', 'content'=>Loc::getMessage('SALE_ESDL_COL_DESCRIPTION'), "sort"=>"", 'default'=>true), ); $lAdmin->AddHeaders($header); while ($record = $dbRecords->Fetch()) { $link = 'sale_delivery_eservice_edit.php?ID='.$record['ID'].'&lang='.LANGUAGE_ID.'&'.$tabControl->ActiveTabParam().'&back_url='.urlencode($APPLICATION->GetCurPageParam()); $row =& $lAdmin->AddRow($record['ID'], $record, $link, ''); $row->AddField('ID', ''.$record['ID'].''); $row->AddField('CODE', $record['CODE']); $row->AddField('NAME', $record['NAME']); $row->AddField('SORT', $record['SORT']); $row->AddField('RIGHTS', $record['RIGHTS']); $row->AddField('ACTIVE', $record['ACTIVE'] == "Y" ? Loc::getMessage('SALE_ESDL_YES') : Loc::getMessage('SALE_ESDL_NO')); if(strlen($record['CLASS_NAME']) > 0 && is_callable($record['CLASS_NAME'].'::getClassTitle')) $className = $record['CLASS_NAME']::getClassTitle(); else $className = ""; $row->AddField('CLASS_NAME', $className); $row->AddField('DESCRIPTION', $record['DESCRIPTION']); if ($saleModulePermissions >= "W") { $arActions = Array(); $arActions[] = array( "ICON" => "edit", "TEXT" => Loc::getMessage("SALE_ESDL_EDIT_DESCR"), "LINK" => $link, "DEFAULT" => true ); $arActions[] = array("SEPARATOR" => true); $arActions[] = array( "ICON"=>"delete", "TEXT"=>Loc::getMessage("SALE_ESDL_DELETE"), "ACTION"=> "javascript:if(confirm('".Loc::getMessage("SALE_ESDL_CONFIRM_DEL_MESSAGE")."')) window.location='". $APPLICATION->GetCurPageParam( "action=delete_extra_service&ES_ID=".$record['ID']."&".bitrix_sessid_get().'&back_url='.urlencode($_REQUEST["back_url"]), array("back_url", "ES_ID") )."';", ); $row->AddActions($arActions); } } if ($saleModulePermissions == "W") { $aContext = array(); $addButtonParams = array( "TEXT" => Loc::getMessage("SALE_ESDL_BUTTON_ADD_NEW"), "LINK" => 'sale_delivery_eservice_edit.php?lang='.LANGUAGE_ID.'&DELIVERY_ID='.$ID.'&'.$tabControl->ActiveTabParam().'&back_url='.urlencode($APPLICATION->GetCurPageParam()), "TITLE" => Loc::getMessage("SALE_ESDL_BUTTON_ADD_NEW"), "ICON" => "btn_new" ); if($service && $embeddedList = $service->getEmbeddedExtraServicesList()) { $menu = array(); foreach($embeddedList as $code => $eserviceParams) { $menu[] = array( 'TEXT' => $eserviceParams["NAME"], 'LINK' => 'sale_delivery_eservice_edit.php?lang='.LANGUAGE_ID.'&DELIVERY_ID='.$ID.'&'.$tabControl->ActiveTabParam().'&ES_CODE='.$code.'&back_url='.urlencode($APPLICATION->GetCurPageParam()), ); } if(!empty($menu)) { array_unshift($menu, array( 'TEXT' => Loc::getMessage('SALE_ESDL_NEW_SERVICE'), "LINK" => 'sale_delivery_eservice_edit.php?lang='.LANGUAGE_ID.'&DELIVERY_ID='.$ID.'&'.$tabControl->ActiveTabParam().'&back_url='.urlencode($APPLICATION->GetCurPageParam()), )); $addButtonParams["MENU"] = $menu; } } $aContext[] = $addButtonParams; $lAdmin->AddAdminContextMenu($aContext, false); } if($_REQUEST['table_id'] == $tableId) $lAdmin->CheckListMode(); $lAdmin->DisplayList(); }