Index: admin_menu.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/admin_menu/admin_menu.inc,v retrieving revision 1.11.2.20 diff -u -p -r1.11.2.20 admin_menu.inc --- admin_menu.inc 28 Dec 2008 15:23:07 -0000 1.11.2.20 +++ admin_menu.inc 29 Jan 2009 23:43:31 -0000 @@ -363,6 +363,12 @@ function admin_menu_theme_settings() { '#default_value' => variable_get('admin_menu_tweak_modules', 0), '#description' => t('If enabled, fieldsets on the modules page are automatically collapsed when loading the page.', array('!modules-url' => url('admin/build/modules'))), ); + $form['tweaks']['admin_menu_tweak_permissions'] = array( + '#type' => 'checkbox', + '#title' => t('Collapse modules on Permissions page'), + '#default_value' => variable_get('admin_menu_tweak_permissions', 0), + '#description' => t('If enabled, modules on the permissions page are automatically collapsed when loading the page.', array('!permissions-url' => url('admin/user/permissions'))), + ); if (module_exists('util')) { $form['tweaks']['admin_menu_tweak_modules']['#description'] .= '
'. t('If the Utility module was installed for this purpose, it can be safely disabled and uninstalled.') .''; } Index: admin_menu.install =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/admin_menu/admin_menu.install,v retrieving revision 1.4.2.6 diff -u -p -r1.4.2.6 admin_menu.install --- admin_menu.install 28 Jan 2009 19:48:41 -0000 1.4.2.6 +++ admin_menu.install 29 Jan 2009 23:43:46 -0000 @@ -14,6 +14,7 @@ function admin_menu_uninstall() { variable_del('admin_menu_position_fixed'); variable_del('admin_menu_rebuild_links'); variable_del('admin_menu_tweak_modules'); + variable_del('admin_menu_tweak_permissions'); variable_del('admin_menu_tweak_tabs'); } Index: admin_menu.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/admin_menu/admin_menu.js,v retrieving revision 1.7.2.7 diff -u -p -r1.7.2.7 admin_menu.js --- admin_menu.js 24 Jan 2009 04:59:22 -0000 1.7.2.7 +++ admin_menu.js 29 Jan 2009 23:40:32 -0000 @@ -23,6 +23,25 @@ $(document).ready(function() { $('#system-modules fieldset:not(.collapsed), #system-modules-1 fieldset:not(.collapsed)').addClass('collapsed'); } + // Collapse modules on Permissions page. + if (Drupal.settings.admin_menu && Drupal.settings.admin_menu.tweak_permissions) { + $('tr:has(td.permission)').addClass('permission').hide(); + $('tr:has(td.module)').css('cursor', 'pointer').click(function () { + $.each($(this).nextAll(), function () { + // Toggle all permissions for this module. + if ($(this).is('.permission')) { + $(this).toggle(); + } + // Break this loop if we hit the next module. + else { + return false; + } + }); + // Update table header. + Drupal.tableHeaderDoScroll(); + }); + } + // Hover emulation for IE 6. if ($.browser.msie && parseInt(jQuery.browser.version) == 6) { $('#admin-menu li').hover(function() { Index: admin_menu.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/admin_menu/admin_menu.module,v retrieving revision 1.43.2.16 diff -u -p -r1.43.2.16 admin_menu.module --- admin_menu.module 28 Dec 2008 15:23:07 -0000 1.43.2.16 +++ admin_menu.module 29 Jan 2009 23:44:20 -0000 @@ -100,6 +100,9 @@ function admin_menu_init() { if ($_GET['q'] == 'admin/build/modules') { drupal_add_js(array('admin_menu' => array('tweak_modules' => variable_get('admin_menu_tweak_modules', 0))), 'setting'); } + if ($_GET['q'] == 'admin/user/permissions') { + drupal_add_js(array('admin_menu' => array('tweak_permissions' => variable_get('admin_menu_tweak_permissions', 0))), 'setting'); + } } }