echo GetMessage("SSEN_PERM_STATUS_FROM"); ?> </td> <td><?php echo GetMessage("SSEN_PERM_EDIT"); ?> </td> <td><?php echo GetMessage("SSEN_PERM_DELETE"); ?> </td> </tr> <?php $arPermsMatrix = array(); $dbPermsMatrix = CSaleStatus::GetPermissionsList(array(), array("STATUS_ID" => $ID), false, false, array()); while ($arPM = $dbPermsMatrix->Fetch()) { $arPermsMatrix[$arPM["GROUP_ID"]] = array("PERM_VIEW" => $arPM["PERM_VIEW"], "PERM_CANCEL" => $arPM["PERM_CANCEL"], "PERM_DELIVERY" => $arPM["PERM_DELIVERY"], "PERM_PAYMENT" => $arPM["PERM_PAYMENT"], "PERM_STATUS" => $arPM["PERM_STATUS"], "PERM_STATUS_FROM" => $arPM["PERM_STATUS_FROM"], "PERM_UPDATE" => $arPM["PERM_UPDATE"], "PERM_DELETE" => $arPM["PERM_DELETE"]); } $arSaleManagerGroups = array(); $dbSaleManagerGroups = $APPLICATION->GetGroupRightList(array("MODULE_ID" => "sale", "G_ACCESS" => "U")); while ($arSaleManagerGroup = $dbSaleManagerGroups->Fetch()) { $arSaleManagerGroups[] = IntVal($arSaleManagerGroup["GROUP_ID"]); } $dbGroups = CGroup::GetList($b = "c_sort", $o = "asc", array("ANONYMOUS" => "N")); while ($arGroup = $dbGroups->Fetch()) { $arGroup["ID"] = IntVal($arGroup["ID"]); if ($arGroup["ID"] == 1 || $arGroup["ID"] == 2 || !in_array($arGroup["ID"], $arSaleManagerGroups)) { continue; } $str_PM_VIEW = "N";
function CanUserDeleteOrder($ID, $arUserGroups = false, $userID = 0) { $ID = IntVal($ID); $userID = IntVal($userID); $userRights = CMain::GetUserRight("sale", $arUserGroups, "Y", "Y"); if ($userRights >= "W") { return True; } if ($userRights == "U") { $arOrder = CSaleOrder::GetByID($ID); if ($arOrder) { $num = CSaleGroupAccessToSite::GetList(array(), array("SITE_ID" => $arOrder["LID"], "GROUP_ID" => $arUserGroups), array()); if (IntVal($num) > 0) { $dbStatusPerms = CSaleStatus::GetPermissionsList(array(), array("STATUS_ID" => $arOrder["STATUS_ID"], "GROUP_ID" => $arUserGroups), array("MAX" => "PERM_DELETE")); if ($arStatusPerms = $dbStatusPerms->Fetch()) { if ($arStatusPerms["PERM_DELETE"] == "Y") { return True; } } } } } return False; }
function InitStep() { $groupID = array(); $this->SetTitle(GetMessage("WW_STEP6")); $this->SetSubTitle(""); $this->SetNextStep("step7"); $this->SetPrevStep("step5"); $this->SetFinishStep("final"); $this->SetStepID("step6"); $this->SetCancelStep("final"); $wizard =& $this->GetWizard(); $siteID = $wizard->GetVar("siteID"); $groupID = $wizard->GetVar("groupID"); if (empty($groupID)) { $groupID = array(); } $arPermType = array("PERM_VIEW", "PERM_CANCEL", "PERM_MARK", "PERM_DEDUCTION", "PERM_DELIVERY", "PERM_PAYMENT", "PERM_STATUS", "PERM_STATUS_FROM", "PERM_UPDATE", "PERM_DELETE"); //$dbStatus = CSaleStatus::GetList(Array("SORT" => "ASC"), Array("LID" => $siteID), false, false, array("ID", "SORT", "LID", "NAME", "DESCRIPTION")); $dbStatus = CSaleStatus::GetList(array("SORT" => "ASC"), array(), false, false, array("ID", "SORT", "LID", "NAME", "DESCRIPTION")); while ($arStatus = $dbStatus->Fetch()) { foreach ($groupID as $gr) { $dbPermsMatrix = CSaleStatus::GetPermissionsList(array(), array("STATUS_ID" => $arStatus["ID"], "GROUP_ID" => $gr), false, false, array()); while ($arPM = $dbPermsMatrix->Fetch()) { foreach ($arPermType as $perm) { $defVars["perm[" . $arStatus["ID"] . "][" . $arPM["GROUP_ID"] . "][" . $perm . "]"] = $arPM[$perm]; } } } } $wizard->SetDefaultVars($defVars); }