Fix app/version rejection. Version queue requeue wasn't requeueing its downloadurl, downloadurl

class was missing objectManager functionality. Rejected appData wasn't being accounted for.
This commit is contained in:
Alexander Nicolaysen Sørnes
2007-06-09 15:44:46 +00:00
committed by WineHQ
parent be5361f751
commit 095d228296
4 changed files with 62 additions and 6 deletions

View File

@@ -52,6 +52,34 @@ class appData
return $hResult;
}
function reQueue()
{
if(!$this->canEdit())
return FALSE;
$sQuery = "UPDATE appData SET queued = '?' WHERE id = '?'";
$hResult = query_parameters($sQuery, "true", $this->iId);
if(!$hResult)
return FALSE;
else
return TRUE;
}
function reject()
{
if(!$this->canEdit())
return FALSE;
$sQuery = "UPDATE appData SET queued = '?' WHERE id = '?'";
$hResult = query_parameters($sQuery, "rejected", $this->iId);
if(!$hResult)
return FALSE;
else
return TRUE;
}
function update($bSilent = FALSE)
{
if(!$this->canEdit())
@@ -122,7 +150,7 @@ class appData
}
/* Get appData for a given version/application, optionally filter by type */
function getData($iId, $sType, $bIsVersion = TRUE, $bQueued = FALSE)
function getData($iId, $sType, $bIsVersion = TRUE, $bQueued = FALSE, $bRejected = FALSE)
{
$iAppId = 0;
$iVersionId = 0;
@@ -132,9 +160,11 @@ class appData
else
$iAppId = $iId;
$sQueued = objectManager::getQueueString($bQueued, $bRejected);
$hResult = query_parameters("SELECT * FROM appData WHERE appId = '?' AND
versionId = '?' AND TYPE = '?' AND queued = '?'",
$iAppId, $iVersionId, $sType, $bQueued ? "true" : "false");
$iAppId, $iVersionId, $sType, $sQueued);
if(!$hResult || !mysql_num_rows($hResult))
return FALSE;

View File

@@ -244,8 +244,13 @@ class downloadurl
$sDownloadUrlDescription = $aValues["sDownloadUrlDescription"];
} else if($iVersionId)
{
if($hResult = appData::getData($iVersionId, "downloadurl",
TRUE, TRUE))
/* This illustrates the importance of converting downloadurl completely
to the objectManager model. If we don't get a match searching for
a queued entry, try finding a rejected one. */
if(($hResult = appData::getData($iVersionId, "downloadurl",
TRUE, TRUE, FALSE)) ||
$hResult = appData::getData($iVersionId, "downloadurl",
TRUE, TRUE, TRUE))
{
$oRow = mysql_fetch_object($hResult);
$sDownloadUrlUrl = $oRow->url;
@@ -370,6 +375,20 @@ class downloadurl
return TRUE;
}
function reQueue()
{
$oAppData = new AppData($this->iId);
return $oAppData->reQueue();
}
function reject()
{
$oAppData = new AppData($this->iId);
return $oAppData->reject();
}
function objectGetEntries($bQueued, $bRejected, $iRows = 0, $iStart = 0)
{
return appData::objectGetEntries($bQueued, $bRejected, $iRows, $iStart,

View File

@@ -16,7 +16,13 @@ class version_queue
{
$iTestingId = testData::getNewestTestIdFromVersionId($iVersionId,
$this->oVersion->sQueued);
if($hResult = appData::getData($iVersionId, "downloadurl", TRUE, TRUE))
/* This illustrates the importance of converting downloadurl completely
to the objectManager model. If we don't get a match searching for
a queued entry, try finding a rejected one. */
if(($hResult = appData::getData($iVersionId, "downloadurl",
TRUE, TRUE, FALSE)) ||
$hResult = appData::getData($iVersionId, "downloadurl",
TRUE, TRUE, TRUE))
{
if($oRow = mysql_fetch_object($hResult))
$iDownloadUrlId = $oRow->id;
@@ -46,6 +52,7 @@ class version_queue
{
$this->oVersion->reQueue();
$this->oTestDataQueue->reQueue();
$this->oDownloadUrl->reQueue();
}
function reject()

View File

@@ -140,7 +140,7 @@ create table appData (
url varchar(255) default NULL,
submitTime timestamp(14) NOT NULL,
submitterId int(11) NOT NULL default '0',
queued enum('true','false') NOT NULL default 'false',
queued enum('true','false','rejected') NOT NULL default 'false',
KEY id (id),
KEY versionId (versionId)
);