We should ship with a default enabled View at the URL user/[user:uid]/orders that uses a uid argument to display a user's order history. The View can depend on the order status filter for starters, but it might be better to update it to use the order state filter outlined in #1032330: Add an Order State field / filter to Views since we cannot predict in advance what order statuses a site might add for each state.

We don't have an order total field yet, but we can add that in as soon as it's live. So, this will end up being a fairly simple View that we'll have to build into over time... atm I'm not even sure we have a view order URL for regular users. : P

Comments

smokinggoat’s picture

OK, I created the simple view below.

Some notes:
* In order for a User to see this, I decided on the Permission "Access lists of orders, primarily for viewing and referencing" - which may or may not be the right permission. So that means this permission needs to be changed in the Install Profile
* Order totals are not available
* Needs UI love:
- I've got created date and updated date on display - not sure it needs any other column besides Order Total
- When you click on a specific order, it uses the basic order display, which has two problems a) sez "Line Items" at the top, b) no "back" link to the list of orders.

If I whip up a View for (b) above, I'll update this issue.


$view = new view;
$view->name = 'customer_orders';
$view->description = 'Display a list of orders for the logged in user.';
$view->tag = 'commerce';
$view->base_table = 'commerce_order';
$view->human_name = 'Customer Orders';
$view->core = 7;
$view->api_version = '3.0-alpha1';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Defaults */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->display->display_options['title'] = 'Orders';
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['access']['perm'] = 'access orders';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = 50;
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
  'order_number' => 'order_number',
  'name' => 'name',
  'created' => 'created',
  'status' => 'status',
  'operations' => 'operations',
);
$handler->display->display_options['style_options']['default'] = 'created';
$handler->display->display_options['style_options']['info'] = array(
  'order_number' => array(
    'sortable' => 1,
    'align' => '',
    'separator' => '',
  ),
  'name' => array(
    'sortable' => 1,
    'align' => '',
    'separator' => '',
  ),
  'created' => array(
    'sortable' => 1,
    'align' => '',
    'separator' => '',
  ),
  'status' => array(
    'sortable' => 1,
    'align' => '',
    'separator' => '',
  ),
  'operations' => array(
    'align' => '',
    'separator' => '',
  ),
);
$handler->display->display_options['style_options']['override'] = 1;
$handler->display->display_options['style_options']['sticky'] = 0;
$handler->display->display_options['style_options']['order'] = 'desc';
/* Empty text: Global: Text area */
$handler->display->display_options['empty']['text']['id'] = 'area';
$handler->display->display_options['empty']['text']['table'] = 'views';
$handler->display->display_options['empty']['text']['field'] = 'area';
$handler->display->display_options['empty']['text']['empty'] = FALSE;
$handler->display->display_options['empty']['text']['content'] = 'No orders have been created yet.';
/* Relationship: Commerce Order: Owner */
$handler->display->display_options['relationships']['uid']['id'] = 'uid';
$handler->display->display_options['relationships']['uid']['table'] = 'commerce_order';
$handler->display->display_options['relationships']['uid']['field'] = 'uid';
$handler->display->display_options['relationships']['uid']['required'] = 0;
/* Field: Commerce Order: Order number */
$handler->display->display_options['fields']['order_number']['id'] = 'order_number';
$handler->display->display_options['fields']['order_number']['table'] = 'commerce_order';
$handler->display->display_options['fields']['order_number']['field'] = 'order_number';
$handler->display->display_options['fields']['order_number']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['order_number']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['order_number']['alter']['trim'] = 0;
$handler->display->display_options['fields']['order_number']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['order_number']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['order_number']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['order_number']['alter']['html'] = 0;
$handler->display->display_options['fields']['order_number']['hide_empty'] = 0;
$handler->display->display_options['fields']['order_number']['empty_zero'] = 0;
$handler->display->display_options['fields']['order_number']['link_to_order'] = 1;
/* Field: Commerce Order: Created date */
$handler->display->display_options['fields']['created']['id'] = 'created';
$handler->display->display_options['fields']['created']['table'] = 'commerce_order';
$handler->display->display_options['fields']['created']['field'] = 'created';
$handler->display->display_options['fields']['created']['label'] = 'Created';
$handler->display->display_options['fields']['created']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['created']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['created']['alter']['trim'] = 0;
$handler->display->display_options['fields']['created']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['created']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['created']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['created']['alter']['html'] = 0;
$handler->display->display_options['fields']['created']['hide_empty'] = 0;
$handler->display->display_options['fields']['created']['empty_zero'] = 0;
/* Field: Commerce Order: Updated date */
$handler->display->display_options['fields']['changed']['id'] = 'changed';
$handler->display->display_options['fields']['changed']['table'] = 'commerce_order';
$handler->display->display_options['fields']['changed']['field'] = 'changed';
$handler->display->display_options['fields']['changed']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['changed']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['changed']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['changed']['alter']['trim'] = 0;
$handler->display->display_options['fields']['changed']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['changed']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['changed']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['changed']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['changed']['alter']['html'] = 0;
$handler->display->display_options['fields']['changed']['element_label_colon'] = 1;
$handler->display->display_options['fields']['changed']['element_default_classes'] = 1;
$handler->display->display_options['fields']['changed']['hide_empty'] = 0;
$handler->display->display_options['fields']['changed']['empty_zero'] = 0;
/* Field: Commerce Order: Order status */
$handler->display->display_options['fields']['status']['id'] = 'status';
$handler->display->display_options['fields']['status']['table'] = 'commerce_order';
$handler->display->display_options['fields']['status']['field'] = 'status';
$handler->display->display_options['fields']['status']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['status']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['status']['alter']['trim'] = 0;
$handler->display->display_options['fields']['status']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['status']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['status']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['status']['alter']['html'] = 0;
$handler->display->display_options['fields']['status']['hide_empty'] = 0;
$handler->display->display_options['fields']['status']['empty_zero'] = 0;
$handler->display->display_options['fields']['status']['link_to_order'] = 0;
/* Argument: Order Owner */
$handler->display->display_options['arguments']['uid']['id'] = 'uid';
$handler->display->display_options['arguments']['uid']['table'] = 'users';
$handler->display->display_options['arguments']['uid']['field'] = 'uid';
$handler->display->display_options['arguments']['uid']['relationship'] = 'uid';
$handler->display->display_options['arguments']['uid']['ui_name'] = 'Order Owner';
$handler->display->display_options['arguments']['uid']['default_action'] = 'empty';
$handler->display->display_options['arguments']['uid']['style_plugin'] = 'default_summary';
$handler->display->display_options['arguments']['uid']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['uid']['break_phrase'] = 0;
$handler->display->display_options['arguments']['uid']['not'] = 0;

