CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using CiviEvent (Moderator: Yashodha Chaku) »
  • Allow multiple "registrations"?
Pages: [1] 2

Author Topic: Allow multiple "registrations"?  (Read 4861 times)

kenahoo

  • I post occasionally
  • **
  • Posts: 83
  • Karma: 1
  • CiviCRM version: 4.1.1
  • CMS version: Drupal 7.15
  • MySQL version: 5.1.63
  • PHP version: 5.3.16
Allow multiple "registrations"?
December 18, 2010, 07:53:20 pm
I'm using CiviEvent for my organization (a performing arts organization) to sell tickets to a concert event.  In this case, people can purchase tickets online with a credit card, and we'll send them the paper tickets by mail. 

For the most part I've been able to set everything up very nicely so that the process is smooth.  The one gotcha that remains is that if someone buys a few tickets, then a while later comes back & wants to buy more, they get a warning/error saying "Oops.  It looks like you are already registered for this event."  Since the person thinks they're just trying to buy tickets, not "register" for an event, this is confusing, and stands in the way of them buying the tickets.

Is there a way for us to turn off this behavior, and just let someone purchase tickets as many times as they want, without warnings?  Creating multiple registration records is still fine (in fact, it's necessary, because we need to know when to send out more tickets in the mail).

I thought perhaps using the "Allow multiple registrations from the same email address?" setting in the Online Registration configuration might be what I'm looking for, but I do have that checked and people still get prevented from buying two rounds of tickets.

Thanks for your thoughts.

kenahoo

  • I post occasionally
  • **
  • Posts: 83
  • Karma: 1
  • CiviCRM version: 4.1.1
  • CMS version: Drupal 7.15
  • MySQL version: 5.1.63
  • PHP version: 5.3.16
Re: Allow multiple "registrations"?
December 19, 2010, 07:25:24 pm
One short-term workaround would be to change the "Oops" warning, telling them that they could call in their order over the phone.  Anyone know how I can do that?

Kiran Jagtap

  • Ask me questions
  • ****
  • Posts: 533
  • Karma: 51
Re: Allow multiple "registrations"?
December 19, 2010, 08:37:27 pm
IMO there is no such a soft settings which allows you to have multiple registration from same person.

you might want to take a close look for register multiple participant in a single go feature .

so any participant could register as many persons/seats for given event, but which would not allow to register same person twice.

I think better work around would be from contact tab -> Event -> either you could update registration or you could delete those registrations and allow to register again.

OR you might want to use / register participant using different data, so system should uniquely identify participants.

Quote
One short-term workaround would be to change the "Oops" warning, telling them that they could call in their order over the phone.  Anyone know how I can do that?
You need to write a custom code which suppress this validation.
go to CRM/Event/Form/Registration/Register.php line around 1153 and take a look for
CRM_Event_Form_Registration_Register::checkRegistration( ); function.

 
kiran
You Are Designed To Choose... Defined By Choice.

kenahoo

  • I post occasionally
  • **
  • Posts: 83
  • Karma: 1
  • CiviCRM version: 4.1.1
  • CMS version: Drupal 7.15
  • MySQL version: 5.1.63
  • PHP version: 5.3.16
Re: Allow multiple "registrations"?
December 20, 2010, 08:35:14 pm
Thanks Kiran.

Using Price Sets is working well for us to let someone buy multiple tickets in one shot, so I think that part is taken care of.  The only issue is if they come back & want to buy more tickets later.

Perhaps there's some other way I should be structuring this besides Event Registrations?  Registrations are nice because they automatically feed into the CRM, creating or updating contacts as needed, and because there's so much nice infrastructure already set up for them.  But really these are just online purchases, where we don't need to know the identity of every ticket holder.

yogibear

  • I post occasionally
  • **
  • Posts: 66
  • Karma: 0
    • Byron Yoga
  • CiviCRM version: 4.1
  • CMS version: 6.2
  • MySQL version: 5.0
  • PHP version: 5.2
Re: Allow multiple "registrations"?
December 26, 2010, 07:01:12 am
Hey, have you looked at "Contributions" section in Civi? (you may need to enable it here /civicrm/admin/setting/component&reset=1)

Basically allows the same email address to put money toward an event many times. Not sure how it would fit in with you specific event / ticket requirements but it is worth a look.

YB

kenahoo

  • I post occasionally
  • **
  • Posts: 83
  • Karma: 1
  • CiviCRM version: 4.1.1
  • CMS version: Drupal 7.15
  • MySQL version: 5.1.63
  • PHP version: 5.3.16
Re: Allow multiple "registrations"?
December 26, 2010, 11:44:09 am
Cool, thanks, I'll take a look at that.

kenahoo

  • I post occasionally
  • **
  • Posts: 83
  • Karma: 1
  • CiviCRM version: 4.1.1
  • CMS version: Drupal 7.15
  • MySQL version: 5.1.63
  • PHP version: 5.3.16
Re: Allow multiple "registrations"?
December 26, 2010, 12:33:14 pm
I think it should work, but I'm having trouble using the same Price Set as I use on my Event page.  In the Price Set sections, on the "2. Amounts" tab while configuring the Contribution, I see "No Price Set has been configured / enabled for your site...".

Anything special I need to do to get Price Sets to work in a Contribution?

yogibear

  • I post occasionally
  • **
  • Posts: 66
  • Karma: 0
    • Byron Yoga
  • CiviCRM version: 4.1
  • CMS version: 6.2
  • MySQL version: 5.0
  • PHP version: 5.2
Re: Allow multiple "registrations"?
December 26, 2010, 01:01:46 pm
Go make a new Price Set and choose "contribution" in the setup wizard and then it wil show for Contributions.


kmarkley

  • I post frequently
  • ***
  • Posts: 178
  • Karma: 14
  • CiviCRM version: 4.4.3
  • CMS version: Drupal 7.24
  • MySQL version: 5.1.56
  • PHP version: 5.3.27
Re: Allow multiple "registrations"?
December 29, 2010, 12:23:33 pm
Quote from: kenahoo on December 20, 2010, 08:35:14 pm
Using Price Sets is working well for us to let someone buy multiple tickets in one shot, so I think that part is taken care of.  The only issue is if they come back & want to buy more tickets later.

We've been selling tickets with price sets for some time now and get around this just by ticking the "Allow multiple registrations from the same email address?" box in the Online Registration section for the event.  (And leaving "Register multiple participants?" unticked.)

This was working fine for us last month in 3.2.4.  Has there been a recent change that breaks this?

kmarkley

  • I post frequently
  • ***
  • Posts: 178
  • Karma: 14
  • CiviCRM version: 4.4.3
  • CMS version: Drupal 7.24
  • MySQL version: 5.1.56
  • PHP version: 5.3.27
Re: Allow multiple "registrations"?
December 29, 2010, 02:16:07 pm
Just tested this both on the demo server and on my 3.3.1 install.  Apparently it is no longer possible to let folks come back and buy more tickets with the same email address.

This is a real problem for me and if I had noticed it in the list of 3.3 improvements, I certainly would not have upgraded.

I would appreciate any pointers on how I might disable this 'feature'.

TIA.

kenahoo

  • I post occasionally
  • **
  • Posts: 83
  • Karma: 1
  • CiviCRM version: 4.1.1
  • CMS version: Drupal 7.15
  • MySQL version: 5.1.63
  • PHP version: 5.3.16
Re: Allow multiple "registrations"?
December 29, 2010, 02:57:05 pm
Thanks for testing this, kmarkley.  So, it seems like the "Allow multiple registrations from the same email address?" feature simply got broken in some update somewhere.  I do have that box checked too.

I'm willing to help investigate if someone could point me in the right direction in the code.

kmarkley

  • I post frequently
  • ***
  • Posts: 178
  • Karma: 14
  • CiviCRM version: 4.4.3
  • CMS version: Drupal 7.24
  • MySQL version: 5.1.56
  • PHP version: 5.3.27
Re: Allow multiple "registrations"?
December 29, 2010, 03:15:03 pm
Quote from: kenahoo on December 29, 2010, 02:57:05 pm
So, it seems like the "Allow multiple registrations from the same email address?" feature simply got broken in some update somewhere. 

I think most people use "allow multiple registrations from the same email address?" in combination with "Register multiple participants?".  It is only those of us who think of 'registrations' as 'tickets' that use one without the other and only this sub-functionality that is broken.

The problem is in CRM/event/form/registration/register.php and might be related to the dedupe rules (a recent change switches from fuzzy to strict based on the $isAdditional variable).  I'm a little out of depth with anything beyond that.

kmarkley

  • I post frequently
  • ***
  • Posts: 178
  • Karma: 14
  • CiviCRM version: 4.4.3
  • CMS version: Drupal 7.24
  • MySQL version: 5.1.56
  • PHP version: 5.3.27
Re: Allow multiple "registrations"?
December 29, 2010, 03:35:34 pm
Maybe also worth mentioning a bit about this (and comment by me) in the 3.2 roadmap:
http://wiki.civicrm.org/confluence/display/CRM/CiviCRM+v3.2

Recent forum discussion about what the behavior should be:
http://forum.civicrm.org/index.php/topic,16672.0.html

A thread and issue regarding registering multiple participants:
http://forum.civicrm.org/index.php/topic,13696.0.html
http://issues.civicrm.org/jira/browse/CRM-6708

Generally, I've read stuff about possibly changing the way this works, but I've found nothing (so far) indicating a deliberate change had already been made.

Donald Lobo

  • Administrator
  • I’m (like) Lobo ;)
  • *****
  • Posts: 15963
  • Karma: 470
    • CiviCRM site
  • CiviCRM version: 4.2+
  • CMS version: Drupal 7, Joomla 2.5+
  • MySQL version: 5.5.x
  • PHP version: 5.4.x
