Index: views/signup.views.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/signup/views/signup.views.inc,v
retrieving revision 1.5
diff -u -p -r1.5 signup.views.inc
--- views/signup.views.inc	18 Dec 2008 00:55:29 -0000	1.5
+++ views/signup.views.inc	18 Dec 2008 08:28:17 -0000
@@ -139,6 +139,14 @@ function signup_views_data() {
       ),
   );
 
+  $data['signup']['nid'] = array(
+    'title' => t('Node: Manage Signups link'),
+    'field' => array(
+      'handler' => 'signup_handler_field_signup_adminlink',
+      'help' => t('Link to manage Signups of a node.'),
+    ),
+  );
+
   // Define base group for signup_log table.
   $data['signup_log']['table']['group'] = t('Signup');
 
@@ -277,6 +285,9 @@ function signup_views_handlers() {
       'signup_handler_filter_boolean' => array(
         'parent' => 'views_handler_filter_boolean_operator',
       ),
+      'signup_handler_field_signup_adminlink' => array(
+        'parent' => 'views_handler_field_node_link',
+      ),
       'signup_handler_filter_signup_disabled' => array(
         'parent' => 'signup_handler_filter_boolean',
       ),
Index: views/handlers/signup_handler_field_signup_adminlink.inc
===================================================================
RCS file: views/handlers/signup_handler_field_signup_adminlink.inc
diff -N views/handlers/signup_handler_field_signup_adminlink.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ views/handlers/signup_handler_field_signup_adminlink.inc	18 Dec 2008 08:28:17 -0000
@@ -0,0 +1,21 @@
+<?php
+// $Id$
+
+/**
+ * Field handler to manage signups of a node.
+ */
+class signup_handler_field_signup_adminlink extends views_handler_field_node_link {
+  function render($values) {
+    // ensure user has access to edit this node.
+    $node = new stdClass();
+    $node->nid = $values->{$this->aliases['nid']};
+    $node->status = 1; // unpublished nodes ignore access control
+    if (!node_access('update', $node)) {
+      return;
+    }
+    
+    $text = !empty($this->options['text']) ? $this->options['text'] : t('manage signups');
+    return l($text, "node/$node->nid/signups", array('query' => drupal_get_destination()));
+  }
+}
+
