function commerce_gc_product_pane_checkout_form in Commerce GC 7
File
- modules/
commerce_gc_product/ includes/ commerce_gc_product.checkout_pane.inc, line 11 - Provides Commerce Checkout pane functionality for giftcards.
Code
function commerce_gc_product_pane_checkout_form($form, &$form_state, $checkout_pane, $order) {
$order_wrapper = entity_metadata_wrapper('commerce_order', $order);
$pane_form = array();
// Find line items that contain giftcard products
foreach ($order_wrapper->commerce_line_items as $line_item_wrapper) {
if ($line_item_wrapper
->value() && in_array($line_item_wrapper->type
->value(), commerce_gc_product_giftcard_line_item_types())) {
// Generate a container.
if (!isset($pane_form)) {
$pane_form = array();
}
$line_item = $line_item_wrapper
->value();
$line_item_id = $line_item->line_item_id;
$label = $line_item_wrapper->commerce_product->title
->value();
// Build an entity form for this line item.
$pane_form[$line_item_id]['line_item_fields'] = array(
'#type' => 'fieldset',
'#title' => check_plain($label),
'#parents' => array(
$line_item_id,
'commerce_gc_product',
),
);
$line_item_form =& $pane_form[$line_item_id]['line_item_fields'];
field_attach_form('commerce_line_item', $line_item, $line_item_form, $form_state);
// Remove any fields that haven't been marked for inclusion on the
// add-to-cart form.
foreach (element_children($line_item_form) as $field_name) {
$info = field_info_instance('commerce_line_item', $field_name, $line_item->type);
$line_item_form[$field_name]['#commerce_cart_settings'] = commerce_cart_field_instance_access_settings($info);
if (empty($line_item_form[$field_name]['#commerce_cart_settings']['field_access'])) {
$line_item_form[$field_name]['#access'] = FALSE;
}
}
}
}
return $pane_form;
}