appdb/include distribution.php sidebar.php sid ...

WineHQ wineowner at wine.codeweavers.com
Tue Mar 13 11:59:35 CDT 2007


ChangeSet ID:	30963
CVSROOT:	/opt/cvs-commit
Module name:	appdb
Changes by:	wineowner at winehq.org	2007/03/13 11:59:35

Modified files:
	include        : distribution.php sidebar.php sidebar_admin.php 

Log message:
	Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
	Add distribution queue.
	
	Queued distributions are still treated like un-queued ones, since currently
	only 8 distributions are un-queued.  'View Distributions', however, will only
	show un-queued distributions.
	
	If an admin tries to remove a distribution with associated test results, an
	error is printed and no action is performed.  This could be improved in the
	future by showing a 'move test data' link.

Patch: http://cvs.winehq.org/patch.py?id=30963

Old revision  New revision  Changes     Path
 1.12          1.13          +19 -36     appdb/include/distribution.php
 1.27          1.28          +1 -1       appdb/include/sidebar.php
 1.30          1.31          +3 -0       appdb/include/sidebar_admin.php

Index: appdb/include/distribution.php
diff -u -p appdb/include/distribution.php:1.12 appdb/include/distribution.php:1.13
--- appdb/include/distribution.php:1.12	13 Mar 2007 16:59:35 -0000
+++ appdb/include/distribution.php	13 Mar 2007 16:59:35 -0000
@@ -145,9 +145,15 @@ class distribution {
         // is the current user allowed to delete this Distribution? 
         if(!$_SESSION['current']->hasPriv("admin") &&
            !($_SESSION['current']->iUserId == $this->iSubmitterId))
-        {
             return;
+
+        /* Check for associated test results */
+        if(sizeof($this->aTestingIds))
+        {
+            addmsg("This distribution still has associated test results", "red");
+            return FALSE;
         }
+
         // now delete the Distribution 
         $sQuery = "DELETE FROM distributions
                    WHERE distributionId = '?' 
@@ -179,7 +185,7 @@ class distribution {
         if(!$this->sQueued == 'true')
             return false;
 
-        if(query_parameters("UPDATE distribution SET queued = '?' WHERE distributionId = '?'",
+        if(query_parameters("UPDATE distributions SET queued = '?' WHERE distributionId = '?'",
                             "false", $this->iDistributionId))
         {
             $this->sQueued = 'false';
@@ -206,23 +212,7 @@ class distribution {
         if(!$this->sQueued == 'true')
             return false;
 
-        if(query_parameters("UPDATE distribution SET queued = '?' WHERE distributionId = '?'",
-                            "rejected", $this->iDistributionId))
-        {
-            $this->sQueued = 'rejected';
-            // we send an e-mail to interested people
-            if(!$bSilent)
-            {
-                $this->mailSubmitter("reject");
-                $this->SendNotificationMail("reject");
-            }
-            // the Distribution data has been rejected
-            return true;
-        } else
-        {
-            addmsg("Error while rejecting Distribution", "red");
-            return false;
-        }
+        return $this->delete();
     }
 
     function ReQueue()
@@ -271,16 +261,6 @@ class distribution {
                    $sMsg  = "The Distribution you submitted (".$this->sName.") has been accepted.";
                }
             break;
-            case "reject":
-                {
-                    $sSubject =  "Distribution rejected";
-                    $sMsg  = "The Distribution you submitted (".$this->sName.") has been rejected.";
-                    $sMsg .= APPDB_ROOT."testingData.php?sSub=view&iVersionId=".$this->iVersionId."\n";
-                    $sMsg .= "Reason given:\n";
-                    $sMsg .= $aClean['sReplyText']."\n"; // append the reply text, if there is any 
-                }
-
-            break;
             case "delete":
                 {
                     $sSubject =  "Submitted Distribution deleted";
@@ -387,14 +367,12 @@ class distribution {
     }
 
     /* Get the total number of Distributions in the database */
-    function getNumberOfDistributions($bQueued)
+    function objectGetEntriesCount($bQueued)
     {
-        if($bQueued)
-            $hResult = query_parameters("SELECT count(*) as num_dists FROM
-                                        distributions WHERE queued='true';");
-        else
-            $hResult = query_parameters("SELECT count(*) as num_dists FROM
-                                        distributions");
+            $hResult = query_parameters("SELECT count(distributionId) as num_dists FROM
+                                        distributions WHERE queued='?'",
+                                        $bQueued ? "true" : "false");
+
         if($hResult)
         {
             $oRow = mysql_fetch_object($hResult);
@@ -490,6 +468,11 @@ class distribution {
         return FALSE;
     }
 
+    function objectHideDelete()
+    {
+        return TRUE;
+    }
+
     function display()
     {
         echo "Distribution Name:";
Index: appdb/include/sidebar.php
diff -u -p appdb/include/sidebar.php:1.27 appdb/include/sidebar.php:1.28
--- appdb/include/sidebar.php:1.27	13 Mar 2007 16:59:35 -0000
+++ appdb/include/sidebar.php	13 Mar 2007 16:59:35 -0000
@@ -28,7 +28,7 @@ function global_sidebar_menu()
     $g->add("Submit Application", BASE."appsubmit.php?sSub=view&sAppType=application");
     $g->add("Help &amp; Documentation", BASE."help/");
     $g->add("AppDB Stats", BASE."appdbStats.php");
-    $g->add("View Distributions (".distribution::getNumberOfDistributions(false).")", BASE."objectManager.php?sClass=distribution&bIsQueue=false&sTitle=View%20Distributions");
+    $g->add("View Distributions (".distribution::objectGetEntriesCount(false).")", BASE."objectManager.php?sClass=distribution&bIsQueue=false&sTitle=View%20Distributions");
     $g->add("View Vendors (".getNumberOfvendors().")", BASE."objectManager.php?sClass=vendor&bIsQueue=false&sTitle=View%20Vendors");
     $g->add("Email your suggestions for improving the AppDB", "mailto:appdb at winehq.org");
     $g->done();    
Index: appdb/include/sidebar_admin.php
diff -u -p appdb/include/sidebar_admin.php:1.30 appdb/include/sidebar_admin.php:1.31
--- appdb/include/sidebar_admin.php:1.30	13 Mar 2007 16:59:35 -0000
+++ appdb/include/sidebar_admin.php	13 Mar 2007 16:59:35 -0000
@@ -30,6 +30,9 @@ function global_admin_menu() {
             BASE."admin/adminBugs.php");
     $g->add("View Test Results Queue (".testData::getNumberOfQueuedTests().")",
             BASE."admin/adminTestResults.php");
+    $g->add("View Distribution Queue (".distribution::objectGetEntriesCount(true).")",
+            BASE."objectManager.php?sClass=distribution&bIsQueue=true&sTitle=".
+            "Distribution%20Queue");
 
     $g->addmisc("&nbsp;");
     $g->add("Users Management", BASE."admin/adminUsers.php");



More information about the wine-cvs mailing list