Fixed redirect issue on Event registration #60
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When using sagepay payment processor to purchase a event user get error saying 'Your browser session has expired and we are unable to complete your form submission. We have returned you to the initial step so you can complete and resubmit the form. If you experience continued difficulties, please contact us for assistance.' even though the payment is successful and recorded successfully in CiviCRM. The user also gets confirmation email saying they have registered for event.
Digging into the code i found that extension is saving the success or fail url in session before leaving CiviCRM to go to Payment Gateway screen and when it comes back it doesn't find the url in session and when it tries to rebuild the url and it defaults to use Contribution thank you page(because the component is not being set) which causes the controller to throw above error.
My PR fixes the problem by just checking if the contribution is linked to Participant and based on it sets the component.
@eileenmcnaughton @mattwire Can you please review this for me?