Fix testData::create() permissions. Separate the cases where a user has edit rights from

when he has the right to unqueue items
This commit is contained in:
Alexander Nicolaysen Sørnes
2007-04-19 23:45:15 +00:00
committed by WineHQ
parent 2a58cf59af
commit c43563eca6
8 changed files with 201 additions and 30 deletions

156
include/version_queue.php Normal file
View File

@@ -0,0 +1,156 @@
<?php
class version_queue
{
var $oTestDataQueue;
var $oVersion;
var $oDownloadUrl;
function version_queue($iVersionId = null)
{
$this->oVersion = new version($iVersionId);
if($iVersionId)
{
if($this->oVersion->sQueued == "true")
$bQueued = TRUE;
if($this->oVersion->sQueued == "false")
$bQueued = FALSE;
$iTestingId = testData::getNewestTestIdFromVersionId($iVersionId,
$bQueued);
}
$this->oTestDataQueue = new testData_queue($iTestingId);
$this->oDownloadUrl = new downloadurl();
}
function create()
{
global $aClean;
if(!$this->oVersion->create())
return FALSE;
$this->oTestDataQueue->oTestData->iVersionId = $this->oVersion->iVersionId;
$this->oTestDataQueue->create();
$this->oDownloadUrl->processFormSingle($this->oVersion->iVersionId,
$aClean,
$this->oVersion->canEdit());
return TRUE;
}
function reject()
{
$this->oVersion->reject();
if($this->oDownloadUrl->iId)
$this->oDownloadUrl->reject();
$this->oTestDataQueue->reject();
}
function update()
{
$this->oVersion->update();
$this->oTestDataQueue->update();
}
function delete()
{
return $this->oVersion->delete();
}
function unQueue()
{
$this->oVersion->unQueue();
$this->oTestDataQueue->unQueue();
}
function outputEditor()
{
$this->oVersion->outputEditor();
/* Allow the user to apply as maintainer if this is a new version.
If it is a new application as well, radio boxes will be displayed
by the application class instead. */
if(!$this->oVersion->iVersionId && $this->oVersion->iAppId)
{
echo html_frame_start("Become Maintainer", "90%");
echo "<table>";
if($this->oVersion->iMaintainerRequest == MAINTAINER_REQUEST)
$sRequestMaintainerChecked = 'checked="checked"';
echo html_tr(array(
array("<b>Become maintainer?</b>", "class=\"color0\""),
"<input type=\"checkbox\" $sRequestMaintainerChecked".
"name=\"iMaintainerRequest\" value=\"".MAINTAINER_REQUEST."\" /> ".
"Check this box to request being a maintainer for this version"),
"","valign=\"top\"");
echo "</table>";
echo html_frame_end();
}
echo $this->oDownloadUrl->outputEditorSingle($this->oVersion->iVersionId,
$aClean);
$this->oTestDataQueue->outputEditor();
}
function getOutputEditorValues($aClean)
{
$this->oVersion->getOutputEditorValues($aClean);
$this->oTestDataQueue->getOutputEditorValues($aClean);
}
function checkOutputEditorInput($aClean)
{
$sErrors = $this->oVersion->checkOutputEditorInput($aClean);
$sErrors .= $this->oTestDataQueue->checkOutputEditorInput($aClean);
return $sErrors;
}
function canEdit()
{
return $this->oVersion->canEdit();
}
function objectDisplayAddItemHelp()
{
/* $this->oVersion->displayAddItemHelp(); */
}
function objectGetEntries($bQueued, $bRejected)
{
return $this->oVersion->objectGetEntries($bQueued, $bRejected);
}
function objectGetHeader()
{
return $this->oVersion->objectGetHeader();
}
function objectGetInstanceFromRow($oRow)
{
return version::objectGetInstanceFromRow($oRow);
}
function objectOutputTableRow($oObject, $sClass, $sEditLinkLabel)
{
return $this->oVersion->objectOutputTableRow($oObject, $sClass, $sEditLinkLabel);
}
function display()
{
$this->oVersion->display();
}
function objectMakeUrl()
{
return TRUE;
}
function objectMakeLink()
{
return TRUE;
}
}
?>