? test.patch
? usage/project_usage.css
? usage/project_usage.install___gmt
? usage/project_usage.install__all
? usage/project_usage.module___all
? usage/project_usage.module___gmt
Index: release/project_release.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/release/project_release.install,v
retrieving revision 1.12
diff -u -p -u -p -r1.12 project_release.install
--- release/project_release.install	22 Aug 2007 16:30:52 -0000	1.12
+++ release/project_release.install	10 Sep 2007 16:18:17 -0000
@@ -36,6 +36,13 @@ function project_release_install() {
           major int unsigned NOT NULL default '0',
           PRIMARY KEY (nid, tid)
         ) /*!40100 DEFAULT CHARACTER SET utf8 */;");
+      db_query("CREATE TABLE IF NOT EXISTS {project_release_package_errors} (
+          nid int unsigned NOT NULL default '0',
+          number int unsigned NOT NULL default '0',
+          timestamp int unsigned NOT NULL default '0',
+          message text,
+          PRIMARY KEY (nid, number)
+        ) /*!40100 DEFAULT CHARACTER SET utf8 */;");
       db_query("CREATE TABLE IF NOT EXISTS {cache_project_release} (
         cid varchar(255) BINARY NOT NULL default '',
         data longblob,
@@ -84,6 +91,15 @@ function project_release_install() {
             PRIMARY KEY (nid, tid)
           );");
       }
+      if (!db_table_exists('project_release_package_errors')) {
+        db_query("CREATE TABLE {project_release_package_errors} (
+          nid int NOT NULL default '0',
+          number int unsigned NOT NULL default '0',
+          timestamp int NOT NULL default '0',
+          message text,
+          PRIMARY KEY (nid, number)
+        )");
+      }
       if (!db_table_exists('cache_project_release')) {
         db_query("CREATE TABLE {cache_project_release} (
           cid varchar(255) NOT NULL default '',
@@ -247,3 +263,34 @@ function project_release_update_5001() {
   }
   return $ret;
 }
+
+/**
+ * Add {project_release_package_errors} table to track packaging errors.
+ */
+function project_release_update_5002() {
+  $ret = array();
+  switch ($GLOBALS['db_type']) {
+    case 'mysql':
+    case 'mysqli':
+      $ret[] = update_sql("CREATE TABLE IF NOT EXISTS {project_release_package_errors} (
+          nid int unsigned NOT NULL default '0',
+          number int unsigned NOT NULL default '0',
+          timestamp int unsigned NOT NULL default '0',
+          message text NOT NULL,
+          PRIMARY KEY (nid, number)
+        ) /*!40100 DEFAULT CHARACTER SET utf8 */;");
+      break;
+    case 'pgsql':
+      if (!db_table_exists('project_release_package_errors')) {
+        $ret[] = update_sql("CREATE TABLE {project_release_package_errors} (
+          nid int NOT NULL default '0',
+          number int unsigned NOT NULL default '0',
+          timestamp int NOT NULL default '0',
+          message text,
+          PRIMARY KEY (nid, number)
+        )");
+      }
+      break;
+  }
+  return $ret;
+}
Index: release/project_release.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/release/project_release.module,v
retrieving revision 1.46
diff -u -p -u -p -r1.46 project_release.module
--- release/project_release.module	23 Aug 2007 23:26:38 -0000	1.46
+++ release/project_release.module	10 Sep 2007 16:25:48 -0000
@@ -754,8 +754,25 @@ function project_release_view($node, $te
   }
   $node->content['release_info'] = array(
     '#value' => '<div class="project-release">'. $output .'</div>',
-    '#weight' => -1,
+    '#weight' => -2,
   );
+
+  // Display packaging errors to admins.
+  if (project_check_admin_access($node->pid)) {
+    $rows = array();
+    $result = db_query('SELECT * FROM {project_release_package_errors} WHERE nid = %d', $node->nid);
+    while ($error = db_fetch_object($result)) {
+      $rows[] = array($error->number, $error->message, format_date($error->timestamp, 'small'));
+    }
+    if ($rows) {
+      $header = array(t('Error number'), t('Error message'), t('Date'));
+      $node->content['release_errors'] = array(
+        '#value' => theme('table', $header, $rows),
+        '#weight' => -1,
+      );
+    }
+  }
+
   return $node;
 }
 
