Index: release/project_release.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/release/project_release.module,v
retrieving revision 1.132
diff -u -p -r1.132 project_release.module
--- release/project_release.module	26 Nov 2009 15:13:51 -0000	1.132
+++ release/project_release.module	26 Nov 2009 21:25:32 -0000
@@ -1857,3 +1857,23 @@ function project_release_get_version_ext
   return variable_get('project_release_version_extra_weights', $default_map);
 }
 
+/**
+ * Get the human-readable update status string, or an array of all statuses.
+ *
+ * @param $status
+ *   Optional status code to get the human-readable string for. If NULL, the
+ *   whole mapping of status codes to strings is returned.
+ *
+ * @return
+ *   If $status is defined, the human-readable string for that status,
+ *   otherwise, an associative array of status strings keyed by status code.
+ */
+function project_release_update_status($status = NULL) {
+  $status_map = array(
+    PROJECT_RELEASE_UPDATE_STATUS_CURRENT => t('Up to date'),
+    PROJECT_RELEASE_UPDATE_STATUS_NOT_CURRENT => t('Update available'),
+    PROJECT_RELEASE_UPDATE_STATUS_NOT_SECURE => t('Not secure!'),
+  );
+  return isset($status) ? $status_map[$status] : $status_map;
+}
+
cvs diff: Diffing release/views
Index: release/views/project_release.views.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/release/views/project_release.views.inc,v
retrieving revision 1.6
diff -u -p -r1.6 project_release.views.inc
--- release/views/project_release.views.inc	26 Nov 2009 04:31:24 -0000	1.6
+++ release/views/project_release.views.inc	26 Nov 2009 21:25:32 -0000
@@ -145,6 +145,25 @@ function project_release_views_data() {
   // @TODO:  version_extra
   // @TODO:  version_extra_weight
 
+  $data['project_release_nodes']['update_status'] = array(
+    'title' => t('Update status'),
+    'help' => t('The status of this release for updates.'),
+    'field' => array(
+      'group' => t('Project release'),
+      'handler' => 'project_release_handler_field_release_update_status',
+      'click sortable' => TRUE,
+     ),
+    'sort' => array(
+      'handler' => 'views_handler_sort',
+    ),
+    'filter' => array(
+      'handler' => 'project_release_handler_filter_release_update_status',
+    ),
+    'argument' => array(
+      'handler' => 'views_handler_argument_numeric',
+    ),
+  );
+
   $data['project_release_file']['table']['group']  = t('Project release');
   $data['project_release_file']['table']['join'] = array(
     'node' => array(
@@ -414,12 +433,18 @@ function project_release_views_handlers(
       'project_release_handler_field_most_recent_release' => array(
         'parent' => 'views_handler_field_date',
       ),
+      'project_release_handler_field_release_update_status' => array(
+        'parent' => 'views_handler_field',
+      ),
       'project_release_handler_filter_project_release_api_version' => array(
         'parent' => 'views_handler_filter_term_node_tid',
       ),
       'project_release_handler_filter_release_node_nid' => array(
         'parent' => 'views_handler_filter',
       ),
+      'project_release_handler_filter_release_update_status' => array(
+        'parent' => 'views_handler_filter_in_operator',
+      ),
       'project_release_handler_relationship_project_project_release_node' => array(
         'parent' => 'views_handler_relationship',
       ),
cvs diff: Diffing release/views/default_views
cvs diff: Diffing release/views/handlers
Index: release/views/handlers/project_release_handler_field_release_update_status.inc
===================================================================
RCS file: release/views/handlers/project_release_handler_field_release_update_status.inc
diff -N release/views/handlers/project_release_handler_field_release_update_status.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ release/views/handlers/project_release_handler_field_release_update_status.inc	26 Nov 2009 21:25:32 -0000
@@ -0,0 +1,12 @@
+<?php
+// $Id$
+
+/**
+ * Field handler to display the current update status of a release.
+ */
+class project_release_handler_field_release_update_status extends views_handler_field {
+  function render($values) {
+    return check_plain(project_release_update_status($values->{$this->field_alias}));
+  }
+}
+
Index: release/views/handlers/project_release_handler_filter_release_update_status.inc
===================================================================
RCS file: release/views/handlers/project_release_handler_filter_release_update_status.inc
diff -N release/views/handlers/project_release_handler_filter_release_update_status.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ release/views/handlers/project_release_handler_filter_release_update_status.inc	26 Nov 2009 21:25:32 -0000
@@ -0,0 +1,12 @@
+<?php
+// $Id$
+
+/**
+ * Filter release nodes based on their update status.
+ */
+class project_release_handler_filter_release_update_status extends views_handler_filter_in_operator {
+  function get_value_options() {
+    $this->value_options = project_release_update_status();
+  }
+}
+