/* Display: Admin page */
$handler = $view->new_display('page', 'Admin page', 'admin_page');
$handler->display->display_options['path'] = 'user/%/orders';
$handler->display->display_options['menu']['type'] = 'tab';
$handler->display->display_options['menu']['title'] = 'Orders';
$handler->display->display_options['menu']['weight'] = '15';
$handler->display->display_options['tab_options']['type'] = 'normal';
$handler->display->display_options['tab_options']['title'] = 'Orders';
$handler->display->display_options['tab_options']['description'] = 'User ordes in the store.';
$handler->display->display_options['tab_options']['weight'] = '';
$handler->display->display_options['tab_options']['name'] = 'user-menu';
$translatables['customer_orders'] = array(
  t('Defaults'),
  t('Orders'),
  t('more'),
  t('Apply'),
  t('Reset'),
  t('Sort By'),
  t('Asc'),
  t('Desc'),
  t('Items per page'),
  t('- All -'),
  t('Offset'),
  t('No orders have been created yet.'),
  t('Order owner'),
  t('Order number'),
  t('Created'),
  t('Updated date'),
  t('Order status'),
  t('All'),
  t('Admin page'),
);
smokinggoat’s picture

Another version - with lots of help with PCambra.

Some updated notes:
* There are now two Views:
- Customer Orders
- Customer Order Line Items

BUGs:
* Access restriction is not defined correctly. As a simple user, I can change the URL and see other user's orders...
* In Customer Order Line Items, we are missing a header zone for the Order Info (the number, creation date, status of Order)

Updated Customer Order View:

