Commit 049373d1 authored by Josh Miller's avatar Josh Miller Committed by Josh Miller
Browse files

Issue #2775023 by joshmiller: Add a page in the user account that displays a webform

parent 2479a690
Loading
Loading
Loading
Loading
+27 −1
Original line number Diff line number Diff line
@@ -19,6 +19,13 @@ function commerce_return_request_menu() {
    'access arguments' => array('administer site configuration'),
    'type' => MENU_NORMAL_ITEM,
  );
  $items['user/%user/orders/%commerce_order/return/%commerce_line_item'] = array(
    'page callback' => 'ccr_return_li_form_view',
    'page arguments' => array(1,3,5),
    'type' => MENU_CALLBACK,
    'access callback' => 'commerce_order_customer_order_view_access',
    'access arguments' => array(3),
  );

  return $items;
}
@@ -108,7 +115,7 @@ function crr_settings_page($form, &$form_state) {
  foreach (commerce_order_statuses() as $name => $status) {
    $order_statuses[$name] = ucfirst($status['state']) . ': ' . $status['title'];
  }
  sort($order_statuses);
  asort($order_statuses);

  $form['crr_advanced']['commerce_return_request_order_statuses'] = array(
    '#type' => 'checkboxes',
@@ -122,6 +129,25 @@ function crr_settings_page($form, &$form_state) {
  return system_settings_form($form);
}

/**
 * Page callback for rendering a webform on a user account page.
 *
 * @param object $user
 *   A fully loaded user object.
 * @param object $order
 *   A fully loaded order object.
 * @param object $line_item
 *   A fully loaded line item object.
 *
 * @return array
 *   An array as expected by drupal_render().
 */
function ccr_return_li_form_view($user, $order, $line_item) {
  $line_item_form = variable_get("commerce_return_request_li_form");
  $line_item_form_obj = node_load($line_item_form['entity_id']);
  return node_view($line_item_form_obj);
}

/**
 * Implementation of hook_views_api().
 */