public function FlexiformFormEntityNewCommerceLineItem::saveEntity in Flexiform 7
Save the entity upon submission of the form.
Parameters
$entity: The entity object being saved.
Overrides FlexiformFormEntityBase::saveEntity
File
- includes/
form_entity/ commerce_line_item.form_entity.inc, line 33 - Contains class for a basic entity getter.
Class
- FlexiformFormEntityNewCommerceLineItem
- Form Entity Class for getting new commerce line items.
Code
public function saveEntity($entity) {
// If the entity is still false do not save it!
if ($entity === FALSE) {
return;
}
$order = $this
->getParam('base');
if (empty($entity->order_id)) {
if (empty($order->order_id)) {
commerce_order_save($order);
}
$entity->order_id = $order->order_id;
}
// Make sure commerce_unit_price has components.
if (!empty($entity->commerce_unit_price[LANGUAGE_NONE][0]) && empty($entity->commerce_unit_price[LANGUAGE_NONE][0]['data']['components'])) {
$price =& $entity->commerce_unit_price[LANGUAGE_NONE][0];
$price['data'] = commerce_price_component_add($price, 'base_price', $price, TRUE);
}
commerce_line_item_save($entity);
$order->commerce_line_items[LANGUAGE_NONE][] = array(
'line_item_id' => $entity->line_item_id,
);
commerce_order_save($order);
}