diff --git a/modules/cart/commerce_cart.module b/modules/cart/commerce_cart.module index 1f4b3fd..c348559 100644 --- a/modules/cart/commerce_cart.module +++ b/modules/cart/commerce_cart.module @@ -784,13 +784,14 @@ function commerce_cart_order_convert($order, $account) { // Update the uid of any referenced customer profiles. $order_wrapper = entity_metadata_wrapper('commerce_order', $order); - foreach (commerce_customer_profile_types() as $type => $profile_type) { - $field_name = 'commerce_customer_' . $type; - - if (!is_null($order_wrapper->{$field_name}->value()) && - $order_wrapper->{$field_name}->uid->value() == 0) { - $order_wrapper->{$field_name}->uid = $account->uid; - $order_wrapper->{$field_name}->save(); + foreach (field_info_instances('commerce_order',$order->type) as $field_name => $instance) { + $field_info = field_info_field($field_name); + if ($field_info['type'] == 'commerce_customer_profile_reference') { + if (!is_null($order_wrapper->{$field_name}->value()) && + $order_wrapper->{$field_name}->uid->value() == 0) { + $order_wrapper->{$field_name}->uid = $account->uid; + $order_wrapper->{$field_name}->save(); + } } } diff --git a/modules/order/includes/commerce_order.forms.inc b/modules/order/includes/commerce_order.forms.inc index 87abaa1..fbd81fe 100644 --- a/modules/order/includes/commerce_order.forms.inc +++ b/modules/order/includes/commerce_order.forms.inc @@ -269,16 +269,16 @@ function commerce_order_order_form_submit($form, &$form_state) { // Ensure the attached customer profiles are associated with the order owner // if they do not have a uid yet and the order does. if ($converted) { - $entity_info = entity_get_info('commerce_customer_profile'); $wrapper = entity_metadata_wrapper('commerce_order', $order); - foreach ($entity_info['bundles'] as $profile_type => $data) { - $field_name = 'commerce_customer_' . $profile_type; - - if (!is_null($wrapper->{$field_name}->value()) && - $wrapper->{$field_name}->uid->value() == 0) { - $wrapper->{$field_name}->uid = $order->uid; - $wrapper->{$field_name}->save(); + foreach (field_info_instances('commerce_order',$order->type) as $field_name => $instance) { + $field_info = field_info_field($field_name); + if ($field_info['type'] == 'commerce_customer_profile_reference') { + if (!is_null($wrapper->{$field_name}->value()) && + $wrapper->{$field_name}->uid->value() == 0) { + $wrapper->{$field_name}->uid = $order->uid; + $wrapper->{$field_name}->save(); + } } } }