$view = new view;
$view->name = 'customer_orders';
$view->description = 'Display a list of orders for the logged in user.';
$view->tag = 'commerce';
$view->base_table = 'commerce_order';
$view->human_name = 'Customer Orders';
$view->core = 7;
$view->api_version = '3.0-alpha1';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Defaults */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->display->display_options['title'] = 'Orders';
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['access']['perm'] = 'access orders';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = 50;
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
  'order_number' => 'order_number',
  'name' => 'name',
  'created' => 'created',
  'status' => 'status',
  'operations' => 'operations',
);
$handler->display->display_options['style_options']['default'] = 'created';
$handler->display->display_options['style_options']['info'] = array(
  'order_number' => array(
    'sortable' => 1,
    'align' => '',
    'separator' => '',
  ),
  'name' => array(
    'sortable' => 1,
    'align' => '',
    'separator' => '',
  ),
  'created' => array(
    'sortable' => 1,
    'align' => '',
    'separator' => '',
  ),
  'status' => array(
    'sortable' => 1,
    'align' => '',
    'separator' => '',
  ),
  'operations' => array(
    'align' => '',
    'separator' => '',
  ),
);
$handler->display->display_options['style_options']['override'] = 1;
$handler->display->display_options['style_options']['sticky'] = 0;
$handler->display->display_options['style_options']['order'] = 'desc';
/* Empty text: Global: Text area */
$handler->display->display_options['empty']['text']['id'] = 'area';
$handler->display->display_options['empty']['text']['table'] = 'views';
$handler->display->display_options['empty']['text']['field'] = 'area';
$handler->display->display_options['empty']['text']['empty'] = FALSE;
$handler->display->display_options['empty']['text']['content'] = 'No orders have been created yet.';
/* Relationship: Commerce Order: Owner */
$handler->display->display_options['relationships']['uid']['id'] = 'uid';
$handler->display->display_options['relationships']['uid']['table'] = 'commerce_order';
$handler->display->display_options['relationships']['uid']['field'] = 'uid';
$handler->display->display_options['relationships']['uid']['required'] = 0;
/* Field: User: Uid */
$handler->display->display_options['fields']['uid']['id'] = 'uid';
$handler->display->display_options['fields']['uid']['table'] = 'users';
$handler->display->display_options['fields']['uid']['field'] = 'uid';
$handler->display->display_options['fields']['uid']['relationship'] = 'uid';
$handler->display->display_options['fields']['uid']['exclude'] = TRUE;
$handler->display->display_options['fields']['uid']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['uid']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['uid']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['uid']['alter']['trim'] = 0;
$handler->display->display_options['fields']['uid']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['uid']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['uid']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['uid']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['uid']['alter']['html'] = 0;
$handler->display->display_options['fields']['uid']['element_label_colon'] = 1;
$handler->display->display_options['fields']['uid']['element_default_classes'] = 1;
$handler->display->display_options['fields']['uid']['hide_empty'] = 0;
$handler->display->display_options['fields']['uid']['empty_zero'] = 0;
$handler->display->display_options['fields']['uid']['link_to_user'] = 1;
/* Field: Commerce Order: Order ID */
$handler->display->display_options['fields']['order_id']['id'] = 'order_id';
$handler->display->display_options['fields']['order_id']['table'] = 'commerce_order';
$handler->display->display_options['fields']['order_id']['field'] = 'order_id';
$handler->display->display_options['fields']['order_id']['exclude'] = TRUE;
$handler->display->display_options['fields']['order_id']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['order_id']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['order_id']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['order_id']['alter']['trim'] = 0;
$handler->display->display_options['fields']['order_id']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['order_id']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['order_id']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['order_id']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['order_id']['alter']['html'] = 0;
$handler->display->display_options['fields']['order_id']['element_label_colon'] = 1;
$handler->display->display_options['fields']['order_id']['element_default_classes'] = 1;
$handler->display->display_options['fields']['order_id']['hide_empty'] = 0;
$handler->display->display_options['fields']['order_id']['empty_zero'] = 0;
$handler->display->display_options['fields']['order_id']['link_to_order'] = 0;
/* Field: Commerce Order: Order number */
$handler->display->display_options['fields']['order_number']['id'] = 'order_number';
$handler->display->display_options['fields']['order_number']['table'] = 'commerce_order';
$handler->display->display_options['fields']['order_number']['field'] = 'order_number';
$handler->display->display_options['fields']['order_number']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['order_number']['alter']['make_link'] = 1;
$handler->display->display_options['fields']['order_number']['alter']['path'] = 'user/[uid]/orders/[order_id]/detail';
$handler->display->display_options['fields']['order_number']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['order_number']['alter']['trim'] = 0;
$handler->display->display_options['fields']['order_number']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['order_number']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['order_number']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['order_number']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['order_number']['alter']['html'] = 0;
$handler->display->display_options['fields']['order_number']['element_label_colon'] = 1;
$handler->display->display_options['fields']['order_number']['element_default_classes'] = 1;
$handler->display->display_options['fields']['order_number']['hide_empty'] = 0;
$handler->display->display_options['fields']['order_number']['empty_zero'] = 0;
$handler->display->display_options['fields']['order_number']['link_to_order'] = 0;
/* Field: Commerce Order: Created date */
$handler->display->display_options['fields']['created']['id'] = 'created';
$handler->display->display_options['fields']['created']['table'] = 'commerce_order';
$handler->display->display_options['fields']['created']['field'] = 'created';
$handler->display->display_options['fields']['created']['label'] = 'Created';
$handler->display->display_options['fields']['created']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['created']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['created']['alter']['trim'] = 0;
$handler->display->display_options['fields']['created']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['created']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['created']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['created']['alter']['html'] = 0;
$handler->display->display_options['fields']['created']['hide_empty'] = 0;
$handler->display->display_options['fields']['created']['empty_zero'] = 0;
/* Field: Commerce Order: Updated date */
$handler->display->display_options['fields']['changed']['id'] = 'changed';
$handler->display->display_options['fields']['changed']['table'] = 'commerce_order';
$handler->display->display_options['fields']['changed']['field'] = 'changed';
$handler->display->display_options['fields']['changed']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['changed']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['changed']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['changed']['alter']['trim'] = 0;
$handler->display->display_options['fields']['changed']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['changed']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['changed']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['changed']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['changed']['alter']['html'] = 0;
$handler->display->display_options['fields']['changed']['element_label_colon'] = 1;
$handler->display->display_options['fields']['changed']['element_default_classes'] = 1;
$handler->display->display_options['fields']['changed']['hide_empty'] = 0;
$handler->display->display_options['fields']['changed']['empty_zero'] = 0;
/* Field: Commerce Order: Order status */
$handler->display->display_options['fields']['status']['id'] = 'status';
$handler->display->display_options['fields']['status']['table'] = 'commerce_order';
$handler->display->display_options['fields']['status']['field'] = 'status';
$handler->display->display_options['fields']['status']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['status']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['status']['alter']['trim'] = 0;
$handler->display->display_options['fields']['status']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['status']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['status']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['status']['alter']['html'] = 0;
$handler->display->display_options['fields']['status']['hide_empty'] = 0;
$handler->display->display_options['fields']['status']['empty_zero'] = 0;
$handler->display->display_options['fields']['status']['link_to_order'] = 0;
/* Argument: User: Uid */
$handler->display->display_options['arguments']['uid']['id'] = 'uid';
$handler->display->display_options['arguments']['uid']['table'] = 'users';
$handler->display->display_options['arguments']['uid']['field'] = 'uid';
$handler->display->display_options['arguments']['uid']['relationship'] = 'uid';
$handler->display->display_options['arguments']['uid']['default_action'] = 'empty';
$handler->display->display_options['arguments']['uid']['style_plugin'] = 'default_summary';
$handler->display->display_options['arguments']['uid']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['uid']['break_phrase'] = 0;
$handler->display->display_options['arguments']['uid']['not'] = 0;

