From 8a3c836965ec6315a9fb02ba5cd589558d60043e Mon Sep 17 00:00:00 2001 From: Michael Stenta Date: Sun, 15 Oct 2017 14:56:48 -0400 Subject: [PATCH] Create an Entity Reference View for selecting assets that have inventory enabled. --- .../farm/farm_inventory/farm_inventory.info | 1 + .../farm_inventory.views_default.inc | 221 ++++++++++++++++++ 2 files changed, 222 insertions(+) diff --git a/modules/farm/farm_inventory/farm_inventory.info b/modules/farm/farm_inventory/farm_inventory.info index 590dc6b4..2b0d1dd5 100644 --- a/modules/farm/farm_inventory/farm_inventory.info +++ b/modules/farm/farm_inventory/farm_inventory.info @@ -19,5 +19,6 @@ features[field_base][] = field_farm_inventory_asset features[field_base][] = field_farm_inventory_value features[field_instance][] = field_collection_item-field_farm_inventory-field_farm_inventory_asset features[field_instance][] = field_collection_item-field_farm_inventory-field_farm_inventory_value +features[views_view][] = farm_inventory_entityreference_view features[views_view][] = farm_inventory_log files[] = views/handlers/farm_inventory_handler_filter_asset_type.inc diff --git a/modules/farm/farm_inventory/farm_inventory.views_default.inc b/modules/farm/farm_inventory/farm_inventory.views_default.inc index 6062a6d0..8f569a71 100644 --- a/modules/farm/farm_inventory/farm_inventory.views_default.inc +++ b/modules/farm/farm_inventory/farm_inventory.views_default.inc @@ -10,6 +10,227 @@ function farm_inventory_views_default_views() { $export = array(); + $view = new view(); + $view->name = 'farm_inventory_entityreference_view'; + $view->description = ''; + $view->tag = 'default'; + $view->base_table = 'farm_asset'; + $view->human_name = 'Farm Inventory Entityreference View'; + $view->core = 7; + $view->api_version = '3.0'; + $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */ + + /* Display: Master */ + $handler = $view->new_display('default', 'Master', 'default'); + $handler->display->display_options['use_ajax'] = TRUE; + $handler->display->display_options['use_more_always'] = FALSE; + $handler->display->display_options['access']['type'] = 'perm'; + $handler->display->display_options['access']['perm'] = 'view farm assets'; + $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['exposed_form']['options']['reset_button'] = TRUE; + $handler->display->display_options['pager']['type'] = 'full'; + $handler->display->display_options['pager']['options']['items_per_page'] = '25'; + $handler->display->display_options['pager']['options']['offset'] = '0'; + $handler->display->display_options['pager']['options']['id'] = '0'; + $handler->display->display_options['pager']['options']['quantity'] = '9'; + $handler->display->display_options['style_plugin'] = 'table'; + $handler->display->display_options['style_options']['columns'] = array( + 'name' => 'name', + 'type' => 'type', + ); + $handler->display->display_options['style_options']['default'] = '-1'; + $handler->display->display_options['style_options']['info'] = array( + 'name' => array( + 'sortable' => 0, + 'default_sort_order' => 'asc', + 'align' => '', + 'separator' => '', + 'empty_column' => 0, + ), + 'type' => array( + 'sortable' => 0, + 'default_sort_order' => 'asc', + 'align' => '', + 'separator' => '', + 'empty_column' => 0, + ), + ); + $handler->display->display_options['style_options']['empty_table'] = TRUE; + /* Header: Global: Unfiltered text */ + $handler->display->display_options['header']['area_text_custom']['id'] = 'area_text_custom'; + $handler->display->display_options['header']['area_text_custom']['table'] = 'views'; + $handler->display->display_options['header']['area_text_custom']['field'] = 'area_text_custom'; + $handler->display->display_options['header']['area_text_custom']['content'] = 'Select the asset you would like to reference and click "Submit". Use the filters to narrow down the list.'; + /* No results behavior: Global: Unfiltered text */ + $handler->display->display_options['empty']['area_text_custom']['id'] = 'area_text_custom'; + $handler->display->display_options['empty']['area_text_custom']['table'] = 'views'; + $handler->display->display_options['empty']['area_text_custom']['field'] = 'area_text_custom'; + $handler->display->display_options['empty']['area_text_custom']['empty'] = TRUE; + $handler->display->display_options['empty']['area_text_custom']['content'] = 'No assets found.'; + /* Relationship: Farm asset: Latest movement */ + $handler->display->display_options['relationships']['latest_movement']['id'] = 'latest_movement'; + $handler->display->display_options['relationships']['latest_movement']['table'] = 'farm_asset'; + $handler->display->display_options['relationships']['latest_movement']['field'] = 'latest_movement'; + /* Field: Entity Reference View Widget Checkbox: Farm asset */ + $handler->display->display_options['fields']['entityreference_view_widget']['id'] = 'entityreference_view_widget'; + $handler->display->display_options['fields']['entityreference_view_widget']['table'] = 'farm_asset'; + $handler->display->display_options['fields']['entityreference_view_widget']['field'] = 'entityreference_view_widget'; + $handler->display->display_options['fields']['entityreference_view_widget']['label'] = ''; + $handler->display->display_options['fields']['entityreference_view_widget']['element_label_colon'] = FALSE; + $handler->display->display_options['fields']['entityreference_view_widget']['ervw']['force_single'] = 1; + $handler->display->display_options['fields']['entityreference_view_widget']['ervw']['label_display'] = 'after'; + /* Field: Farm asset: Farm asset type */ + $handler->display->display_options['fields']['type']['id'] = 'type'; + $handler->display->display_options['fields']['type']['table'] = 'farm_asset'; + $handler->display->display_options['fields']['type']['field'] = 'type'; + $handler->display->display_options['fields']['type']['label'] = 'Asset type'; + /* Field: Field collection item: Movement to */ + $handler->display->display_options['fields']['field_farm_move_to']['id'] = 'field_farm_move_to'; + $handler->display->display_options['fields']['field_farm_move_to']['table'] = 'field_data_field_farm_move_to'; + $handler->display->display_options['fields']['field_farm_move_to']['field'] = 'field_farm_move_to'; + $handler->display->display_options['fields']['field_farm_move_to']['relationship'] = 'latest_movement'; + $handler->display->display_options['fields']['field_farm_move_to']['label'] = 'Location'; + /* Sort criterion: Farm asset: Name */ + $handler->display->display_options['sorts']['name']['id'] = 'name'; + $handler->display->display_options['sorts']['name']['table'] = 'farm_asset'; + $handler->display->display_options['sorts']['name']['field'] = 'name'; + $handler->display->display_options['sorts']['name']['exposed'] = TRUE; + $handler->display->display_options['sorts']['name']['expose']['label'] = 'Name'; + /* Sort criterion: Farm asset: Farm asset type */ + $handler->display->display_options['sorts']['type']['id'] = 'type'; + $handler->display->display_options['sorts']['type']['table'] = 'farm_asset'; + $handler->display->display_options['sorts']['type']['field'] = 'type'; + $handler->display->display_options['sorts']['type']['exposed'] = TRUE; + $handler->display->display_options['sorts']['type']['expose']['label'] = 'Asset type'; + /* Contextual filter: Farm asset: Farm asset ID */ + $handler->display->display_options['arguments']['id']['id'] = 'id'; + $handler->display->display_options['arguments']['id']['table'] = 'farm_asset'; + $handler->display->display_options['arguments']['id']['field'] = 'id'; + $handler->display->display_options['arguments']['id']['default_argument_type'] = 'fixed'; + $handler->display->display_options['arguments']['id']['summary']['number_of_records'] = '0'; + $handler->display->display_options['arguments']['id']['summary']['format'] = 'default_summary'; + $handler->display->display_options['arguments']['id']['summary_options']['items_per_page'] = '25'; + $handler->display->display_options['arguments']['id']['not'] = TRUE; + /* Filter criterion: Inventory asset type: Inventory enabled */ + $handler->display->display_options['filters']['enabled']['id'] = 'enabled'; + $handler->display->display_options['filters']['enabled']['table'] = 'farm_inventory_asset_type'; + $handler->display->display_options['filters']['enabled']['field'] = 'enabled'; + $handler->display->display_options['filters']['enabled']['value'] = '1'; + $handler->display->display_options['filters']['enabled']['group'] = 1; + /* Filter criterion: Farm asset: Asset type (inventory) */ + $handler->display->display_options['filters']['inventory_asset_type']['id'] = 'inventory_asset_type'; + $handler->display->display_options['filters']['inventory_asset_type']['table'] = 'farm_asset'; + $handler->display->display_options['filters']['inventory_asset_type']['field'] = 'inventory_asset_type'; + $handler->display->display_options['filters']['inventory_asset_type']['group'] = 1; + $handler->display->display_options['filters']['inventory_asset_type']['exposed'] = TRUE; + $handler->display->display_options['filters']['inventory_asset_type']['expose']['operator_id'] = 'inventory_asset_type_op'; + $handler->display->display_options['filters']['inventory_asset_type']['expose']['label'] = 'Asset type'; + $handler->display->display_options['filters']['inventory_asset_type']['expose']['operator'] = 'inventory_asset_type_op'; + $handler->display->display_options['filters']['inventory_asset_type']['expose']['identifier'] = 'inventory_asset_type'; + /* Filter criterion: Farm asset: Name */ + $handler->display->display_options['filters']['name']['id'] = 'name'; + $handler->display->display_options['filters']['name']['table'] = 'farm_asset'; + $handler->display->display_options['filters']['name']['field'] = 'name'; + $handler->display->display_options['filters']['name']['operator'] = 'contains'; + $handler->display->display_options['filters']['name']['group'] = 1; + $handler->display->display_options['filters']['name']['exposed'] = TRUE; + $handler->display->display_options['filters']['name']['expose']['operator_id'] = 'name_op'; + $handler->display->display_options['filters']['name']['expose']['label'] = 'Name'; + $handler->display->display_options['filters']['name']['expose']['operator'] = 'name_op'; + $handler->display->display_options['filters']['name']['expose']['identifier'] = 'name'; + /* Filter criterion: Farm asset: Active */ + $handler->display->display_options['filters']['active']['id'] = 'active'; + $handler->display->display_options['filters']['active']['table'] = 'farm_asset'; + $handler->display->display_options['filters']['active']['field'] = 'active'; + $handler->display->display_options['filters']['active']['value'] = '1'; + $handler->display->display_options['filters']['active']['group'] = 1; + $handler->display->display_options['filters']['active']['exposed'] = TRUE; + $handler->display->display_options['filters']['active']['expose']['operator_id'] = ''; + $handler->display->display_options['filters']['active']['expose']['label'] = 'Active'; + $handler->display->display_options['filters']['active']['expose']['operator'] = 'active_op'; + $handler->display->display_options['filters']['active']['expose']['identifier'] = 'active'; + /* Filter criterion: Field collection item: Movement to (field_farm_move_to) */ + $handler->display->display_options['filters']['field_farm_move_to_tid']['id'] = 'field_farm_move_to_tid'; + $handler->display->display_options['filters']['field_farm_move_to_tid']['table'] = 'field_data_field_farm_move_to'; + $handler->display->display_options['filters']['field_farm_move_to_tid']['field'] = 'field_farm_move_to_tid'; + $handler->display->display_options['filters']['field_farm_move_to_tid']['relationship'] = 'latest_movement'; + $handler->display->display_options['filters']['field_farm_move_to_tid']['value'] = ''; + $handler->display->display_options['filters']['field_farm_move_to_tid']['group'] = 1; + $handler->display->display_options['filters']['field_farm_move_to_tid']['exposed'] = TRUE; + $handler->display->display_options['filters']['field_farm_move_to_tid']['expose']['operator_id'] = 'field_farm_move_to_tid_op'; + $handler->display->display_options['filters']['field_farm_move_to_tid']['expose']['label'] = 'Location'; + $handler->display->display_options['filters']['field_farm_move_to_tid']['expose']['operator'] = 'field_farm_move_to_tid_op'; + $handler->display->display_options['filters']['field_farm_move_to_tid']['expose']['identifier'] = 'field_farm_move_to_tid'; + $handler->display->display_options['filters']['field_farm_move_to_tid']['vocabulary'] = 'farm_areas'; + + /* Display: Entity Reference View Widget */ + $handler = $view->new_display('entityreference_view_widget', 'Entity Reference View Widget', 'entityreference_view_widget'); + $handler->display->display_options['defaults']['title'] = FALSE; + $handler->display->display_options['title'] = 'Select asset'; + $handler->display->display_options['defaults']['use_ajax'] = FALSE; + $handler->display->display_options['defaults']['style_plugin'] = FALSE; + $handler->display->display_options['style_plugin'] = 'table'; + $handler->display->display_options['style_options']['columns'] = array( + 'entityreference_view_widget' => 'entityreference_view_widget', + 'type' => 'type', + 'field_farm_move_to' => 'field_farm_move_to', + ); + $handler->display->display_options['style_options']['default'] = '-1'; + $handler->display->display_options['style_options']['info'] = array( + 'entityreference_view_widget' => array( + 'align' => '', + 'separator' => '', + 'empty_column' => 0, + ), + 'type' => array( + 'sortable' => 0, + 'default_sort_order' => 'asc', + 'align' => '', + 'separator' => '', + 'empty_column' => 0, + ), + 'field_farm_move_to' => array( + 'sortable' => 0, + 'default_sort_order' => 'asc', + 'align' => '', + 'separator' => '', + 'empty_column' => 0, + ), + ); + $handler->display->display_options['style_options']['empty_table'] = TRUE; + $handler->display->display_options['defaults']['style_options'] = FALSE; + $handler->display->display_options['defaults']['row_plugin'] = FALSE; + $handler->display->display_options['defaults']['row_options'] = FALSE; + $translatables['farm_inventory_entityreference_view'] = array( + t('Master'), + t('more'), + t('Apply'), + t('Reset'), + t('Sort by'), + t('Asc'), + t('Desc'), + t('Items per page'), + t('- All -'), + t('Offset'), + t('« first'), + t('‹ previous'), + t('next ›'), + t('last »'), + t('Select the asset you would like to reference and click "Submit". Use the filters to narrow down the list.'), + t('No assets found.'), + t('Latest movement'), + t('Asset type'), + t('Location'), + t('Name'), + t('All'), + t('Active'), + t('Entity Reference View Widget'), + t('Select asset'), + ); + $export['farm_inventory_entityreference_view'] = $view; + $view = new view(); $view->name = 'farm_inventory_log'; $view->description = '';