Conflict between cividiscount and public registrations
Overview
There appears to be some conflict between CiviCRM 5.70-rc and cividiscount 3.8.9. I have not examined sufficiently to determine which one should be updated.
Reproduction steps
- Install CiviCRM 5.70 and cividiscount 3.8.9 (current master, via git)
- Create a free event with online registration. (I disabled confirmation-web-page and enabled conformation-email, FWIW.)
- In a new/private window:
- Open the event info page (
civicrm/event/info?reset=1&id=7
) - Open the event registration page (
civicrm/event/register?id=7&reset=1
)
- Open the event info page (
Current behaviour
civicrm/event/info
works but civicrm/event/register
raises an error:
ReflectionException: "Property CRM_Event_Form_Registration_Register::$_contactID does not exist"
#0 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Form.php(2114): ReflectionProperty->__construct(Object(CRM_Event_Form_Registration_Register), "_contactID")
#1 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/tools/extensions/cividiscount/cividiscount.php(453): CRM_Core_Form->getVar("_contactID")
#2 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/tools/extensions/cividiscount/cividiscount.php(95): _cividiscount_get_form_contact_id(Object(CRM_Event_Form_Registration_Register))
#3 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Utils/Hook.php(276): cividiscount_civicrm_buildForm("CRM_Event_Form_Registration_Register", Object(CRM_Event_Form_Registration_Register))
#4 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Utils/Hook/DrupalBase.php(73): CRM_Utils_Hook->runHooks((Array:60), "civicrm_buildForm", 2, "CRM_Event_Form_Registration_Register", Object(CRM_Event_Form_Registration_Register), NULL, NULL, NULL, NULL)
#5 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/Civi/Core/CiviEventDispatcher.php(314): CRM_Utils_Hook_DrupalBase->invokeViaUF(2, "CRM_Event_Form_Registration_Register", Object(CRM_Event_Form_Registration_Register), NULL, NULL, NULL, NULL, "civicrm_buildForm")
#6 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(251): Civi\Core\CiviEventDispatcher::delegateToUF(Object(Civi\Core\Event\GenericHookEvent), "hook_civicrm_buildForm", Object(Civi\Core\UnoptimizedEventDispatcher))
#7 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(73): Symfony\Component\EventDispatcher\EventDispatcher->callListeners((Array:1), "hook_civicrm_buildForm", Object(Civi\Core\Event\GenericHookEvent))
#8 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/Civi/Core/CiviEventDispatcher.php(263): Symfony\Component\EventDispatcher\EventDispatcher->dispatch(Object(Civi\Core\Event\GenericHookEvent), "hook_civicrm_buildForm")
#9 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Utils/Hook.php(168): Civi\Core\CiviEventDispatcher->dispatch("hook_civicrm_buildForm", Object(Civi\Core\Event\GenericHookEvent))
#10 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Utils/Hook.php(495): CRM_Utils_Hook->invoke((Array:2), "CRM_Event_Form_Registration_Register", Object(CRM_Event_Form_Registration_Register), NULL, NULL, NULL, NULL, "civicrm_buildForm")
#11 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Form.php(766): CRM_Utils_Hook::buildForm("CRM_Event_Form_Registration_Register", Object(CRM_Event_Form_Registration_Register))
#12 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Display.php(76): CRM_Core_Form->buildForm()
#13 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Display->perform(Object(CRM_Event_Form_Registration_Register), "display")
#14 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Event_Form_Registration_Register), "display")
#15 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Controller.php(355): HTML_QuickForm_Page->handle("display")
#16 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(322): CRM_Core_Controller->run((Array:3), NULL)
#17 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem((Array:18))
#18 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:3))
#19 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/drupal/civicrm.module(472): CRM_Core_Invoke::invoke((Array:3))
#20 /Users/totten/bknix/build/dmaster/web/includes/menu.inc(527): civicrm_invoke("event", "register")
#21 /Users/totten/bknix/build/dmaster/web/index.php(24): menu_execute_active_handler()
#22 {main}
Expected behaviour
Show registration screen
Environment information
- Browser: Firefox
- CiviCRM: 5.70-rc
- PHP: 8.1
- CMS: D7
- Database: MySQL 5.7
- Web Server: Apache