/* Display: User Orders */
$handler = $view->new_display('page', 'User Orders', 'order_page');
$handler->display->display_options['path'] = 'user/%/orders';
$handler->display->display_options['menu']['type'] = 'tab';
$handler->display->display_options['menu']['title'] = 'Orders';
$handler->display->display_options['menu']['weight'] = '15';
$handler->display->display_options['tab_options']['type'] = 'normal';
$handler->display->display_options['tab_options']['title'] = 'Orders';
$handler->display->display_options['tab_options']['description'] = 'User ordes in the store.';
$handler->display->display_options['tab_options']['weight'] = '';
$handler->display->display_options['tab_options']['name'] = 'user-menu';
$translatables['customer_orders'] = array(
  t('Defaults'),
  t('Orders'),
  t('more'),
  t('Apply'),
  t('Reset'),
  t('Sort By'),
  t('Asc'),
  t('Desc'),
  t('Items per page'),
  t('- All -'),
  t('Offset'),
  t('No orders have been created yet.'),
  t('Order owner'),
  t('Uid'),
  t('Order ID'),
  t('Order number'),
  t('user/[uid]/orders/[order_id]/detail'),
  t('Created'),
  t('Updated date'),
  t('Order status'),
  t('All'),
  t('User Orders'),
);

Updated Customer Order Line Items

