Support

Home Forums Event Espresso Premium Missing attendee (pre-approval mode)

Missing attendee (pre-approval mode)

Posted: May 29, 2014 at 6:44 am


Vittorio Pennazio

May 29, 2014 at 6:44 am

Hi, I am running EE 3.1.36.5.P and something weird just happened. Registrant at our event (http://innovationroundtable.com/summit/event-registration/?ee=3) needs to be approved by an admin before proceeding with payment (pre-approval: on). We received 2 e-mail notification with registration requests from 2 different participants (from the same company), but once we accessed the back-end we could only see the second attendee (id=62). The previous registrant who completed her registration is id=60, but no trace of id=61 in the system. Although we received an e-mail notification about the pending registration of that person (luckily it shows his e-mail address, so we can get back to him and ask to register again… but still, quite scary! ๐Ÿ˜ ).

What could have happened?

Thanks for your support!

Vittorio


Lorenzo Orlando Caum

  • Support Staff

May 29, 2014 at 11:18 am

Hi Vittorio,

This could happen if a registrant begins a registration and then uses the back button (possibly trying to register for a different event) prior to completing payment.

There are some safeguards in place to show a warning but if the registrant clicked ok to go back and complete another registration, then this would overwrite the prior registration.


Lorenzo


Vittorio Pennazio

May 30, 2014 at 6:38 am

Hi Lorenzo,

Thanks for your prompt feedback. I guessed that something similar might have happened but, just to be 100% sure, when is the pre-approval notification e-mail sent to the event administrator, before or after they confirmed their data? I mean, the current registration flow is:

page 1) attendee fills in his/her data and clicks on the button
page 2) see the total price and data and confirms them by clicking on the button
page 3) message showing that the registration is pending approval
(and then, registration step 2, they receive the approval e-mail, go back to the site from the link we provided and proceed with payment)

So is the notification e-mail sent to us after page 1 or after page 2?


Dean

May 30, 2014 at 6:47 am

Hi,

The user must click the “Complete Registration” button on the Registration Confirmation page before any emails are sent, so after page 2.

At that point though, there session should have been finalised and even if they go back they should end up creating a new attendee rather than over writing the previous one.


Vittorio Pennazio

May 30, 2014 at 6:49 am

Thanks! Then something else went wrong, since we received the e-mail about that participant but his record (I guess id=61) never appeared in the system ๐Ÿ˜ Any clue of what could be the reason?


Sidney Harrell

May 30, 2014 at 10:51 am

Do you have access to phpmyadmin to look directly in the attendee table in the database for an entry with ID 61? The table should auto-increment the ID, so I wonder if it shows 60 and 62 with no 61 in between, or a 61 that is blank.


Vittorio Pennazio

May 31, 2014 at 2:57 am

Yep, I’ve just checked and line 61 is missing.


Tony

  • Support Staff

June 2, 2014 at 3:50 am

Hi Vittorio,

What’s happening here is the session is not being closed when the Pre-approval message is being sent, so if the user registers onto an a Pre-approval event, is shown the Pre-approval message stating they will receive an email and then they click back and either re-register onto the same event, or onto another, it actually overwrites the previous registration as the session details are the same.

I have opened a ticket to investigate and fix this, however I can provide you with a snippet of code to prevent this in the future until a fix is released.

event-espresso\includes\process-registration\pending_approval_page.php

On lines 83-90 you’ll find

if (file_exists(EVENT_ESPRESSO_TEMPLATE_DIR . "pending_approval.php")) {
    	require_once(EVENT_ESPRESSO_TEMPLATE_DIR . "pending_approval.php");
	} else {
   		require_once(EVENT_ESPRESSO_PLUGINFULLPATH . "templates/pending_approval.php");
	}	
} else {
	wp_die( _e('An error occured. The primary attendee could not be located.', 'event_espresso'));		
}

Make a little space after line 87 and add:

espresso_cancelled();

So it will look like this:

if (file_exists(EVENT_ESPRESSO_TEMPLATE_DIR . "pending_approval.php")) {
    	require_once(EVENT_ESPRESSO_TEMPLATE_DIR . "pending_approval.php");
	} else {
   		require_once(EVENT_ESPRESSO_PLUGINFULLPATH . "templates/pending_approval.php");
	}
espresso_cancelled();	
} else {
 wp_die( _e('An error occured. The primary attendee could not be located.', 'event_espresso'));
}

Image – http://take.ms/hNkEM

espresso_cancelled() basically closes the current session, it does not remove the registration etc but simply starts a new session.

To note, this may not be a full/final fix, I found no adverse effects in doing this, we will release a ‘final’ fix after one has been fully tested.


Vittorio Pennazio

June 3, 2014 at 5:47 am

Great, thanks!

The support post ‘Missing attendee (pre-approval mode)’ is closed to new replies.

Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.

Event Espresso