publicMode; $selfFolderUrl = $adminPage->getSelfFolderUrl(); $saleModulePermissions = $APPLICATION->GetGroupRight("sale"); if ($saleModulePermissions < "W") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); IncludeModuleLangFile(__FILE__); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/prolog.php"); $sTableID = "tbl_sale_person_type"; $oSort = new CAdminUiSorting($sTableID, "ID", "asc"); $lAdmin = new CAdminUiList($sTableID, $oSort); $listSite = array(); $sitesQueryObject = CSite::getList("sort", "asc", array("ACTIVE" => "Y")); while ($site = $sitesQueryObject->fetch()) { $listSite[$site["LID"]] = $site["NAME"]." [".$site["LID"]."]"; } $filterFields = array( array( "id" => "NAME", "name" => GetMessage("PERS_TYPE_NAME"), "filterable" => "%", "quickSearch" => "%" ), array( "id" => "LID", "name" => GetMessage("LANG_FILTER_NAME"), "type" => "list", "items" => $listSite, "filterable" => "", "default" => true ), array( "id" => "ACTIVE", "name" => GetMessage("SALE_FIELD_ACTIVE"), "type" => "list", "items" => array( "Y" => GetMessage("SALE_YES"), "N" => GetMessage("SALE_NO") ), "filterable" => "", "default" => true ) ); $arFilter = array(); $lAdmin->AddFilter($filterFields, $arFilter); if ($lAdmin->EditAction() && $saleModulePermissions >= "W") { foreach ($FIELDS as $ID => $arFields) { $ID = intval($ID); if (!$lAdmin->IsUpdated($ID)) continue; $DB->StartTransaction(); if (!CSalePersonType::Update($ID, $arFields)) { if ($ex = $APPLICATION->GetException()) $lAdmin->AddUpdateError($ex->GetString(), $ID); else $lAdmin->AddUpdateError(GetMessage("SPTAN_ERROR_UPDATE"), $ID); $DB->Rollback(); } else { $DB->Commit(); } } } if (($arID = $lAdmin->GroupAction()) && $saleModulePermissions >= "W") { if ($_REQUEST['action_target']=='selected') { $arID = Array(); $dbResultList = CSalePersonType::GetList($by, $order, $arFilter); while ($arResult = $dbResultList->Fetch()) $arID[] = $arResult['ID']; } foreach ($arID as $ID) { if ($ID == '') continue; switch ($_REQUEST['action']) { case "delete": @set_time_limit(0); $DB->StartTransaction(); if (!CSalePersonType::Delete($ID)) { $DB->Rollback(); if ($ex = $APPLICATION->GetException()) $lAdmin->AddGroupError($ex->GetString(), $ID); else $lAdmin->AddGroupError(GetMessage("SPTAN_ERROR_DELETE"), $ID); } else { $DB->Commit(); } break; } } if ($lAdmin->hasGroupErrors()) { $adminSidePanelHelper->sendJsonErrorResponse($lAdmin->getGroupErrors()); } else { $adminSidePanelHelper->sendSuccessResponse(); } } global $by, $order; $dbResultList = CSalePersonType::GetList($by, $order, $arFilter); $dbResultList = new CAdminUiResult($dbResultList, $sTableID); $dbResultList->NavStart(); $lAdmin->SetNavigationParams($dbResultList, array("BASE_LINK" => $selfFolderUrl."sale_person_type.php")); $lAdmin->AddHeaders(array( array("id"=>"ID", "content"=>GetMessage("PERS_TYPE_ID"), "sort"=>"id", "default"=>true), array("id"=>"NAME","content"=>GetMessage("PERS_TYPE_NAME"), "sort"=>"name", "default"=>true), array("id"=>"CODE","content"=>GetMessage("PERS_TYPE_CODE"), "sort"=>"code"), array("id"=>"ACTIVE", "content"=>GetMessage("PERS_ACTIVE"), "sort"=>"ACTIVE", "default"=>true), array("id"=>"LID", "content"=>GetMessage('PERS_TYPE_LID'), "sort"=>false, "default"=>true), array("id"=>"SORT", "content"=>GetMessage("PERS_TYPE_SORT"), "sort"=>"sort", "default"=>true), array("id"=>"PROPS", "content"=>GetMessage("PERS_PROPS"), "sort"=>"", "default"=>true), )); $arVisibleColumns = $lAdmin->GetVisibleHeaderColumns(); $arLangs = array(); $dbLangsList = CLang::GetList(); while ($arLang = $dbLangsList->Fetch()) $arLangs[$arLang["LID"]] = "[".htmlspecialcharsbx($arLang["LID"])."] ".htmlspecialcharsbx($arLang["NAME"]); while ($arPersonType = $dbResultList->NavNext(false)) { $editUrl = $selfFolderUrl."sale_person_type_edit.php?ID=".$arPersonType["ID"]."&lang=".LANGUAGE_ID; $editUrl = $adminSidePanelHelper->editUrlToPublicPage($editUrl); $row =& $lAdmin->AddRow($arPersonType["ID"], $arPersonType, $editUrl, GetMessage("SPTAN_UPDATE_ALT")); $row->AddField("ID","".$arPersonType["ID"].""); $row->AddInputField("NAME", array("size" => "30")); $LIDS = ""; foreach($arPersonType["LIDS"] as $v) $LIDS .= $arLangs[$v]."
"; $row->AddField("LID", $LIDS); $row->AddInputField("SORT", array("size" => "3")); $row->AddCheckField("ACTIVE"); $fieldValue = ""; if (in_array("PROPS", $arVisibleColumns)) { $numProps = CSaleOrderProps::GetList( array(), array("PERSON_TYPE_ID" => $arPersonType["ID"]), array() ); $numProps = intval($numProps); if ($numProps > 0) { if ($publicMode) $fieldValue = $numProps; else $fieldValue = "".$numProps.""; } else { $fieldValue = "0"; } } $row->AddField("PROPS", $fieldValue); $arActions = Array(); $arActions[] = array( "ICON" => "edit", "TEXT" => GetMessage("SPTAN_UPDATE_ALT"), "LINK" => $editUrl, "DEFAULT" => true ); if ($saleModulePermissions >= "W") { $arActions[] = array( "ICON" => "delete", "TEXT" => GetMessage("SPTAN_DELETE_ALT1"), "ACTION" => "if(confirm('".GetMessage('PERS_TYPE_DEL_CONF')."')) ".$lAdmin->ActionDoGroup($arPersonType["ID"], "delete") ); } $row->AddActions($arActions); } $lAdmin->AddGroupActionTable( array( "delete" => GetMessage("MAIN_ADMIN_LIST_DELETE") ) ); if ($saleModulePermissions == "W") { $addUrl = $selfFolderUrl."sale_person_type_edit.php?lang=".LANGUAGE_ID; $addUrl = $adminSidePanelHelper->editUrlToPublicPage($addUrl); $aContext = array( array( "TEXT" => GetMessage("SPTAN_ADD_NEW"), "LINK" => $addUrl, "TITLE" => GetMessage("SPTAN_ADD_NEW_ALT"), "ICON" => "btn_new" ), ); $lAdmin->setContextSettings(array("pagePath" => $selfFolderUrl."sale_person_type.php")); $lAdmin->AddAdminContextMenu($aContext); } $lAdmin->CheckListMode(); /****************************************************************************/ /*********** MAIN PAGE ****************************************************/ /****************************************************************************/ $APPLICATION->SetTitle(GetMessage("PERSON_TYPE_TITLE")); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); if (!$publicMode && \Bitrix\Sale\Update\CrmEntityCreatorStepper::isNeedStub()) { $APPLICATION->IncludeComponent("bitrix:sale.admin.page.stub", ".default"); } else { $lAdmin->DisplayFilter($filterFields); $lAdmin->DisplayList(); } require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php"); ?>