When creating a manual event registration, the notes section (source) has a character limit but doesn't check for one
Attempted to manually add a participant to an event using the "Add event registration" tab on their CiviCRM profile, but the screen wouldn't save, the page just stays frozen and fails to complete.
Looking at the error log:
...[nativecode=1406 ** Data too long for column 'source' at row 1]"]...
The 'source' field in table 'civicrm_participant' is the 'Notes' field that appears when you manually create an event entry, it has a character limit of 128, client attempted to insert a note that was 161 characters. The limit of this field should be checked before attempting to save to the DB.
Full backtrace:
Apr 17 09:54:57 [info] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
)
[code] => -1
[message] => DB Error: unknown error
[mode] => 16
[debug_info] => INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id , register_date , source , fee_level , fee_amount , discount_id , fee_currency ) VALUES ( 475 , 2 , 1 , '1' , 20180417095400 , 'Manual input of cc info for member who called from Mexico and had troubles with cards before deadline. I charged early bird rate. See transaction ID AAB156B9 -MW' , 'Regular (Includes automatic member discount of: $ 159.00 Discount for Regular SSC Members) - 1Salmon - 1 Participant Count -1' , 555.00 , NULL , 'CAD' ) [nativecode=1406 ** Data too long for column 'source' at row 1]
[type] => DB_Error
[user_info] => INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id , register_date , source , fee_level , fee_amount , discount_id , fee_currency ) VALUES ( 475 , 2 , 1 , '1' , 20180417095400 , 'Manual input of cc info for member who called from Mexico and had troubles with cards before deadline. I charged early bird rate. See transaction ID AAB156B9 -MW' , 'Regular (Includes automatic member discount of: $ 159.00 Discount for Regular SSC Members) - 1Salmon - 1 Participant Count -1' , 555.00 , NULL , 'CAD' ) [nativecode=1406 ** Data too long for column 'source' at row 1]
[to_string] => [db_error: message="DB Error: unknown error" code=-1 mode=callback callback=CRM_Core_Error::handle prefix="" info="INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id , register_date , source , fee_level , fee_amount , discount_id , fee_currency ) VALUES ( 475 , 2 , 1 , '1' , 20180417095400 , 'Manual input of cc info for member who called from Mexico and had troubles with cards before deadline. I charged early bird rate. See transaction ID AAB156B9 -MW' , 'Regular (Includes automatic member discount of: $ 159.00 Discount for Regular SSC Members) - 1Salmon - 1 Participant Count -1' , 555.00 , NULL , 'CAD' ) [nativecode=1406 ** Data too long for column 'source' at row 1]"]
)
Apr 17 09:54:57 [info] $backTrace = #0 /sites/all/modules/contrib/civicrm/CRM/Core/Error.php(235): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 [internal function](): CRM_Core_Error::handle(Object(DB_Error))
#2 /sites/all/modules/contrib/civicrm/packages/PEAR.php(931): call_user_func((Array:2), Object(DB_Error))
#3 /sites/all/modules/contrib/civicrm/packages/DB.php(976): PEAR_Error->PEAR_Error("DB Error: unknown error", -1, 16, (Array:2), "INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id ...")
#4 /sites/all/modules/contrib/civicrm/packages/PEAR.php(564): DB_Error->DB_Error(-1, 16, (Array:2), "INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id ...")
#5 /sites/all/modules/contrib/civicrm/packages/DB/common.php(1905): PEAR->raiseError(NULL, -1, NULL, NULL, "INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id ...", "DB_Error", TRUE)
#6 /sites/all/modules/contrib/civicrm/packages/DB/mysql.php(895): DB_common->raiseError(-1, NULL, NULL, NULL, "1406 ** Data too long for column 'source' at row 1")
#7 /sites/all/modules/contrib/civicrm/packages/DB/mysql.php(328): DB_mysql->mysqlRaiseError()
#8 /sites/all/modules/contrib/civicrm/packages/DB/common.php(1216): DB_mysql->simpleQuery("INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id ...")
#9 /sites/all/modules/contrib/civicrm/packages/DB/DataObject.php(2442): DB_common->query("INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id ...")
#10 /sites/all/modules/contrib/civicrm/packages/DB/DataObject.php(1060): DB_DataObject->_query("INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id ...")
#11 /sites/all/modules/contrib/civicrm/CRM/Core/DAO.php(442): DB_DataObject->insert()
#12 /sites/all/modules/contrib/civicrm/CRM/Event/BAO/Participant.php(141): CRM_Core_DAO->save()
#13 /sites/all/modules/contrib/civicrm/CRM/Event/BAO/Participant.php(204): CRM_Event_BAO_Participant::add((Array:44))
#14 /sites/all/modules/contrib/civicrm/CRM/Event/Form/Participant.php(1280): CRM_Event_BAO_Participant::create((Array:44))
#15 /sites/all/modules/contrib/civicrm/CRM/Core/Form.php(345): CRM_Event_Form_Participant->postProcess()
#16 /sites/all/modules/contrib/civicrm/CRM/Core/QuickForm/Action/Upload.php(166): CRM_Core_Form->mainProcess()
#17 /sites/all/modules/contrib/civicrm/CRM/Core/QuickForm/Action/Upload.php(133): CRM_Core_QuickForm_Action_Upload->realPerform(Object(CRM_Event_Form_Participant), "upload")
#18 /sites/all/modules/contrib/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Upload->perform(Object(CRM_Event_Form_Participant), "upload")
#19 /sites/all/modules/contrib/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Event_Form_Participant), "upload")
#20 /sites/all/modules/contrib/civicrm/CRM/Core/Controller.php(353): HTML_QuickForm_Page->handle("upload")
#21 /sites/all/modules/contrib/civicrm/CRM/Event/Page/Tab.php(118): CRM_Core_Controller->run()
#22 /sites/all/modules/contrib/civicrm/CRM/Event/Page/Tab.php(175): CRM_Event_Page_Tab->edit()
#23 /sites/all/modules/contrib/civicrm/CRM/Core/Invoke.php(312): CRM_Event_Page_Tab->run((Array:4), NULL)
#24 /sites/all/modules/contrib/civicrm/CRM/Core/Invoke.php(86): CRM_Core_Invoke::runItem((Array:12))
#25 /sites/all/modules/contrib/civicrm/CRM/Core/Invoke.php(54): CRM_Core_Invoke::_invoke((Array:4))
#26 /sites/all/modules/contrib/civicrm/drupal/civicrm.module(482): CRM_Core_Invoke::invoke((Array:4))
#27 [internal function](): civicrm_invoke("contact", "view", "participant")
#28 /includes/menu.inc(527): call_user_func_array("civicrm_invoke", (Array:3))
#29 /index.php(21): menu_execute_active_handler()
#30 {main}