$view = new view;
$view->name = 'customer_order_line_items';
$view->description = 'Display the detail of an orders for the logged in user.';
$view->tag = 'commerce';
$view->base_table = 'commerce_order';
$view->human_name = 'Customer Order Line Items';
$view->core = 7;
$view->api_version = '3.0-alpha1';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Defaults */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->display->display_options['title'] = 'Orders';
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['access']['perm'] = 'access orders';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = 50;
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
  'order_number' => 'order_number',
  'name' => 'name',
  'created' => 'created',
  'status' => 'status',
  'operations' => 'operations',
);
$handler->display->display_options['style_options']['default'] = 'created';
$handler->display->display_options['style_options']['info'] = array(
  'order_number' => array(
    'sortable' => 1,
    'align' => '',
    'separator' => '',
  ),
  'name' => array(
    'sortable' => 1,
    'align' => '',
    'separator' => '',
  ),
  'created' => array(
    'sortable' => 1,
    'align' => '',
    'separator' => '',
  ),
  'status' => array(
    'sortable' => 1,
    'align' => '',
    'separator' => '',
  ),
  'operations' => array(
    'align' => '',
    'separator' => '',
  ),
);
$handler->display->display_options['style_options']['override'] = 1;
$handler->display->display_options['style_options']['sticky'] = 0;
$handler->display->display_options['style_options']['order'] = 'desc';
/* Footer: Commerce Line Item: Line item summary */
$handler->display->display_options['footer']['line_item_summary']['id'] = 'line_item_summary';
$handler->display->display_options['footer']['line_item_summary']['table'] = 'commerce_line_item';
$handler->display->display_options['footer']['line_item_summary']['field'] = 'line_item_summary';
/* Empty text: Global: Text area */
$handler->display->display_options['empty']['text']['id'] = 'area';
$handler->display->display_options['empty']['text']['table'] = 'views';
$handler->display->display_options['empty']['text']['field'] = 'area';
$handler->display->display_options['empty']['text']['empty'] = FALSE;
$handler->display->display_options['empty']['text']['content'] = 'No orders have been created yet.';
/* Relationship: Commerce Order: Owner */
$handler->display->display_options['relationships']['uid']['id'] = 'uid';
$handler->display->display_options['relationships']['uid']['table'] = 'commerce_order';
$handler->display->display_options['relationships']['uid']['field'] = 'uid';
$handler->display->display_options['relationships']['uid']['required'] = 0;
/* Relationship: Fields: Referenced line item */
$handler->display->display_options['relationships']['line_items_line_item_id']['id'] = 'line_items_line_item_id';
$handler->display->display_options['relationships']['line_items_line_item_id']['table'] = 'field_data_line_items';
$handler->display->display_options['relationships']['line_items_line_item_id']['field'] = 'line_items_line_item_id';
$handler->display->display_options['relationships']['line_items_line_item_id']['required'] = 0;
/* Field: Commerce Line Item: Line item label */
$handler->display->display_options['fields']['line_item_label']['id'] = 'line_item_label';
$handler->display->display_options['fields']['line_item_label']['table'] = 'commerce_line_item';
$handler->display->display_options['fields']['line_item_label']['field'] = 'line_item_label';
$handler->display->display_options['fields']['line_item_label']['relationship'] = 'line_items_line_item_id';
$handler->display->display_options['fields']['line_item_label']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['line_item_label']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['line_item_label']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['line_item_label']['alter']['trim'] = 0;
$handler->display->display_options['fields']['line_item_label']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['line_item_label']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['line_item_label']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['line_item_label']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['line_item_label']['alter']['html'] = 0;
$handler->display->display_options['fields']['line_item_label']['element_label_colon'] = 1;
$handler->display->display_options['fields']['line_item_label']['element_default_classes'] = 1;
$handler->display->display_options['fields']['line_item_label']['hide_empty'] = 0;
$handler->display->display_options['fields']['line_item_label']['empty_zero'] = 0;
/* Field: Commerce Line Item: Quantity */
$handler->display->display_options['fields']['quantity']['id'] = 'quantity';
$handler->display->display_options['fields']['quantity']['table'] = 'commerce_line_item';
$handler->display->display_options['fields']['quantity']['field'] = 'quantity';
$handler->display->display_options['fields']['quantity']['relationship'] = 'line_items_line_item_id';
$handler->display->display_options['fields']['quantity']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['quantity']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['quantity']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['quantity']['alter']['trim'] = 0;
$handler->display->display_options['fields']['quantity']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['quantity']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['quantity']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['quantity']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['quantity']['alter']['html'] = 0;
$handler->display->display_options['fields']['quantity']['element_label_colon'] = 1;
$handler->display->display_options['fields']['quantity']['element_default_classes'] = 1;
$handler->display->display_options['fields']['quantity']['hide_empty'] = 0;
$handler->display->display_options['fields']['quantity']['empty_zero'] = 0;
$handler->display->display_options['fields']['quantity']['set_precision'] = 0;
$handler->display->display_options['fields']['quantity']['precision'] = '0';
$handler->display->display_options['fields']['quantity']['format_plural'] = 0;
/* Field: Fields: unit_price */
$handler->display->display_options['fields']['entity_id_2']['id'] = 'entity_id_2';
$handler->display->display_options['fields']['entity_id_2']['table'] = 'field_data_unit_price';
$handler->display->display_options['fields']['entity_id_2']['field'] = 'entity_id';
$handler->display->display_options['fields']['entity_id_2']['relationship'] = 'line_items_line_item_id';
$handler->display->display_options['fields']['entity_id_2']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['entity_id_2']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['entity_id_2']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['entity_id_2']['alter']['trim'] = 0;
$handler->display->display_options['fields']['entity_id_2']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['entity_id_2']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['entity_id_2']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['entity_id_2']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['entity_id_2']['alter']['html'] = 0;
$handler->display->display_options['fields']['entity_id_2']['element_label_colon'] = 1;
$handler->display->display_options['fields']['entity_id_2']['element_default_classes'] = 1;
$handler->display->display_options['fields']['entity_id_2']['hide_empty'] = 0;
$handler->display->display_options['fields']['entity_id_2']['empty_zero'] = 0;
$handler->display->display_options['fields']['entity_id_2']['click_sort_column'] = 'amount';
$handler->display->display_options['fields']['entity_id_2']['type'] = 'commerce_price_formatted_amount';
/* Field: Fields: total */
$handler->display->display_options['fields']['entity_id_1']['id'] = 'entity_id_1';
$handler->display->display_options['fields']['entity_id_1']['table'] = 'field_data_total';
$handler->display->display_options['fields']['entity_id_1']['field'] = 'entity_id';
$handler->display->display_options['fields']['entity_id_1']['relationship'] = 'line_items_line_item_id';
$handler->display->display_options['fields']['entity_id_1']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['entity_id_1']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['entity_id_1']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['entity_id_1']['alter']['trim'] = 0;
$handler->display->display_options['fields']['entity_id_1']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['entity_id_1']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['entity_id_1']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['entity_id_1']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['entity_id_1']['alter']['html'] = 0;
$handler->display->display_options['fields']['entity_id_1']['element_label_colon'] = 1;
$handler->display->display_options['fields']['entity_id_1']['element_default_classes'] = 1;
$handler->display->display_options['fields']['entity_id_1']['hide_empty'] = 0;
$handler->display->display_options['fields']['entity_id_1']['empty_zero'] = 0;
$handler->display->display_options['fields']['entity_id_1']['click_sort_column'] = 'amount';
$handler->display->display_options['fields']['entity_id_1']['type'] = 'commerce_price_formatted_amount';
/* Argument: User: Uid */
$handler->display->display_options['arguments']['uid']['id'] = 'uid';
$handler->display->display_options['arguments']['uid']['table'] = 'users';
$handler->display->display_options['arguments']['uid']['field'] = 'uid';
$handler->display->display_options['arguments']['uid']['relationship'] = 'uid';
$handler->display->display_options['arguments']['uid']['default_action'] = 'empty';
$handler->display->display_options['arguments']['uid']['style_plugin'] = 'default_summary';
$handler->display->display_options['arguments']['uid']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['uid']['break_phrase'] = 0;
$handler->display->display_options['arguments']['uid']['not'] = 0;
/* Argument: Commerce Order: Order ID */
$handler->display->display_options['arguments']['order_id']['id'] = 'order_id';
$handler->display->display_options['arguments']['order_id']['table'] = 'commerce_order';
$handler->display->display_options['arguments']['order_id']['field'] = 'order_id';
$handler->display->display_options['arguments']['order_id']['default_action'] = 'empty';
$handler->display->display_options['arguments']['order_id']['style_plugin'] = 'default_summary';
$handler->display->display_options['arguments']['order_id']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['order_id']['break_phrase'] = 0;
$handler->display->display_options['arguments']['order_id']['not'] = 0;

