GetGroupRight("sale"); if ($saleModulePermissions < "W") $APPLICATION->AuthForm(Loc::getMessage("SALE_DSL_ACCESS_DENIED")); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/prolog.php"); \Bitrix\Main\Page\Asset::getInstance()->addJs("/bitrix/js/sale/delivery.js"); $sTableID = "tbl_sale_delivery_list"; $oSort = new CAdminSorting($sTableID, "ID", "asc"); $lAdmin = new CAdminList($sTableID, $oSort); $arFilterFields = array( "filter_name", "filter_active", "filter_class_name", "filter_group" ); $groupId = !empty($filter_group) ? $filter_group : -1; $filter = array(); if(strlen($filter_name) > 0) $filter["%NAME"] = Trim($filter_name); if(strlen($filter_active) > 0) $filter["=ACTIVE"] = Trim($filter_active); if(intval($filter_group) > 0) $filter["=PARENT_ID"] = intval($filter_group); if(strlen($filter_class_name) > 0) $filter["=CLASS_NAME"] = Trim($filter_class_name); else $filter['!=CLASS_NAME'] = array( '\Bitrix\Sale\Delivery\Services\AutomaticProfile', '\Bitrix\Sale\Delivery\Services\Group' ); $lAdmin->InitFilter($arFilterFields); $filter_group = $groupId; if (($arID = $lAdmin->GroupAction()) && $saleModulePermissions >= "W") { if ($_REQUEST['action_target']=='selected') { $arID = Array(); $dbResultList = \Bitrix\Sale\Delivery\Services\Table::GetList( array( 'sort' => array($by => $order), 'filter' => $filter, 'select' => array("ID") ) ); while ($arResult = $dbResultList->fetch()) $arID[] = $arResult['ID']; } foreach ($arID as $ID) { if (strlen($ID) <= 0) continue; switch ($_REQUEST['action']) { case "delete": $res = \Bitrix\Sale\Delivery\Services\Table::delete($ID); if (!$res->isSuccess()) { if ($ex = $APPLICATION->GetException()) $lAdmin->AddGroupError($ex->GetString(), $ID); else $lAdmin->AddGroupError(Loc::getMessage("SALE_SDL_ERROR_DELETE"), $ID); } break; case "activate": case "deactivate": $arFields = array( "ACTIVE" => (($_REQUEST['action']=="activate") ? "Y" : "N") ); $res = \Bitrix\Sale\Delivery\Services\Table::update($ID, $arFields); if (!$res->isSuccess()) { if ($errors = $res->getErrors()) $lAdmin->AddGroupError(implode("
/n", $errors), $ID); else $lAdmin->AddGroupError(Loc::getMessage("SALE_SDL_ERROR_UPDATE"), $ID); } else { \Bitrix\Sale\Delivery\Services\Table::setChildrenFieldsValues( $ID, $arFields ); } break; } } } $dbResultList = \Bitrix\Sale\Delivery\Services\Table::getList(array( 'order' => array($by => $order), 'filter' => $filter ) ); $dbResultList = new CAdminResult($dbResultList, $sTableID); $dbResultList->NavStart(); $lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("SALE_SDL_PRLIST"))); $lAdmin->AddHeaders(array( array("id"=>"NAME", "content"=>Loc::getMessage("SALE_SDL_NAME"), "sort"=>"NAME", "default" => true), array("id"=>"GROUP_NAME", "content"=>Loc::getMessage("SALE_SDL_GROUP_NAME"), "sort"=>"PARENT.NAME", "default"=>true), array("id"=>"ID", "content"=>"ID", "sort"=>"ID", "default"=>true), array("id"=>"LOGOTIP", "content"=>Loc::getMessage("SALE_SDL_LOGOTIP"), "sort"=>"", "default"=>true), array("id"=>"DESCRIPTION", "content"=>Loc::getMessage("SALE_SDL_DESCRIPTION"), "sort"=>"", "default" => false), array("id"=>"SORT", "content"=>Loc::getMessage("SALE_SDL_SORT"), "sort"=>"SORT", "default"=>true), array("id"=>"ACTIVE", "content"=>Loc::getMessage("SALE_SDL_ACTIVE"), "sort"=>"ACTIVE", "default"=>true), array("id"=>"CLASS_NAME", "content"=>Loc::getMessage("SALE_SDL_CLASS_NAME"), "sort"=>"CLASS_NAME", "default"=>false) )); $arVisibleColumns = $lAdmin->GetVisibleHeaderColumns(); $backUrl = urlencode($APPLICATION->GetCurPageParam("", array("mode"))); while ($service = $dbResultList->NavNext(true, "f_")) { if(is_callable($service["CLASS_NAME"].'::canHasChildren') && $service["CLASS_NAME"]::canHasChildren()) //has children { $actUrl = "sale_delivery_service_list.php?lang=".LANG."&filter_group=".$f_ID; $row =& $lAdmin->AddRow($f_ID, $service, $actUrl, GetMessage("SALE_SALE_EDIT_DESCR")); $row->AddField("NAME", ''. ''. ''. $f_NAME. ''. ''); } else //has no children { $actUrl = "sale_delivery_service_edit.php?lang=".LANG."&PARENT_ID=".$f_PARENT_ID."&ID=".$f_ID."&back_url=".$backUrl; $row =& $lAdmin->AddRow($f_ID, $service, $actUrl, GetMessage("SALE_SALE_EDIT_DESCR")); $row->AddField("NAME", ''. ''. $f_NAME. ''. ''); } $row->AddField("ID", $f_ID); $logoHtml = intval($f_LOGOTIP) > 0 ? CFile::ShowImage(CFile::GetFileArray($f_LOGOTIP), 150, 150, "border=0", "", false) : ""; $row->AddField("LOGOTIP", $logoHtml); $row->AddField("DESCRIPTION", $f_DESCRIPTION); $row->AddField("SORT", $f_SORT); $row->AddField("ACTIVE", (($f_ACTIVE=="Y") ? Loc::getMessage("SALE_SDL_YES") : Loc::getMessage("SALE_SDL_NO"))); $row->AddField("CLASS_NAME", (is_callable($f_CLASS_NAME."::getClassTitle") ? $f_CLASS_NAME::getClassTitle() : "")." [".$f_CLASS_NAME."]"); $groupNameHtml = ""; if($f_PARENT_ID > 0) { $res = \Bitrix\Sale\Delivery\Services\Table::getById($f_PARENT_ID); if($group = $res->fetch()) $groupNameHtml = ''.htmlspecialcharsbx($group["NAME"]).''; } $row->AddField("GROUP_NAME", $groupNameHtml); $arActions = Array(); $arActions[] = array("ICON"=>"copy", "TEXT"=>Loc::getMessage("SALE_SDL_COPY_DESCR"), "ACTION"=>'BX.Sale.Delivery.showGroupsDialog("sale_delivery_service_edit.php?lang='.LANG.'&ID='.$f_ID.'&action=copy","'.$f_PARENT_ID."&back_url=".$backUrl.'");', "DEFAULT"=>true); $arActions[] = array("ICON"=>"edit", "TEXT"=>Loc::getMessage("SALE_SDL_EDIT_DESCR"), "ACTION"=>$lAdmin->ActionRedirect("sale_delivery_service_edit.php?lang=".LANG."&PARENT_ID=".$f_PARENT_ID."&ID=".$f_ID."&back_url=".$backUrl), "DEFAULT"=>true); if ($saleModulePermissions >= "W") { $arActions[] = array("SEPARATOR" => true); $arActions[] = array("ICON"=>"delete", "TEXT"=>Loc::getMessage("SALE_SDL_DELETE_DESCR"), "ACTION"=>"if(confirm('".Loc::getMessage('SALE_SDL_CONFIRM_DEL_MESSAGE')."')) ".$lAdmin->ActionDoGroup($f_ID, "delete", "PARENT_ID=".$f_PARENT_ID)); } $row->AddActions($arActions); } $lAdmin->AddFooter( array( array( "title" => Loc::getMessage("MAIN_ADMIN_LIST_SELECTED"), "value" => $dbResultList->SelectedRowsCount() ), array( "counter" => true, "title" => Loc::getMessage("MAIN_ADMIN_LIST_CHECKED"), "value" => "0" ), ) ); $lAdmin->AddGroupActionTable( array( "delete" => Loc::getMessage("MAIN_ADMIN_LIST_DELETE"), "activate" => Loc::getMessage("MAIN_ADMIN_LIST_ACTIVATE"), "deactivate" => Loc::getMessage("MAIN_ADMIN_LIST_DEACTIVATE"), ) ); if ($saleModulePermissions == "W") { $aContext = array(); $aContext[] = array( "TEXT" => Loc::getMessage("SALE_SDL_ADD_NEW"), "TITLE" => Loc::getMessage("SALE_SDL_ADD_NEW_ALT"), "LINK" => "sale_delivery_service_edit.php?lang=".LANG."&PARENT_ID=".(intval($filter["=PARENT_ID"]) > 0 ? $filter["=PARENT_ID"] : 0). (isset($filter["=CLASS_NAME"]) ? "&CLASS_NAME=".urlencode($filter["=CLASS_NAME"]) : "")."&back_url=".$backUrl, "ICON" => "btn_new" ); /* array( "TEXT" => Loc::getMessage("SALE_SDL_ADD_NEW_GROUP"), "LINK" => "sale_delivery_service_edit.php?lang=".LANG."&PARENT_ID=".$filter_group."&CLASS_NAME=".urlencode('\Bitrix\Sale\Delivery\Services\Group'), "TITLE" => Loc::getMessage("SALE_SDL_ADD_NEW_GROUP_ALT") ), */ if(isset($filter["=CLASS_NAME"]) && $filter["=CLASS_NAME"] == '\Bitrix\Sale\Delivery\Services\Group') { $aContext[] = array( "TEXT" => Loc::getMessage("SALE_SDL_TO_LIST"), "LINK" => isset($_GET["back_url"]) ? $_GET["back_url"] : "/bitrix/admin/sale_delivery_service_list.php?lang=".LANGUAGE_ID. (!empty($filter_group) ? "&filter_group=".intval($filter_group) : ""), "TITLE" => Loc::getMessage("SALE_SDL_TO_LIST_ALT"), ); } else { $aContext[] = array( "TEXT" => Loc::getMessage("SALE_SDL_MANAGE_GROUP"), "LINK" => $APPLICATION->GetCurPageParam( "filter_class_name=".urlencode('\Bitrix\Sale\Delivery\Services\Group'). "&backurl=".urlencode($APPLICATION->GetCurPageParam()), array("filter_class_name", "filter_group") ), "TITLE" => Loc::getMessage("SALE_SDL_MANAGE_GROUP_ALT") ); } $lAdmin->AddAdminContextMenu($aContext); } $lAdmin->CheckListMode(); $APPLICATION->SetTitle(Loc::getMessage("SALE_SDL_TITLE")); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); ?>