New Membership fails when price set present but not selected
Overview
From -> https://chat.civicrm.org/civicrm/pl/raz1a9pnqpys7bff5bm6x45rwh
Reproduction steps
- create Price Set for Memberships
- add first field for folk to choose their membership
- add a second field (using a different FinType but may not be an important step) using options and give at least 2 options (though 1 may do too)
- via backend, go to Contact, right click to Add Membership in new Tab. select above Price Set and do NOT chose an option in field.
- The website encountered an unexpected error. Please try again later
Current behaviour
Badness!
"The website encountered an unexpected error. Please try again later"
TypeError: Argument 1 passed to CRM_Financial_BAO_Order::isOverrideLineItemFinancialType() must be of the type int, null given, called in
/sites/all/modules/civicrm/CRM/Financial/BAO/Order.php on line 817 in CRM_Financial_BAO_Order->isOverrideLineItemFinancialType() (line 390 of /sites/all/modules/civicrm/CRM/Financial/BAO/Order.php).
Expected behaviour
Membership should create
Environment information
Replicated on dmaster. Note error message I copied above is from a site which has a patched version of 5.46.3 so line numbers might vary but we do see this on dmaster as well.