Example #1
0
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";
Example #2
0
 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;
 }
Example #3
0
 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);
 }