Re: Allow multiple "registrations"?
December 29, 2010, 06:21:57 pm

we've tightened the conditions to prevent the same email address being used across multiple registrations which i suspect broke your use case

the "Allow multiple registrations from the same email address?" was designed for the one person registering multiple people via the same registration form

u'll need to do some code hacks to disable this feature.

lobo
A new CiviCRM Q&A resource needs YOUR help to get started. Visit our StackExchange proposed site, sign up and vote on 5 questions

kmarkley

  • I post frequently
  • ***
  • Posts: 178
  • Karma: 14
  • CiviCRM version: 4.4.3
  • CMS version: Drupal 7.24
  • MySQL version: 5.1.56
  • PHP version: 5.3.27
Re: Allow multiple "registrations"?
December 29, 2010, 08:58:07 pm
Thanks for the clarification.

Quote from: Donald Lobo on December 29, 2010, 06:21:57 pm
the "Allow multiple registrations from the same email address?" was designed for the one person registering multiple people via the same registration form

This amounts to saying that if "Register multiple participants?" is unchecked, then "Allow multiple registrations..." has no intended purpose, correct?  Yet kenahoo and I have a use case for exactly this (otherwise useless) combination of settings.  Might I humbly suggest that our use case is the correct behavior in this situation?

Here is a quick and dirty patch that seems to work:
Code: [Select]

