Details
Description
More than one anonymous event registration is not allowed from the same browser. With Firefox, this occurs even after closing and restarting. The current behaviour does reduce the possibility of malicious multiple anonymous registrations but CAPTCHA would be the appropriate solution if that is a problem, and there are use cases where more than one person would like to sign-up for an event and would use the same browser.
To recreate:
1. Create an event with public registration allowed (and I was testing with no payment option)
2. Log off from the site
3. Visit the event page, follow the registration link, enter email, and confirm the sign-up
4. Visit the event page again, follow the registration link and see the following message appear:
"status
Oops. It looks like you are already registered for this event. If you want to change your registration, or you feel that you've gotten this message in error, please contact the site administrator."
5. Close browser (tested with Firefox) and then repeat step 4 and observe the same behaviour.
The problem manifests in CRM/Event/Form/Registration/Register.php where the ContactID of the previously registered anonymous user is maintained in the session.
For logged-in users the behaviour is correct, but multiple anonymous users should be allowed to register.
A more sophisticated behaviour that might be useful for anonymous registrant would use dupe checking as follows:
a) If the anonymous user's email address matches the email of an active Drupal user (i.e. they could request the password if they forgot it) and has an entry in the CiviCRM database then ask the user to log-in before signing up; otherwise
b) add the new contact and register for them for the event (current behaviour)