/* Display: User Order Detail */
$handler = $view->new_display('page', 'User Order Detail', 'order_page_detail');
$handler->display->display_options['path'] = 'user/%/orders/%/detail';
$handler->display->display_options['menu']['title'] = 'Orders';
$handler->display->display_options['menu']['weight'] = '15';
$handler->display->display_options['tab_options']['type'] = 'normal';
$handler->display->display_options['tab_options']['title'] = 'Orders';
$handler->display->display_options['tab_options']['description'] = 'User ordes in the store.';
$handler->display->display_options['tab_options']['weight'] = '';
$handler->display->display_options['tab_options']['name'] = 'user-menu';
$translatables['customer_order_line_items'] = array(
  t('Defaults'),
  t('Orders'),
  t('more'),
  t('Apply'),
  t('Reset'),
  t('Sort By'),
  t('Asc'),
  t('Desc'),
  t('Items per page'),
  t('- All -'),
  t('Offset'),
  t('No orders have been created yet.'),
  t('Order owner'),
  t('Line Item'),
  t('Line item label'),
  t('Quantity'),
  t('.'),
  t(','),
  t('unit_price'),
  t('total'),
  t('All'),
  t('User Order Detail'),
);
pcambra’s picture

Status: Active » Needs work

We need a user validator for both views that makes sure that only current user and an "administrator"

