You are here

function commerce_wishlist_views_default_views_alter in Commerce Wishlist 7.3

Implements hook_views_default_views_alter().

File

includes/views/commerce_wishlist.views_default.inc, line 11
Default views for the default Wishlist UI.

Code

function commerce_wishlist_views_default_views_alter(&$views) {

  // For every view that is filtering out orders in the cart state, alter it to
  // also filter out the wishlist state.
  foreach ($views as $name => $view) {
    if ($view->base_table == 'commerce_order') {

      // Cycle through every display.
      foreach ($view->display as $display_name => $display) {

        // And now we go through the filters.
        if (isset($display->display_options['filters'])) {
          foreach ($display->display_options['filters'] as $filter_key => $filter_options) {

            // If the view is showing orders whose state is 'not in' 'cart', add
            // our value since it probably won't want wishlists.
            if (isset($filter_options['field']) && isset($filter_options['operator']) && $filter_options['field'] == 'state' && $filter_options['operator'] == 'not in' && in_array('cart', $filter_options['value'])) {
              $views[$name]->display[$display_name]->display_options['filters'][$filter_key]['value']['wishlist'] = 'wishlist';
            }
          }
        }
      }
    }
  }
}