--- civicrm/CRM/Event/Form/Registration/Register.php.orig 2010-12-29 22:08:56.000000000 -0600
+++ civicrm/CRM/Event/Form/Registration/Register.php 2010-12-29 22:47:00.000000000 -0600
@@ -1204,12 +1204,15 @@
             $participant->role_id    = $self->_values['event']['default_role_id'];
             $participant->is_test    = 0;
 
+            $allow_same_participant_emails = $self->_values['event']['allow_same_participant_emails'];
+
             $participant->find( );
             require_once 'CRM/Event/PseudoConstant.php';
             $statusTypes = CRM_Event_PseudoConstant::participantStatus( null, "is_counted = 1" );
             while ( $participant->fetch( ) ) {
                 if ( array_key_exists ( $participant->status_id, $statusTypes ) ) {
                     if ( !$isAdditional ) {
+                      if ( !$allow_same_participant_emails ) {
                         $registerUrl = CRM_Utils_System::url( 'civicrm/event/register',
                                                       "reset=1&id={$self->_values['event']['id']}&cid=0" );
                         $status = ts("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.")
@@ -1221,6 +1224,11 @@
                             $url .= '&action=preview';
                         }
                         CRM_Utils_System::redirect( $url );
+                      } else {
+                        $status = ts("Oops. It looks like you are already registered for this event. Continue only if you want to create additional registration(s) in your name.") ;
+                        $session->setStatus( $status );
+                        return $participant->id;
+                      }
                     }
 
                     if ( $isAdditional ) {

Or maybe there is a better way to do it?

Pages: [1] 2
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using CiviEvent (Moderator: Yashodha Chaku) »
  • Allow multiple "registrations"?

This forum was archived on 2017-11-26.