- Create a specific permission to "view the order history of all users"
- Add a default validator for the owner uid that checks if it is the current user or if the user accessing has the permission above.

recidive’s picture

Ok, we need only the first view for now. The other will be a view mode (not from views but have a view inside). I have this working now and am working on a patch for it, although in the long run I think we'll need to have distinct views for admin and customer view modes.

The order list view need to filter out order in "Shopping cart", "Checkout" and "Canceled" states. It depends on #1032330: Add an Order State field / filter to Views.

rszrama’s picture

Alrighty, I pulled and removed the View as recidive mentioned above. As soon as I review pcambra's patch in #1032330: Add an Order State field / filter to Views, I'll edit the View to filter by order state (i.e. to exclude shopping cart orders and orders in checkout).

rszrama’s picture

Status: Needs work » Fixed

And committed the change to the View. Yay. : )

Status: Fixed » Closed (fixed)
Issue tags: -dcsprint5

Automatically closed -- issue fixed for 2 weeks with no activity.

nourheine’s picture

Issue summary: View changes

hey there , i'm looking for a way to create a view for instantly add to cart product giving the client two possibilities (confirm or delete the order), any help please?

spencerthayer’s picture

Has the permissions issue be resolved? I'm really starting to hate Drupal Commerce.

rszrama’s picture

What permissions issue? I don't think it's fair to cast hate on a project based on a 5 year old issue from the project's early stage of active development...