make all fields available for custom mapping

This is useful to be able to map fields like `purpose` or `remarks` to custom fields.
This commit is contained in:
Marc Michalsky 2023-05-15 15:57:06 +02:00 committed by Jens Schuppe
parent 1d9e973e46
commit bd54c039c8

View file

@ -306,11 +306,10 @@ function civicrm_api3_twingle_donation_Submit($params) {
if (!empty($params['custom_fields'])) { if (!empty($params['custom_fields'])) {
$custom_field_mapping = $profile->getCustomFieldMapping(); $custom_field_mapping = $profile->getCustomFieldMapping();
// Include user_extrafield in custom_field_mapping if it is referenced there. // Make all params available for custom field mapping
// See issue #50. $allowed_params = [];
if (!empty($params['user_extrafield']) && isset($custom_field_mapping['user_extrafield'])) { _civicrm_api3_twingle_donation_Submit_spec($allowed_params);
$params['custom_fields']['user_extrafield'] = $params['user_extrafield']; $params['custom_fields'] += array_intersect_key($params, $custom_field_mapping, $allowed_params);
}
foreach ($params['custom_fields'] as $twingle_field => $value) { foreach ($params['custom_fields'] as $twingle_field => $value) {
if (isset($custom_field_mapping[$twingle_field])) { if (isset($custom_field_mapping[$twingle_field])) {