Project

General

Profile

Bug #12307 » 12307_workspaces_v2.patch

Sonja Schubert, 2011-01-18 22:30

View differences:

Classes/Service/Stages.php (revision )
// if there's no prev-stage the stageIds match,
// otherwise we've to check if the user is permitted to use the stage
if (!empty($prevStage) && $prevStage['uid'] != $stageId) {
$isAllowed = $this->isStageAllowedForUser($prevStage['uid']);
// if the current stage is allowed for the user, the user is also allowed to send to prev
$isAllowed = $this->isStageAllowedForUser($stageId);
}
} catch (Exception $e) {
// Exception raised - we're not allowed to go this way
......
// if there's no next-stage the stageIds match,
// otherwise we've to check if the user is permitted to use the stage
if (!empty($nextStage) && $nextStage['uid'] != $stageId) {
$isAllowed = $this->isStageAllowedForUser($nextStage['uid']);
// if the current stage is allowed for the user, the user is also allowed to send to next
$isAllowed = $this->isStageAllowedForUser($stageId);
}
} catch (Exception $e) {
// Exception raised - we're not allowed to go this way
......
$cacheKey = $this->getWorkspaceId() . '_' . $stageId;
$isAllowed = FALSE;
if (isset($this->workspaceStageAllowedCache[$cacheKey])) {
$isAllowed = $this->workspaceStageAllowedCache[$cacheKey];
$isAllowed = $this->workspaceStageAllowedCache[$cacheKey];
} else {
$isAllowed = $GLOBALS['BE_USER']->workspaceCheckStageForCurrent($stageId);
$this->workspaceStageAllowedCache[$cacheKey] = $isAllowed;
$isAllowed = $GLOBALS['BE_USER']->workspaceCheckStageForCurrent($stageId);
$this->workspaceStageAllowedCache[$cacheKey] = $isAllowed;
}
return $isAllowed;
}
(3-3/8)