Index: CHANGELOG.txt
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/autoassignrole/CHANGELOG.txt,v
retrieving revision 1.5
diff -u -p -r1.5 CHANGELOG.txt
--- CHANGELOG.txt	19 Oct 2010 00:06:59 -0000	1.5
+++ CHANGELOG.txt	19 Oct 2010 04:07:17 -0000
@@ -8,3 +8,4 @@ autoassignrole 7.0, xxxx-xx-xx (developm
 - [#937678] Use Case - Administrator sets roles for automatic assignment
 - [#944880] Administrator toggles allowing user to select role
 - [#944922] Administrator sets roles that will be visible to the end user
+- [#944944] Administrator toggles letting user select multiple roles
Index: autoassignrole.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/autoassignrole/autoassignrole.admin.inc,v
retrieving revision 1.4
diff -u -p -r1.4 autoassignrole.admin.inc
--- autoassignrole.admin.inc	19 Oct 2010 00:06:59 -0000	1.4
+++ autoassignrole.admin.inc	19 Oct 2010 04:07:17 -0000
@@ -107,5 +107,13 @@ function autoassignrole_user_settings() 
     );
   }
 
+  $form['autoassignrole_user_multiple'] = array(
+    '#type' => 'radios',
+    '#title' => t('User Role Selection'),
+    '#default_value' => variable_get('autoassignrole_user_multiple', 0),
+    '#description' => t('Should the end user be allowed to choose a single role or can they choose multiple roles?'),
+    '#options' => array(0 => t('Single Role'), 1 => t('Multiple Roles')),
+  );
+
   return system_settings_form($form);
 }
Index: autoassignrole.test
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/autoassignrole/autoassignrole.test,v
retrieving revision 1.5
diff -u -p -r1.5 autoassignrole.test
--- autoassignrole.test	19 Oct 2010 00:06:59 -0000	1.5
+++ autoassignrole.test	19 Oct 2010 04:07:18 -0000
@@ -242,4 +242,49 @@ class AutoassignroleAdminSettingsTestCas
       $this->assertEqual(TRUE, array_key_exists($rid, $roles), 'Verifying that role (rid:' . $rid . ') was activated.');
     }
   }
+ /**
+  * Test admin setting functionality for autoassignrole_user_multiple.
+  * @see http://drupal.org/node/944944
+  */
+  function testAdminUserMultipleSettings() {
+    // Create a new user who can access the administration settings
+    $this->drupalLogin($this->admin_user);
+
+    // Check that the user can see the admin settings page.
+    $this->drupalGet('admin/config/autoassignrole/user');
+    $this->assertField(
+     'autoassignrole_user_multiple',
+     'The autoassignrole_user_multiple field is accessible.'
+    );
+
+    // Enable autoassignrole_user_multiple
+    $edit['autoassignrole_user_multiple'] = 1;
+    $this->drupalPost(
+      'admin/config/autoassignrole/user',
+      $edit,
+      t('Save configuration')
+    );
+
+    // Verify autoassignrole_user_multiple has been enabled
+    $this->assertEqual(
+      variable_get('autoassignrole_user_multiple', 0),
+      1,
+      'autoassignrole_user_multiple has been enabled'
+    );
+
+    // Disable autoassignrole_user_multiple
+    $edit['autoassignrole_user_multiple'] = 0;
+    $this->drupalPost(
+      'admin/config/autoassignrole/user',
+      $edit,
+      t('Save configuration')
+    );
+
+    // Verify autoassignrole_user_multiple has been disabled
+    $this->assertEqual(
+      variable_get('autoassignrole_user_multiple', 1),
+      0,
+      'autoassignrole_user_multiple has been disabled'
+    );
+  }
 }
