Support previewing version when submitting application

This commit is contained in:
Alexander Nicolaysen Sørnes
2007-10-25 11:57:18 +02:00
committed by Chris Morgan
parent 69d584ed85
commit dba90a0924
2 changed files with 53 additions and 8 deletions

View File

@@ -160,7 +160,7 @@ class application_queue
return FALSE;
}
function outputEditor()
function outputEditor($aClean = array())
{
/* We ask the user for the application name first so as to avoid duplicate
submissons; a list of potential duplicates is displayed on the next page */
@@ -203,6 +203,23 @@ class application_queue
$this->oVersionQueue->oVersion->iVersionId, $aClean);
$this->oVersionQueue->oTestDataQueue->outputEditor();
/* Allow the user to choose whether to preview the application view
or the version view. Application view is default */
echo html_frame_start("Select What to Preview");
$sPreviewVersion = $aClean['bPreviewVersion'] ? $aClean['bPreviewVersion'] : "";
$shPreviewApp = '';
$shPreviewVersion = '';
if($sPreviewVersion == "true")
$shPreviewVersion = ' checked="checked"';
else
$shPreviewApp = ' checked="checked"';
echo "<input type=\"radio\" name=\"bPreviewVersion\"$shPreviewApp value=\"false\" /> Preview application<br />\n";
echo "<input type=\"radio\" name=\"bPreviewVersion\"$shPreviewVersion value=\"true\" /> Preview version\n";
echo html_frame_end();
}
}
@@ -297,14 +314,35 @@ class application_queue
echo "</table>";
}
function display()
function objectGetCustomVars($sAction)
{
switch($sAction)
{
case "preview":
return array("bPreviewVersion");
default:
return 0;
}
}
function display($aClean = array())
{
/* Cache the version object if it is not in the database */
if(!$this->oVersionQueue->objectGetId())
$this->oApp->aVersions = array($this->oVersionQueue->oVersion);
$sPreviewVersion = $aClean['bPreviewVersion'] ? $aClean['bPreviewVersion'] : "";
if($sPreviewVersion == "true")
{
$this->oVersionQueue->oVersion->oApp = $this->oApp;
$this->oVersionQueue->display();
} else
{
$this->oApp->display();
}
}
function objectMakeUrl()
{

View File

@@ -26,6 +26,7 @@ define("LICENSE_RETAIL", "Retail");
class version {
var $iVersionId;
var $iAppId;
var $oApp; /* Parento object */
var $sName;
var $sDescription;
var $sTestedRelease;
@@ -759,6 +760,16 @@ class version {
return TRUE;
}
/* Not standard OM function yet, but will be in the future */
public function objectGetParent()
{
/* No id so we can't query the DB, but perhaps an entry is cached? */
if(!$this->iAppId)
return $this->oApp;
return new application($this->iAppId);
}
public function display($aVars = array())
{
/* is this user supposed to view this version? */
@@ -767,11 +778,7 @@ class version {
$iTestingId = $aVars['iTestingId'] ? $aVars['iTestingId'] : 0;
$oApp = new Application($this->iAppId);
// Oops! application not found or other error. do something
if(!$oApp->iAppId)
util_show_error_page_and_exit('Internal Database Access Error. No App found.');
$oApp = $this->objectGetParent();
// show Vote Menu
if($_SESSION['current']->isLoggedIn())