Module: appdb Branch: master Commit: abb82efe505decb39f16f99af50b8bcd542f1c89 URL: http://source.winehq.org/git/appdb.git/?a=commit;h=abb82efe505decb39f16f99af...
Author: Alexander Nicolaysen Sørnes <alexander@linux-xqqm.(none)> Date: Thu Nov 12 17:34:39 2009 +0100
testData: Allow users to only show entries for unmaintained versions
---
include/testData.php | 53 ++++++++++++++++++++++++++++++++++---------- include/testData_queue.php | 13 +++++++--- 2 files changed, 50 insertions(+), 16 deletions(-)
diff --git a/include/testData.php b/include/testData.php index 33661b1..19007d6 100644 --- a/include/testData.php +++ b/include/testData.php @@ -1171,8 +1171,26 @@ class testData{ return $oRow->cnt; }
- function objectGetEntriesCount($sState) + public function objectGetFilterInfo() { + $oFilter = new FilterInterface(); + $oFilter->AddFilterInfo('onlyWithoutMaintainers', 'Only show test data for versions without maintainers', array(FILTER_OPTION_BOOL), FILTER_VALUES_OPTION_BOOL, array('false','true')); + return $oFilter; + } + + function objectGetEntriesCount($sState, $oFilters = null) + { + $sExtraTables = ''; + $aOptions = $oFilters ? $oFilters->getOptions() : array('onlyWithoutMaintainers' => 'false'); + $sWhereFilter = ''; + + if($aOptions['onlyWithoutMaintainers'] == 'true') + { + $sExtraTables = ',appVersion'; + + $sWhereFilter .= " AND appVersion.hasMaintainer = 'false' AND appVersion.versionId = testResults.versionId"; + } + $oTest = new testData();
if($sState != 'accepted' && !$oTest->canEdit()) @@ -1180,10 +1198,10 @@ class testData{ if($sState == 'rejected') { $sQuery = "SELECT COUNT(testingId) AS count FROM - testResults WHERE + testResults$sExtraTables WHERE testResults.submitterId = '?' AND - testResults.state = '?'"; + testResults.state = '?'$sWhereFilter"; } else { $sQuery = "SELECT COUNT(testingId) AS count FROM @@ -1208,15 +1226,15 @@ class testData{ ) ) AND - testResults.state = '?'"; + testResults.state = '?'$sWhereFilter"; }
$hResult = query_parameters($sQuery, $_SESSION['current']->iUserId, $sState); } else { - $sQuery = "SELECT COUNT(testingId) as count FROM testResults WHERE - testResults.state = '?'"; + $sQuery = "SELECT COUNT(testingId) as count FROM testResults$sExtraTables WHERE + testResults.state = '?'$sWhereFilter"; $hResult = query_parameters($sQuery, $sState); }
@@ -1234,8 +1252,19 @@ class testData{ return 'testingId'; }
- function objectGetEntries($sState, $iRows = 0, $iStart = 0, $sOrderBy = "testingId", $bAscending = true) + function objectGetEntries($sState, $iRows = 0, $iStart = 0, $sOrderBy = "testingId", $bAscending = true, $oFilters = null) { + $sExtraTables = ''; + $aOptions = $oFilters ? $oFilters->getOptions() : array('onlyWithoutMaintainers' => 'false'); + $sWhereFilter = ''; + + if($aOptions['onlyWithoutMaintainers'] == 'true') + { + $sExtraTables = ',appVersion'; + + $sWhereFilter .= " AND appVersion.hasMaintainer = 'false' AND appVersion.versionId = testResults.versionId"; + } + $oTest = new testData();
$sLimit = ""; @@ -1255,10 +1284,10 @@ class testData{ { if($sState == 'rejected') { - $sQuery = "SELECT testResults.* FROM testResults WHERE + $sQuery = "SELECT testResults.* FROM testResults$sExtraTables WHERE testResults.submitterId = '?' AND - testResults.state = '?' ORDER BY ?$sLimit"; + testResults.state = '?'$sWhereFilter ORDER BY ?$sLimit"; } else { $sQuery = "SELECT testResults.* FROM testResults, appVersion, @@ -1283,7 +1312,7 @@ class testData{ AND appMaintainers.state = 'accepted' AND - testResults.state = '?' ORDER BY ?$sLimit"; + testResults.state = '?'$sWhereFilter ORDER BY ?$sLimit"; } if($sLimit) { @@ -1296,8 +1325,8 @@ class testData{ } } else { - $sQuery = "SELECT testResults.* FROM testResults WHERE - testResults.state = '?' ORDER by ?$sLimit"; + $sQuery = "SELECT testResults.* FROM testResults$sExtraTables WHERE + testResults.state = '?'$sWhereFilter ORDER by ?$sLimit"; if($sLimit) $hResult = query_parameters($sQuery, $sState, $sOrderBy, $iStart, $iRows); else diff --git a/include/testData_queue.php b/include/testData_queue.php index fcc5992..0877535 100644 --- a/include/testData_queue.php +++ b/include/testData_queue.php @@ -147,14 +147,19 @@ class testData_queue return testData::objectGetDefaultSort(); }
- function objectGetEntries($sState, $iRows = 0, $iStart = 0, $sOrderBy = "testingId", $bAscending = true) + public function objectGetFilterInfo() { - return $this->oTestData->objectGetEntries($sState, $iRows, $iStart, $sOrderBy, $bAscending); + return testData::objectGetFilterInfo(); }
- function objectGetEntriesCount($sState) + function objectGetEntries($sState, $iRows = 0, $iStart = 0, $sOrderBy = "testingId", $bAscending = true, $oFilters = null) { - return testData::objectGetEntriesCount($sState); + return $this->oTestData->objectGetEntries($sState, $iRows, $iStart, $sOrderBy, $bAscending, $oFilters); + } + + function objectGetEntriesCount($sState, $oFilters = null) + { + return testData::objectGetEntriesCount($sState, $oFilters); }
function objectGetHeader()