Index: modules/system/system.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v retrieving revision 1.95 diff -u -p -r1.95 system.admin.inc --- modules/system/system.admin.inc 9 Oct 2008 00:02:29 -0000 1.95 +++ modules/system/system.admin.inc 10 Oct 2008 19:27:21 -0000 @@ -645,7 +645,7 @@ function system_modules($form_state = ar $extra = array(); // If the module is requried, set it to be so. if (in_array($filename, $modules_required)) { - $extra['required'] = TRUE; + continue; } $extra['enabled'] = (bool) $module->status; // If this module has dependencies, add them to the array. @@ -689,7 +689,6 @@ function system_modules($form_state = ar '#type' => 'fieldset', '#title' => t($package), '#collapsible' => TRUE, - '#access' => ($package != 'Core - required'), '#theme' => 'system_modules_fieldset', '#header' => array( array('data' => t('Enabled'), 'class' => 'checkbox'), @@ -722,7 +721,6 @@ function system_sort_modules_by_info_nam function _system_modules_build_row($info, $extra) { // Add in the defaults. $extra += array( - 'required' => FALSE, 'dependencies' => array(), 'dependents' => array(), 'disabled' => FALSE, @@ -773,7 +771,6 @@ function _system_modules_build_row($info $form['enable'] = array( '#type' => 'checkbox', '#title' => t('Enable'), - '#required' => $extra['required'], '#default_value' => $extra['enabled'], ); if ($extra['disabled']) { Index: modules/system/system.test =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.test,v retrieving revision 1.12 diff -u -p -r1.12 system.test --- modules/system/system.test 15 Sep 2008 20:48:09 -0000 1.12 +++ modules/system/system.test 10 Oct 2008 19:27:22 -0000 @@ -89,6 +89,18 @@ class EnableDisableCoreTestCase extends } /** + * Assert that core required modules cannot be disabled. + */ + function testDisableRequired() { + $required_modules = drupal_required_modules(); + foreach($required_modules as $module) { + // Check to make sure the checkbox for required module is not found. + $this->drupalGet('admin/build/modules'); + $this->assertNoFieldByName('modules[Core][' . $module . '][enable]'); + } + } + + /** * Assert tables that begin with the specified base table name. * * @param string $base_table Begginning of table name to look for.