Allow maintainers to submit un-queued distributions.They are allowed to submit un-queued
testData for the versions they maintain, so without this change they submit un-queued test results associated with a queued distribution. This doesn't make any sense since the testData would be active but the distribution queued. It's cleaner to just let maintainers unqueue distributions for versions they maintain.
This commit is contained in:
committed by
WineHQ
parent
1b6fe53638
commit
e87db015c2
@@ -135,9 +135,11 @@ class distribution {
|
||||
// Delete Distributution.
|
||||
function delete($bSilent=false)
|
||||
{
|
||||
// is the current user allowed to delete this Distribution?
|
||||
if(!$_SESSION['current']->hasPriv("admin") &&
|
||||
!($_SESSION['current']->iUserId == $this->iSubmitterId))
|
||||
/* Is the current user allowed to delete this distribution? We allow
|
||||
everyone to delete a queued, empty distribution, because it should be
|
||||
deleted along with the last testData associated with it */
|
||||
if(!($this->canEdit() || (!sizeof($this->aTestingIds) &&
|
||||
$this->sQueued != "false")))
|
||||
return;
|
||||
|
||||
/* Check for associated test results */
|
||||
@@ -168,11 +170,9 @@ class distribution {
|
||||
// Move Distribution out of the queue.
|
||||
function unQueue()
|
||||
{
|
||||
// is the current user allowed to move this Distribution?
|
||||
if(!$_SESSION['current']->hasPriv("admin"))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
/* Check permissions */
|
||||
if($this->mustBeQueued())
|
||||
return FALSE;
|
||||
|
||||
// If we are not in the queue, we can't move the Distribution out of the queue.
|
||||
if(!$this->sQueued == 'true')
|
||||
@@ -481,12 +481,19 @@ class distribution {
|
||||
if($_SESSION['current']->hasPriv("admin"))
|
||||
return TRUE;
|
||||
|
||||
/* Maintainers are allowed to process queued test results and therefore also
|
||||
queued distributions */
|
||||
if(is_object($this) && $this->sQueued != "false" &&
|
||||
maintainer::isUserMaintainer($_SESSION['current']))
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
function mustBeQueued()
|
||||
{
|
||||
if($_SESSION['current']->hasPriv("admin"))
|
||||
if($_SESSION['current']->hasPriv("admin") ||
|
||||
maintainer::isUserMaintainer($_SESSION['current']))
|
||||
return FALSE;
|
||||
else
|
||||
return TRUE;
|
||||
|
||||
Reference in New Issue
Block a user