cvs diff: Diffing includes
Index: includes/admin.settings.inc
===================================================================
RCS file: /Users/wright/drupal/local_repo/contributions/modules/signup/includes/admin.settings.inc,v
retrieving revision 1.2.2.1
diff -u -p -r1.2.2.1 admin.settings.inc
--- includes/admin.settings.inc	20 Dec 2008 06:31:27 -0000	1.2.2.1
+++ includes/admin.settings.inc	5 Jan 2009 21:00:26 -0000
@@ -105,8 +105,22 @@ function signup_settings_form() {
     '#description' => t('Users with the %view_signups permission can be presented with a list of all users who have signed up. This setting controls if and how that list should be generated. !views_help_text', array('%view_signups' => t('view all signups'), '!views_help_text' => $views_help_text)),
     '#prefix' => '<div class="signup-display-signup-user-list-setting">',
     '#suffix' => '</div>',
+    '#weight' => 1,
   );
 
+  if (module_exists('views_bulk_operations')) {
+    $form['adv_settings']['signup_display_signup_admin_list'] = array(
+      '#title' => t('How to display the administrative list of signed-up users'),
+      '#type' => 'radios',
+      '#options' => $display_options,
+      '#default_value' => variable_get('signup_display_signup_admin_list', 'signup'),
+      '#description' => t('Users with permission to administer signups for a given node will see a list of users  of all users who have signed up. This setting controls if and how that list should be generated. !views_help_text', array('%view_signups' => t('view all signups'), '!views_help_text' => $views_help_text)),
+      '#prefix' => '<div class="signup-display-signup-admin-list-setting">',
+      '#suffix' => '</div>',
+      '#weight' => 5,
+    );
+  }
+
   if (module_exists('views')) {
     $class = 'signup-user-list-view-settings';
     if (variable_get('signup_form_location', 'node') == 'none' || variable_get('signup_display_signup_user_list', 'signup') != 'embed-view') {
@@ -115,6 +129,7 @@ function signup_settings_form() {
     $form['adv_settings']['view_settings'] = array(
       '#prefix' => '<div class="'. $class .'">',
       '#suffix' => '</div>',
+      '#weight' => 2,
     );
 
     $views = views_get_all_views();
@@ -135,6 +150,27 @@ function signup_settings_form() {
     );
   }
 
+  if (module_exists('views_bulk_operations')) {
+    $class = 'signup-admin-list-view-settings';
+    if (variable_get('signup_display_signup_admin_list', 'signup') != 'embed-view') {
+      $class .= ' js-hide';
+    }
+    $form['adv_settings']['admin_view_settings'] = array(
+      '#prefix' => '<div class="'. $class .'">',
+      '#suffix' => '</div>',
+      '#weight' => 6,
+    );
+
+    // Since VBO requires views, $view_options is still initialized from above.
+    $form['adv_settings']['admin_view_settings']['signup_admin_list_view'] = array(
+      '#title' => t('View to embed for the signup administrative list'),
+      '#type' => 'select',
+      '#options' => $view_options,
+      '#default_value' => variable_get('signup_admin_list_view', 'signup_user_admin_list:page_1'),
+      '#description' => t("If the administer signups user list is being generated by embedding a view, this selects which view should be used. The view's name, description, and display(s) it defines are listed.  NOTE: if you enable or customize the view being used for this, you should strongly consider disabling the view's menu items to prevent a duplicate tab showing the same information."),
+    );
+  }
+
   // Use our own submit handler, so we can do some processing before
   // we hand control to system_settings_form_submit.
   $form = system_settings_form($form);
Index: includes/node_admin.inc
===================================================================
RCS file: /Users/wright/drupal/local_repo/contributions/modules/signup/includes/node_admin.inc,v
retrieving revision 1.1.2.3
diff -u -p -r1.1.2.3 node_admin.inc
--- includes/node_admin.inc	20 Dec 2008 06:31:27 -0000	1.1.2.3
+++ includes/node_admin.inc	5 Jan 2009 21:06:19 -0000
@@ -18,7 +18,23 @@ function signup_node_admin_page($node) {
   $signup_node_admin_summary_form = drupal_get_form('signup_node_admin_summary_form', $node);
 
   // Signup details table, including cancel checkboxes.
-  $signup_node_admin_details_form = drupal_get_form('signup_node_admin_details_form', $node);
+  $display_list = variable_get('signup_display_signup_admin_list', 'signup');
+  if ($display_list == 'signup') {
+    $signup_node_admin_details_form = drupal_get_form('signup_node_admin_details_form', $node);
+  }
+  elseif ($display_list == 'embed-view' && module_exists('views')) {
+    $signup_view = variable_get('signup_admin_list_view', 'signup_admin_user_list:page');
+    $signup_view_parts = explode(':', $signup_view);
+    $view_name = $signup_view_parts[0];
+    $view_display = $signup_view_parts[1];
+    $view = views_get_view($view_name);
+    $view_args = array($node->nid);
+    $signup_node_admin_details_form = $view->preview($view_display, $view_args);
+  }
+  else {
+    // They don't want the administrative user list at all.
+    $signup_node_admin_details_form = '';
+  }
 
   return theme('signup_node_admin_page', $node, $signup_node_admin_summary_form, $signup_node_admin_details_form);
 }
cvs diff: Diffing js
Index: js/admin.settings.js
===================================================================
RCS file: /Users/wright/drupal/local_repo/contributions/modules/signup/js/admin.settings.js,v
retrieving revision 1.3.2.1
diff -u -p -r1.3.2.1 admin.settings.js
--- js/admin.settings.js	20 Dec 2008 06:31:27 -0000	1.3.2.1
+++ js/admin.settings.js	5 Jan 2009 20:56:03 -0000
@@ -27,7 +27,7 @@ Drupal.behaviors.signupShowFormLocationS
  * If the signup user list is going to be an embedded view, show the
  * view-related settings, otherwise, hide them.
  */
-Drupal.behaviors.signupShowUserListSetting = function () {
+Drupal.behaviors.signupShowUserListViewSetting = function () {
   $('div.signup-display-signup-user-list-setting input.form-radio').click(function () {
     if (this.value == 'embed-view') {
       $('div.signup-user-list-view-settings').show();
@@ -37,3 +37,20 @@ Drupal.behaviors.signupShowUserListSetti
     }
   });
 };
+
+/**
+ * Conditionally show/hide settings based on the signup admin list setting.
+ *
+ * If the administer signup user list is going to be an embedded view,
+ * show the view-related settings, otherwise, hide them.
+ */
+Drupal.behaviors.signupShowAdminListViewSetting = function () {
+  $('div.signup-display-signup-admin-list-setting input.form-radio').click(function () {
+    if (this.value == 'embed-view') {
+      $('div.signup-admin-list-view-settings').show();
+    }
+    else {
+      $('div.signup-admin-list-view-settings').hide();
+    }
+  });
+};
