rooms_unit.views.inc in Rooms - Drupal Booking for Hotels, B&Bs and Vacation Rentals 7
Providing extra functionality for the Room UI via views.
File
modules/rooms_unit/views/rooms_unit.views.incView source
<?php
/**
* @file
* Providing extra functionality for the Room UI via views.
*/
/**
* Implements hook_views_data().
*/
function rooms_unit_views_data_alter(&$data) {
$data['rooms_units']['type']['field'] = array(
'title' => t('Booking Unit Type'),
'help' => t('Booking Unit Type Label.'),
'handler' => 'rooms_unit_handler_unit_type_field',
);
$data['rooms_units']['link_unit'] = array(
'field' => array(
'title' => t('Link'),
'help' => t('Provide a link to the unit.'),
'handler' => 'rooms_unit_handler_link_field',
),
);
$data['rooms_units']['edit_unit'] = array(
'field' => array(
'title' => t('Edit Link'),
'help' => t('Provide a link to the edit form for the unit.'),
'handler' => 'rooms_unit_handler_edit_link_field',
),
);
$data['rooms_units']['delete_unit'] = array(
'field' => array(
'title' => t('Delete Link'),
'help' => t('Provide a link to delete the unit.'),
'handler' => 'rooms_unit_handler_delete_link_field',
),
);
// This content of this field are decided based on the menu structure that
// follows rooms/unit/%unit_id/op
$data['rooms_units']['operations'] = array(
'field' => array(
'title' => t('Operations links'),
'help' => t('Display all operations available for this unit.'),
'handler' => 'rooms_unit_handler_unit_operations_field',
),
);
// Expose the uid as a relationship to users.
$data['rooms_units']['uid'] = array(
'title' => t('Uid'),
'help' => t("The owner's user ID."),
'field' => array(
'handler' => 'views_handler_field_user',
'click sortable' => TRUE,
),
'argument' => array(
'handler' => 'views_handler_argument_user_uid',
'name field' => 'name',
),
'filter' => array(
'title' => t('Name'),
'handler' => 'views_handler_filter_user_name',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
'relationship' => array(
'title' => t('Owner'),
'help' => t("Relate this bookable unit to its owner's user account"),
'handler' => 'views_handler_relationship',
'base' => 'users',
'base field' => 'uid',
'field' => 'uid',
'label' => t('Bookable unit owner'),
),
);
}
/**
* Implements hook_views_default_views().
*/
function rooms_unit_views_default_views() {
$views = array();
$view = new view();
$view->name = 'bookable_units';
$view->description = 'A list of bookable units';
$view->tag = 'rooms';
$view->base_table = 'rooms_units';
$view->human_name = 'Bookable Units';
$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['title'] = 'Bookable Units';
$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'] = 'manage room units';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = '20';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['pager']['options']['id'] = '0';
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
'unit_id' => 'unit_id',
'type' => 'type',
'name' => 'name',
'base_price' => 'base_price',
'bookable' => 'bookable',
'status' => 'status',
'name_1' => 'name_1',
'link_unit' => 'link_unit',
'operations' => 'operations',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
'unit_id' => array(
'sortable' => 1,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'type' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'name' => array(
'sortable' => 1,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'base_price' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'bookable' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'status' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'name_1' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'link_unit' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'operations' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
);
/* No results behavior: Global: Text area */
$handler->display->display_options['empty']['area']['id'] = 'area';
$handler->display->display_options['empty']['area']['table'] = 'views';
$handler->display->display_options['empty']['area']['field'] = 'area';
$handler->display->display_options['empty']['area']['label'] = 'Empty Message';
$handler->display->display_options['empty']['area']['content'] = 'No bookable units have been created yet.';
/* Relationship: Bookable Units: Owner */
$handler->display->display_options['relationships']['uid']['id'] = 'uid';
$handler->display->display_options['relationships']['uid']['table'] = 'rooms_units';
$handler->display->display_options['relationships']['uid']['field'] = 'uid';
$handler->display->display_options['relationships']['uid']['required'] = TRUE;
/* Field: Bookable Units: Bookable units ID */
$handler->display->display_options['fields']['unit_id']['id'] = 'unit_id';
$handler->display->display_options['fields']['unit_id']['table'] = 'rooms_units';
$handler->display->display_options['fields']['unit_id']['field'] = 'unit_id';
$handler->display->display_options['fields']['unit_id']['label'] = 'ID';
/* Field: Bookable Units: Booking Unit Type */
$handler->display->display_options['fields']['type']['id'] = 'type';
$handler->display->display_options['fields']['type']['table'] = 'rooms_units';
$handler->display->display_options['fields']['type']['field'] = 'type';
$handler->display->display_options['fields']['type']['label'] = 'Type';
/* Field: Bookable Units: Name */
$handler->display->display_options['fields']['name']['id'] = 'name';
$handler->display->display_options['fields']['name']['table'] = 'rooms_units';
$handler->display->display_options['fields']['name']['field'] = 'name';
/* Field: Bookable Units: Base_price */
$handler->display->display_options['fields']['base_price']['id'] = 'base_price';
$handler->display->display_options['fields']['base_price']['table'] = 'rooms_units';
$handler->display->display_options['fields']['base_price']['field'] = 'base_price';
$handler->display->display_options['fields']['base_price']['label'] = 'Base price';
/* Field: Bookable Units: Bookable */
$handler->display->display_options['fields']['bookable']['id'] = 'bookable';
$handler->display->display_options['fields']['bookable']['table'] = 'rooms_units';
$handler->display->display_options['fields']['bookable']['field'] = 'bookable';
/* Field: Bookable Units: Status */
$handler->display->display_options['fields']['status']['id'] = 'status';
$handler->display->display_options['fields']['status']['table'] = 'rooms_units';
$handler->display->display_options['fields']['status']['field'] = 'status';
$handler->display->display_options['fields']['status']['label'] = 'Published';
$handler->display->display_options['fields']['status']['element_label_colon'] = FALSE;
/* Field: User: Name */
$handler->display->display_options['fields']['name_1']['id'] = 'name_1';
$handler->display->display_options['fields']['name_1']['table'] = 'users';
$handler->display->display_options['fields']['name_1']['field'] = 'name';
$handler->display->display_options['fields']['name_1']['relationship'] = 'uid';
$handler->display->display_options['fields']['name_1']['label'] = 'Owner';
/* Field: Bookable Units: Link */
$handler->display->display_options['fields']['link_unit']['id'] = 'link_unit';
$handler->display->display_options['fields']['link_unit']['table'] = 'rooms_units';
$handler->display->display_options['fields']['link_unit']['field'] = 'link_unit';
/* Field: Bookable Units: Operations links */
$handler->display->display_options['fields']['operations']['id'] = 'operations';
$handler->display->display_options['fields']['operations']['table'] = 'rooms_units';
$handler->display->display_options['fields']['operations']['field'] = 'operations';
/* Filter criterion: Bookable Units: Type */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'rooms_units';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['exposed'] = TRUE;
$handler->display->display_options['filters']['type']['expose']['operator_id'] = 'type_op';
$handler->display->display_options['filters']['type']['expose']['label'] = 'Type';
$handler->display->display_options['filters']['type']['expose']['operator'] = 'type_op';
$handler->display->display_options['filters']['type']['expose']['identifier'] = 'type';
$handler->display->display_options['filters']['type']['expose']['multiple'] = TRUE;
/* Display: Page */
$handler = $view
->new_display('page', 'Page', 'page_1');
$handler->display->display_options['path'] = 'admin/rooms/units/list';
$handler->display->display_options['menu']['type'] = 'default tab';
$handler->display->display_options['menu']['title'] = 'Bookable Units List';
$handler->display->display_options['menu']['description'] = 'A list of the units (rooms, etc) that can be booked for your accommodation.';
$handler->display->display_options['menu']['weight'] = '-10';
$handler->display->display_options['tab_options']['type'] = 'normal';
$handler->display->display_options['tab_options']['title'] = 'Bookable Units';
$handler->display->display_options['tab_options']['description'] = 'Create and administer units that can be booked, such as rooms for a hotel. Bookable units have availability and pricing information attached to them by the Rooms module and can have extra fields added via the standard Drupal Field API functionality.';
$handler->display->display_options['tab_options']['weight'] = '-10';
$handler->display->display_options['tab_options']['name'] = 'management';
$views['bookable_units'] = $view;
return $views;
}
Functions
Name | Description |
---|---|
rooms_unit_views_data_alter | Implements hook_views_data(). |
rooms_unit_views_default_views | Implements hook_views_default_views(). |