diff --git a/cod_bof/cod_bof.strongarm.inc b/cod_bof/cod_bof.strongarm.inc
index 34bb97e33501842d666d9d9f67d60030afa9828c..153ab1d374620e7d6f560cc2deba566ddaddfeec 100755
--- a/cod_bof/cod_bof.strongarm.inc
+++ b/cod_bof/cod_bof.strongarm.inc
@@ -123,6 +123,7 @@ function cod_bof_strongarm() {
$strongarm->value = array(
0 => 'status',
1 => 'revision',
+ 2 => 'panelizer',
);
$export['node_options_bof_session'] = $strongarm;
diff --git a/cod_bof/cod_bof.views_default.inc b/cod_bof/cod_bof.views_default.inc
index 91f48f7d180e06ba4b473f10c89758ac6785d859..a75998d209b97d8022b2f858c164dde943c6fb6b 100755
--- a/cod_bof/cod_bof.views_default.inc
+++ b/cod_bof/cod_bof.views_default.inc
@@ -343,10 +343,6 @@ function cod_bof_views_default_views() {
$handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['limit'] = '0';
$handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['break_phrase'] = TRUE;
- /* Display: Block */
- $handler = $view->new_display('block', 'Block', 'block');
- $handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
-
/* Display: Bof Grid Block */
$handler = $view->new_display('block', 'Bof Grid Block', 'block_1');
$handler->display->display_options['defaults']['style_plugin'] = FALSE;
@@ -355,6 +351,147 @@ function cod_bof_views_default_views() {
$handler->display->display_options['defaults']['row_plugin'] = FALSE;
$handler->display->display_options['row_plugin'] = 'fields';
$handler->display->display_options['defaults']['row_options'] = FALSE;
+
+ /* Display: BoF time schedule pane */
+ $handler = $view->new_display('panel_pane', 'BoF time schedule pane', 'cod_bof_session_time_pane');
+ $handler->display->display_options['defaults']['title'] = FALSE;
+ $handler->display->display_options['defaults']['style_plugin'] = FALSE;
+ $handler->display->display_options['style_plugin'] = 'default';
+ $handler->display->display_options['style_options']['grouping'] = array(
+ 0 => array(
+ 'field' => 'field_evttime_date',
+ 'rendered' => 1,
+ 'rendered_strip' => 0,
+ ),
+ );
+ $handler->display->display_options['defaults']['style_options'] = FALSE;
+ $handler->display->display_options['defaults']['row_plugin'] = FALSE;
+ $handler->display->display_options['row_plugin'] = 'fields';
+ $handler->display->display_options['defaults']['row_options'] = FALSE;
+ $handler->display->display_options['defaults']['fields'] = FALSE;
+ /* Field: Field collection item: Field collection item ID */
+ $handler->display->display_options['fields']['item_id']['id'] = 'item_id';
+ $handler->display->display_options['fields']['item_id']['table'] = 'field_collection_item';
+ $handler->display->display_options['fields']['item_id']['field'] = 'item_id';
+ $handler->display->display_options['fields']['item_id']['label'] = '';
+ $handler->display->display_options['fields']['item_id']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['item_id']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['item_id']['separator'] = '';
+ /* Field: Room: Label */
+ $handler->display->display_options['fields']['name']['id'] = 'name';
+ $handler->display->display_options['fields']['name']['table'] = 'cod_event_room';
+ $handler->display->display_options['fields']['name']['field'] = 'name';
+ $handler->display->display_options['fields']['name']['relationship'] = 'field_timeslot_room_target_id';
+ $handler->display->display_options['fields']['name']['label'] = '';
+ $handler->display->display_options['fields']['name']['element_label_colon'] = FALSE;
+ /* Field: Room: Capacity */
+ $handler->display->display_options['fields']['capacity']['id'] = 'capacity';
+ $handler->display->display_options['fields']['capacity']['table'] = 'cod_event_room';
+ $handler->display->display_options['fields']['capacity']['field'] = 'capacity';
+ $handler->display->display_options['fields']['capacity']['relationship'] = 'field_timeslot_room_target_id';
+ $handler->display->display_options['fields']['capacity']['label'] = '';
+ $handler->display->display_options['fields']['capacity']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['capacity']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['capacity']['separator'] = '';
+ /* Field: Content: Nid */
+ $handler->display->display_options['fields']['nid']['id'] = 'nid';
+ $handler->display->display_options['fields']['nid']['table'] = 'node';
+ $handler->display->display_options['fields']['nid']['field'] = 'nid';
+ $handler->display->display_options['fields']['nid']['relationship'] = 'field_event_timeslots_node';
+ $handler->display->display_options['fields']['nid']['label'] = 'Conference NID';
+ $handler->display->display_options['fields']['nid']['exclude'] = TRUE;
+ /* Field: Global: View */
+ $handler->display->display_options['fields']['view']['id'] = 'view';
+ $handler->display->display_options['fields']['view']['table'] = 'views';
+ $handler->display->display_options['fields']['view']['field'] = 'view';
+ $handler->display->display_options['fields']['view']['label'] = '';
+ $handler->display->display_options['fields']['view']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['view']['hide_alter_empty'] = FALSE;
+ $handler->display->display_options['fields']['view']['view'] = 'cod_bof_schedule_content';
+ $handler->display->display_options['fields']['view']['arguments'] = '[!item_id]/!3/[!capacity]/[!nid]';
+ /* Field: Time: Date and time */
+ $handler->display->display_options['fields']['field_evttime_date']['id'] = 'field_evttime_date';
+ $handler->display->display_options['fields']['field_evttime_date']['table'] = 'field_data_field_evttime_date';
+ $handler->display->display_options['fields']['field_evttime_date']['field'] = 'field_evttime_date';
+ $handler->display->display_options['fields']['field_evttime_date']['relationship'] = 'field_timeslot_time_target_id';
+ $handler->display->display_options['fields']['field_evttime_date']['label'] = '';
+ $handler->display->display_options['fields']['field_evttime_date']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['field_evttime_date']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['field_evttime_date']['settings'] = array(
+ 'format_type' => 'cod_time',
+ 'fromto' => 'both',
+ 'multiple_number' => '',
+ 'multiple_from' => '',
+ 'multiple_to' => '',
+ 'show_remaining_days' => 0,
+ );
+ $handler->display->display_options['defaults']['sorts'] = FALSE;
+ /* Sort criterion: Time: Date and time - start date (field_evttime_date) */
+ $handler->display->display_options['sorts']['field_evttime_date_value']['id'] = 'field_evttime_date_value';
+ $handler->display->display_options['sorts']['field_evttime_date_value']['table'] = 'field_data_field_evttime_date';
+ $handler->display->display_options['sorts']['field_evttime_date_value']['field'] = 'field_evttime_date_value';
+ $handler->display->display_options['sorts']['field_evttime_date_value']['relationship'] = 'field_timeslot_time_target_id';
+ $handler->display->display_options['defaults']['arguments'] = FALSE;
+ /* Contextual filter: Content: Nid */
+ $handler->display->display_options['arguments']['nid']['id'] = 'nid';
+ $handler->display->display_options['arguments']['nid']['table'] = 'node';
+ $handler->display->display_options['arguments']['nid']['field'] = 'nid';
+ $handler->display->display_options['arguments']['nid']['relationship'] = 'field_event_timeslots_node';
+ $handler->display->display_options['arguments']['nid']['default_action'] = 'access denied';
+ $handler->display->display_options['arguments']['nid']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['nid']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['nid']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['nid']['summary_options']['items_per_page'] = '25';
+ /* Contextual filter: Time: Date and time - start date (field_evttime_date) */
+ $handler->display->display_options['arguments']['field_evttime_date_value']['id'] = 'field_evttime_date_value';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['table'] = 'field_data_field_evttime_date';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['field'] = 'field_evttime_date_value';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['relationship'] = 'field_timeslot_time_target_id';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['default_action'] = 'not found';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['default_argument_type'] = 'date';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['granularity'] = 'day';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['granularity_reset'] = 0;
+ $handler->display->display_options['arguments']['field_evttime_date_value']['timezone'] = 'America/Los_Angeles';
+ /* Contextual filter: Field collection item: Allowed Types (field_timeslot_allowed_types) */
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['id'] = 'field_timeslot_allowed_types_value';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['table'] = 'field_data_field_timeslot_allowed_types';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['field'] = 'field_timeslot_allowed_types_value';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['default_action'] = 'not found';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['limit'] = '0';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['break_phrase'] = TRUE;
+ $handler->display->display_options['argument_input'] = array(
+ 'nid' => array(
+ 'type' => 'user',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => '',
+ 'label' => 'Conference',
+ ),
+ 'field_evttime_date_value' => array(
+ 'type' => 'user',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => '',
+ 'label' => 'Time-Y-M-D',
+ ),
+ 'field_timeslot_allowed_types_value' => array(
+ 'type' => 'fixed',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => 'bof_session',
+ 'label' => 'Field collection item: Allowed Types (field_timeslot_allowed_types)',
+ ),
+ );
$export['cod_bof_schedule_timeslots'] = $view;
return $export;
diff --git a/cod_bof/modules/cod_bof_pages/cod_bof_pages.pages_default.inc b/cod_bof/modules/cod_bof_pages/cod_bof_pages.pages_default.inc
index 5e0562307b76bb6e5e57ee39ba28319c8f0c2324..8f9f0667706c9f1e576f77ef1d0d0f7252c14f3c 100644
--- a/cod_bof/modules/cod_bof_pages/cod_bof_pages.pages_default.inc
+++ b/cod_bof/modules/cod_bof_pages/cod_bof_pages.pages_default.inc
@@ -15,7 +15,7 @@ function cod_bof_pages_default_page_manager_pages() {
$page->task = 'page';
$page->admin_title = 'cod_bof_pages';
$page->admin_description = '';
- $page->path = 'node/%node/bofs';
+ $page->path = 'node/%node/bofs/!day';
$page->access = array();
$page->menu = array();
$page->arguments = array(
@@ -25,6 +25,14 @@ function cod_bof_pages_default_page_manager_pages() {
'name' => 'entity_id:node',
'settings' => array(),
),
+ 'day' => array(
+ 'id' => 1,
+ 'identifier' => 'Schedule Day',
+ 'name' => 'string',
+ 'settings' => array(
+ 'use_tail' => 0,
+ ),
+ ),
);
$page->conf = array(
'admin_paths' => FALSE,
@@ -33,11 +41,49 @@ function cod_bof_pages_default_page_manager_pages() {
$handler = new stdClass();
$handler->disabled = FALSE; /* Edit this to true to make a default handler disabled initially */
$handler->api_version = 1;
+ $handler->name = 'page-cod_bof_pages__bof_schedule_default_day';
+ $handler->task = 'page';
+ $handler->subtask = 'cod_bof_pages';
+ $handler->handler = 'http_response';
+ $handler->weight = -30;
+ $handler->conf = array(
+ 'title' => 'Bof Schedule Default day',
+ 'contexts' => array(
+ 0 => array(
+ 'identifier' => 'Schedule Default Day',
+ 'keyword' => 'cod_schedule_default_day',
+ 'name' => 'cod_schedule_day',
+ 'id' => 1,
+ 'day' => '',
+ ),
+ ),
+ 'relationships' => array(),
+ 'code' => '301',
+ 'destination' => 'node/%node:nid/bofs/%cod_schedule_default_day',
+ 'name' => 'bof_schedule_default_day',
+ 'access' => array(
+ 'plugins' => array(
+ 0 => array(
+ 'name' => 'context_exists',
+ 'settings' => array(
+ 'exists' => '0',
+ ),
+ 'context' => 'argument_string_1',
+ 'not' => FALSE,
+ ),
+ ),
+ 'logic' => 'and',
+ ),
+ );
+ $page->default_handlers[$handler->name] = $handler;
+ $handler = new stdClass();
+ $handler->disabled = FALSE; /* Edit this to true to make a default handler disabled initially */
+ $handler->api_version = 1;
$handler->name = 'page_cod_bof_pages__panel_context_d1b7e4a1-edf8-4c94-bc18-5b7362409cc6';
$handler->task = 'page';
$handler->subtask = 'cod_bof_pages';
$handler->handler = 'panel_context';
- $handler->weight = 0;
+ $handler->weight = -29;
$handler->conf = array(
'title' => 'Bof Schedule',
'no_blocks' => 0,
@@ -66,15 +112,16 @@ function cod_bof_pages_default_page_manager_pages() {
$display->content = array();
$display->panels = array();
$pane = new stdClass();
- $pane->pid = 'new-284d0511-afdd-40f5-863c-42e3cc6090cd';
+ $pane->pid = 'new-9498e9f1-adf3-4345-af97-3c7c784dbc7b';
$pane->panel = 'content';
$pane->type = 'views_panes';
- $pane->subtype = 'cod_bof_schedule-panel_pane_1';
+ $pane->subtype = 'cod_bof_schedule_timeslots-cod_bof_session_time_pane';
$pane->shown = TRUE;
$pane->access = array();
$pane->configuration = array(
'arguments' => array(
- 'gid' => '%node:nid',
+ 'nid' => '%node:nid',
+ 'field_evttime_date_value' => '%day',
),
);
$pane->cache = array();
@@ -85,11 +132,30 @@ function cod_bof_pages_default_page_manager_pages() {
$pane->extras = array();
$pane->position = 0;
$pane->locks = array();
- $pane->uuid = '284d0511-afdd-40f5-863c-42e3cc6090cd';
- $display->content['new-284d0511-afdd-40f5-863c-42e3cc6090cd'] = $pane;
- $display->panels['content'][0] = 'new-284d0511-afdd-40f5-863c-42e3cc6090cd';
+ $pane->uuid = '9498e9f1-adf3-4345-af97-3c7c784dbc7b';
+ $display->content['new-9498e9f1-adf3-4345-af97-3c7c784dbc7b'] = $pane;
+ $display->panels['content'][0] = 'new-9498e9f1-adf3-4345-af97-3c7c784dbc7b';
+ $pane = new stdClass();
+ $pane->pid = 'new-4c14bf58-31f4-45d4-812a-44119df82554';
+ $pane->panel = 'preface';
+ $pane->type = 'cod_schedule_menu_pane';
+ $pane->subtype = 'cod_schedule_menu_pane';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array();
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array();
+ $pane->extras = array();
+ $pane->position = 0;
+ $pane->locks = array();
+ $pane->uuid = '4c14bf58-31f4-45d4-812a-44119df82554';
+ $display->content['new-4c14bf58-31f4-45d4-812a-44119df82554'] = $pane;
+ $display->panels['preface'][0] = 'new-4c14bf58-31f4-45d4-812a-44119df82554';
$display->hide_title = PANELS_TITLE_FIXED;
- $display->title_pane = 'new-284d0511-afdd-40f5-863c-42e3cc6090cd';
+ $display->title_pane = '0';
$handler->conf['display'] = $display;
$page->default_handlers[$handler->name] = $handler;
$pages['cod_bof_pages'] = $page;
diff --git a/cod_bof/modules/cod_bof_pages/cod_bof_pages.strongarm.inc b/cod_bof/modules/cod_bof_pages/cod_bof_pages.strongarm.inc
index b42cdb00a61a1dec3508bd5487d343d7b272c316..d1860de7d944d9f6de4a2f9334de18104d1bcd8f 100644
--- a/cod_bof/modules/cod_bof_pages/cod_bof_pages.strongarm.inc
+++ b/cod_bof/modules/cod_bof_pages/cod_bof_pages.strongarm.inc
@@ -27,46 +27,16 @@ function cod_bof_pages_strongarm() {
'default' => 1,
'choice' => 0,
),
- 'full' => array(
- 'status' => 0,
- 'default' => 0,
- 'choice' => 0,
- ),
'teaser' => array(
'status' => 0,
'default' => 0,
'choice' => 0,
),
- 'rss' => array(
- 'status' => 0,
- 'default' => 0,
- 'choice' => 0,
- ),
- 'search_index' => array(
- 'status' => 0,
- 'default' => 0,
- 'choice' => 0,
- ),
- 'search_result' => array(
- 'status' => 0,
- 'default' => 0,
- 'choice' => 0,
- ),
'listing' => array(
'status' => 0,
'default' => 0,
'choice' => 0,
),
- 'diff_standard' => array(
- 'status' => 0,
- 'default' => 0,
- 'choice' => 0,
- ),
- 'token' => array(
- 'status' => 0,
- 'default' => 0,
- 'choice' => 0,
- ),
),
);
$export['panelizer_defaults_node_bof_session'] = $strongarm;
diff --git a/cod_schedule/cod_schedule.features.field_instance.inc b/cod_schedule/cod_schedule.features.field_instance.inc
index e85a2b7096ed5bc39e305293c9b56e9d0a2ac557..986a6141d278816ee291089969abe978470b5609 100644
--- a/cod_schedule/cod_schedule.features.field_instance.inc
+++ b/cod_schedule/cod_schedule.features.field_instance.inc
@@ -78,6 +78,7 @@ function cod_schedule_field_default_field_instances() {
'multiple_from' => '',
'multiple_number' => '',
'multiple_to' => '',
+ 'show_remaining_days' => FALSE,
),
'type' => 'date_default',
'weight' => 0,
diff --git a/cod_schedule/cod_schedule.module b/cod_schedule/cod_schedule.module
index 8689a2ef522cc0da66f67239cb3be03c8f37d9fb..6df1a1c6f338c951c2a7407439cd57f8727107ff 100644
--- a/cod_schedule/cod_schedule.module
+++ b/cod_schedule/cod_schedule.module
@@ -20,6 +20,12 @@ function cod_schedule_ctools_plugin_directory($module, $plugin) {
if ($module == 'ctools' && $plugin == 'content_types') {
return 'plugins/content_types';
}
+ if ($module == 'ctools' && $plugin == 'contexts') {
+ return 'plugins/contexts';
+ }
+ if ($module == 'ctools' && $plugin == 'arguments') {
+ return 'plugins/arguments';
+ }
}
/**
@@ -272,6 +278,9 @@ function cod_schedule_update_session() {
* Helper function determines days there are time slots for.
*/
function cod_schedule_days($node) {
+ if (is_numeric($node)) {
+ $node = node_load($node);
+ }
if(!empty($node->field_dates)) {
$tz = $node->field_dates[LANGUAGE_NONE][0]['timezone'];
diff --git a/cod_schedule/cod_schedule.views_default.inc b/cod_schedule/cod_schedule.views_default.inc
index d41de05d3513f7027d691a9cf1c4cb673ee68426..87ed0e7b74c104fa565d43e73c5d5ec14f5226de 100644
--- a/cod_schedule/cod_schedule.views_default.inc
+++ b/cod_schedule/cod_schedule.views_default.inc
@@ -12,10 +12,10 @@ function cod_schedule_views_default_views() {
$view = new view();
$view->name = 'cod_schedule';
- $view->description = 'Main Schedule View for Events';
+ $view->description = 'Schedule View eSignage for Events';
$view->tag = 'cod_schedule';
$view->base_table = 'cod_event_time';
- $view->human_name = 'COD Event Schedule';
+ $view->human_name = 'COD Event Schedule Sign';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
@@ -30,16 +30,7 @@ function cod_schedule_views_default_views() {
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'none';
- $handler->display->display_options['style_plugin'] = 'quicktabs';
- $handler->display->display_options['style_options']['grouping'] = array(
- 0 => array(
- 'field' => 'field_evttime_date',
- 'rendered' => 1,
- 'rendered_strip' => 1,
- ),
- );
- $handler->display->display_options['style_options']['tab_style'] = 'Zen';
- $handler->display->display_options['style_options']['tab_title_field'] = 'field_evttime_date';
+ $handler->display->display_options['style_plugin'] = 'default';
$handler->display->display_options['row_plugin'] = 'fields';
/* No results behavior: Global: Text area */
$handler->display->display_options['empty']['area']['id'] = 'area';
@@ -92,6 +83,7 @@ function cod_schedule_views_default_views() {
$handler->display->display_options['fields']['view']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['view']['hide_empty'] = TRUE;
$handler->display->display_options['fields']['view']['view'] = 'cod_schedule_content';
+ $handler->display->display_options['fields']['view']['display'] = 'block_1';
$handler->display->display_options['fields']['view']['arguments'] = '[!evttid]/session+schedule_item';
/* Sort criterion: Time: Date and time - start date (field_evttime_date) */
$handler->display->display_options['sorts']['field_evttime_date_value']['id'] = 'field_evttime_date_value';
@@ -193,21 +185,6 @@ function cod_schedule_views_default_views() {
$handler->display->display_options['filters']['field_evttime_date_value2']['default_date'] = '10 minutes';
$handler->display->display_options['filters']['field_evttime_date_value2']['year_range'] = '-1:+1';
$handler->display->display_options['path'] = 'node/%/program/schedule/sessions/sign';
-
- /* Display: Content pane */
- $handler = $view->new_display('panel_pane', 'Content pane', 'panel_pane_1');
- $handler->display->display_options['defaults']['title'] = FALSE;
- $handler->display->display_options['argument_input'] = array(
- 'gid' => array(
- 'type' => 'user',
- 'context' => 'entity:comment.author',
- 'context_optional' => 0,
- 'panel' => '0',
- 'fixed' => '',
- 'label' => 'Conference',
- ),
- );
- $handler->display->display_options['inherit_panels_path'] = '1';
$export['cod_schedule'] = $view;
$view = new view();
@@ -222,6 +199,7 @@ function cod_schedule_views_default_views() {
/* 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['cache']['type'] = 'none';
@@ -233,6 +211,7 @@ function cod_schedule_views_default_views() {
$handler->display->display_options['pager']['options']['id'] = '0';
$handler->display->display_options['pager']['options']['quantity'] = '9';
$handler->display->display_options['style_plugin'] = 'default';
+ $handler->display->display_options['style_options']['row_class'] = '[name_2]';
$handler->display->display_options['row_plugin'] = 'fields';
/* No results behavior: Global: Text area */
$handler->display->display_options['empty']['area']['id'] = 'area';
@@ -259,6 +238,16 @@ function cod_schedule_views_default_views() {
$handler->display->display_options['relationships']['field_timeslot_time_target_id']['relationship'] = 'field_session_timeslot_target_id';
$handler->display->display_options['relationships']['field_timeslot_time_target_id']['label'] = 'Time entity';
$handler->display->display_options['relationships']['field_timeslot_time_target_id']['required'] = TRUE;
+ /* Relationship: Flags: session_schedule */
+ $handler->display->display_options['relationships']['flag_content_rel']['id'] = 'flag_content_rel';
+ $handler->display->display_options['relationships']['flag_content_rel']['table'] = 'node';
+ $handler->display->display_options['relationships']['flag_content_rel']['field'] = 'flag_content_rel';
+ $handler->display->display_options['relationships']['flag_content_rel']['required'] = 0;
+ $handler->display->display_options['relationships']['flag_content_rel']['flag'] = 'session_schedule';
+ /* Relationship: Entity Reference: Referenced Entity */
+ $handler->display->display_options['relationships']['og_vocabulary_target_id']['id'] = 'og_vocabulary_target_id';
+ $handler->display->display_options['relationships']['og_vocabulary_target_id']['table'] = 'field_data_og_vocabulary';
+ $handler->display->display_options['relationships']['og_vocabulary_target_id']['field'] = 'og_vocabulary_target_id';
/* Field: Content: Title */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
@@ -283,6 +272,31 @@ function cod_schedule_views_default_views() {
'link' => 1,
);
$handler->display->display_options['fields']['field_speakers']['delta_offset'] = '0';
+ /* Field: Flags: Flag link */
+ $handler->display->display_options['fields']['ops']['id'] = 'ops';
+ $handler->display->display_options['fields']['ops']['table'] = 'flagging';
+ $handler->display->display_options['fields']['ops']['field'] = 'ops';
+ $handler->display->display_options['fields']['ops']['relationship'] = 'flag_content_rel';
+ $handler->display->display_options['fields']['ops']['label'] = '';
+ $handler->display->display_options['fields']['ops']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['ops']['link_type'] = 'toggle';
+ /* Field: Taxonomy term: Name */
+ $handler->display->display_options['fields']['name_1']['id'] = 'name_1';
+ $handler->display->display_options['fields']['name_1']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['name_1']['field'] = 'name';
+ $handler->display->display_options['fields']['name_1']['relationship'] = 'og_vocabulary_target_id';
+ $handler->display->display_options['fields']['name_1']['label'] = '';
+ $handler->display->display_options['fields']['name_1']['element_label_colon'] = FALSE;
+ /* Field: Taxonomy term: Name */
+ $handler->display->display_options['fields']['name_2']['id'] = 'name_2';
+ $handler->display->display_options['fields']['name_2']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['name_2']['field'] = 'name';
+ $handler->display->display_options['fields']['name_2']['relationship'] = 'og_vocabulary_target_id';
+ $handler->display->display_options['fields']['name_2']['label'] = '';
+ $handler->display->display_options['fields']['name_2']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['name_2']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['name_2']['case'] = 'lower';
+ $handler->display->display_options['fields']['name_2']['convert_spaces'] = TRUE;
/* Sort criterion: Room: Label */
$handler->display->display_options['sorts']['name']['id'] = 'name';
$handler->display->display_options['sorts']['name']['table'] = 'cod_event_room';
@@ -323,11 +337,8 @@ function cod_schedule_views_default_views() {
$handler->display->display_options['filters']['status']['group'] = 1;
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
- /* Display: Block */
- $handler = $view->new_display('block', 'Block', 'block_1');
-
- /* Display: Page */
- $handler = $view->new_display('page', 'Page', 'page_1');
+ /* Display: Sessions JSON */
+ $handler = $view->new_display('page', 'Sessions JSON', 'page_1');
$handler->display->display_options['defaults']['style_plugin'] = FALSE;
$handler->display->display_options['style_plugin'] = 'views_json';
$handler->display->display_options['style_options']['plaintext_output'] = 1;
@@ -452,6 +463,203 @@ function cod_schedule_views_default_views() {
$handler->display->display_options['defaults']['row_plugin'] = FALSE;
$handler->display->display_options['row_plugin'] = 'fields';
$handler->display->display_options['defaults']['row_options'] = FALSE;
+
+ /* Display: Session schedule pane */
+ $handler = $view->new_display('panel_pane', 'Session schedule pane', 'cod_schedule_session_content_pane');
+ $handler->display->display_options['defaults']['style_plugin'] = FALSE;
+ $handler->display->display_options['style_plugin'] = 'default';
+ $handler->display->display_options['style_options']['grouping'] = array(
+ 0 => array(
+ 'field' => 'field_evttime_date',
+ 'rendered' => 1,
+ 'rendered_strip' => 0,
+ ),
+ );
+ $handler->display->display_options['style_options']['row_class'] = '[name_2] [type]';
+ $handler->display->display_options['defaults']['style_options'] = FALSE;
+ $handler->display->display_options['defaults']['row_plugin'] = FALSE;
+ $handler->display->display_options['row_plugin'] = 'fields';
+ $handler->display->display_options['defaults']['row_options'] = FALSE;
+ $handler->display->display_options['exposed_block'] = TRUE;
+ $handler->display->display_options['defaults']['fields'] = FALSE;
+ /* Field: Time: Date and time */
+ $handler->display->display_options['fields']['field_evttime_date']['id'] = 'field_evttime_date';
+ $handler->display->display_options['fields']['field_evttime_date']['table'] = 'field_data_field_evttime_date';
+ $handler->display->display_options['fields']['field_evttime_date']['field'] = 'field_evttime_date';
+ $handler->display->display_options['fields']['field_evttime_date']['relationship'] = 'field_timeslot_time_target_id';
+ $handler->display->display_options['fields']['field_evttime_date']['label'] = '';
+ $handler->display->display_options['fields']['field_evttime_date']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['field_evttime_date']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['field_evttime_date']['settings'] = array(
+ 'format_type' => 'cod_time',
+ 'fromto' => 'both',
+ 'multiple_number' => '',
+ 'multiple_from' => '',
+ 'multiple_to' => '',
+ 'show_remaining_days' => 0,
+ );
+ /* Field: Content: Title */
+ $handler->display->display_options['fields']['title']['id'] = 'title';
+ $handler->display->display_options['fields']['title']['table'] = 'node';
+ $handler->display->display_options['fields']['title']['field'] = 'title';
+ $handler->display->display_options['fields']['title']['label'] = '';
+ $handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
+ $handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
+ /* Field: Room: Label */
+ $handler->display->display_options['fields']['name']['id'] = 'name';
+ $handler->display->display_options['fields']['name']['table'] = 'cod_event_room';
+ $handler->display->display_options['fields']['name']['field'] = 'name';
+ $handler->display->display_options['fields']['name']['relationship'] = 'field_timeslot_room_target_id';
+ $handler->display->display_options['fields']['name']['label'] = '';
+ $handler->display->display_options['fields']['name']['element_label_colon'] = FALSE;
+ /* Field: Content: Speaker(s) */
+ $handler->display->display_options['fields']['field_speakers']['id'] = 'field_speakers';
+ $handler->display->display_options['fields']['field_speakers']['table'] = 'field_data_field_speakers';
+ $handler->display->display_options['fields']['field_speakers']['field'] = 'field_speakers';
+ $handler->display->display_options['fields']['field_speakers']['label'] = '';
+ $handler->display->display_options['fields']['field_speakers']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['field_speakers']['settings'] = array(
+ 'link' => 1,
+ );
+ $handler->display->display_options['fields']['field_speakers']['delta_offset'] = '0';
+ /* Field: Flags: Flag link */
+ $handler->display->display_options['fields']['ops']['id'] = 'ops';
+ $handler->display->display_options['fields']['ops']['table'] = 'flagging';
+ $handler->display->display_options['fields']['ops']['field'] = 'ops';
+ $handler->display->display_options['fields']['ops']['relationship'] = 'flag_content_rel';
+ $handler->display->display_options['fields']['ops']['label'] = '';
+ $handler->display->display_options['fields']['ops']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['ops']['link_type'] = 'toggle';
+ /* Field: Taxonomy term: Name */
+ $handler->display->display_options['fields']['name_2']['id'] = 'name_2';
+ $handler->display->display_options['fields']['name_2']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['name_2']['field'] = 'name';
+ $handler->display->display_options['fields']['name_2']['relationship'] = 'og_vocabulary_target_id';
+ $handler->display->display_options['fields']['name_2']['label'] = '';
+ $handler->display->display_options['fields']['name_2']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['name_2']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['name_2']['case'] = 'lower';
+ $handler->display->display_options['fields']['name_2']['convert_spaces'] = TRUE;
+ /* Field: Content: Type */
+ $handler->display->display_options['fields']['type']['id'] = 'type';
+ $handler->display->display_options['fields']['type']['table'] = 'node';
+ $handler->display->display_options['fields']['type']['field'] = 'type';
+ $handler->display->display_options['fields']['type']['label'] = '';
+ $handler->display->display_options['fields']['type']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['type']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['type']['machine_name'] = TRUE;
+ $handler->display->display_options['defaults']['sorts'] = FALSE;
+ /* Sort criterion: Time: Date and time - start date (field_evttime_date) */
+ $handler->display->display_options['sorts']['field_evttime_date_value']['id'] = 'field_evttime_date_value';
+ $handler->display->display_options['sorts']['field_evttime_date_value']['table'] = 'field_data_field_evttime_date';
+ $handler->display->display_options['sorts']['field_evttime_date_value']['field'] = 'field_evttime_date_value';
+ $handler->display->display_options['sorts']['field_evttime_date_value']['relationship'] = 'field_timeslot_time_target_id';
+ /* Sort criterion: Room: Label */
+ $handler->display->display_options['sorts']['name']['id'] = 'name';
+ $handler->display->display_options['sorts']['name']['table'] = 'cod_event_room';
+ $handler->display->display_options['sorts']['name']['field'] = 'name';
+ $handler->display->display_options['sorts']['name']['relationship'] = 'field_timeslot_room_target_id';
+ /* Sort criterion: Field collection item: Room (field_timeslot_room) */
+ $handler->display->display_options['sorts']['field_timeslot_room_target_id']['id'] = 'field_timeslot_room_target_id';
+ $handler->display->display_options['sorts']['field_timeslot_room_target_id']['table'] = 'field_data_field_timeslot_room';
+ $handler->display->display_options['sorts']['field_timeslot_room_target_id']['field'] = 'field_timeslot_room_target_id';
+ $handler->display->display_options['sorts']['field_timeslot_room_target_id']['relationship'] = 'field_session_timeslot_target_id';
+ $handler->display->display_options['defaults']['arguments'] = FALSE;
+ /* Contextual filter: OG membership: Group ID */
+ $handler->display->display_options['arguments']['gid']['id'] = 'gid';
+ $handler->display->display_options['arguments']['gid']['table'] = 'og_membership';
+ $handler->display->display_options['arguments']['gid']['field'] = 'gid';
+ $handler->display->display_options['arguments']['gid']['relationship'] = 'field_timeslot_time_target_id';
+ $handler->display->display_options['arguments']['gid']['default_action'] = 'empty';
+ $handler->display->display_options['arguments']['gid']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['gid']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['gid']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['gid']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['arguments']['gid']['specify_validation'] = TRUE;
+ $handler->display->display_options['arguments']['gid']['validate']['type'] = 'og';
+ $handler->display->display_options['arguments']['gid']['validate']['fail'] = 'access denied';
+ /* Contextual filter: Field collection item: Allowed Types (field_timeslot_allowed_types) */
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['id'] = 'field_timeslot_allowed_types_value';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['table'] = 'field_data_field_timeslot_allowed_types';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['field'] = 'field_timeslot_allowed_types_value';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['relationship'] = 'field_session_timeslot_target_id';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['default_action'] = 'not found';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['limit'] = '0';
+ $handler->display->display_options['arguments']['field_timeslot_allowed_types_value']['break_phrase'] = TRUE;
+ /* Contextual filter: Time: Date and time - start date (field_evttime_date) */
+ $handler->display->display_options['arguments']['field_evttime_date_value']['id'] = 'field_evttime_date_value';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['table'] = 'field_data_field_evttime_date';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['field'] = 'field_evttime_date_value';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['relationship'] = 'field_timeslot_time_target_id';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['default_action'] = 'not found';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['default_argument_type'] = 'date';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['granularity'] = 'day';
+ $handler->display->display_options['arguments']['field_evttime_date_value']['granularity_reset'] = 0;
+ $handler->display->display_options['arguments']['field_evttime_date_value']['timezone'] = 'America/Los_Angeles';
+ $handler->display->display_options['defaults']['filter_groups'] = FALSE;
+ $handler->display->display_options['defaults']['filters'] = FALSE;
+ /* Filter criterion: Content: Published */
+ $handler->display->display_options['filters']['status']['id'] = 'status';
+ $handler->display->display_options['filters']['status']['table'] = 'node';
+ $handler->display->display_options['filters']['status']['field'] = 'status';
+ $handler->display->display_options['filters']['status']['value'] = 1;
+ $handler->display->display_options['filters']['status']['group'] = 1;
+ $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
+ /* Filter criterion: Taxonomy term: Term ID */
+ $handler->display->display_options['filters']['tid_raw']['id'] = 'tid_raw';
+ $handler->display->display_options['filters']['tid_raw']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['filters']['tid_raw']['field'] = 'tid_raw';
+ $handler->display->display_options['filters']['tid_raw']['relationship'] = 'og_vocabulary_target_id';
+ $handler->display->display_options['filters']['tid_raw']['exposed'] = TRUE;
+ $handler->display->display_options['filters']['tid_raw']['expose']['operator_id'] = 'tid_raw_op';
+ $handler->display->display_options['filters']['tid_raw']['expose']['label'] = 'Term ID';
+ $handler->display->display_options['filters']['tid_raw']['expose']['operator'] = 'tid_raw_op';
+ $handler->display->display_options['filters']['tid_raw']['expose']['identifier'] = 'track_id';
+ $handler->display->display_options['filters']['tid_raw']['expose']['remember_roles'] = array(
+ 2 => '2',
+ 1 => 0,
+ 8 => 0,
+ 9 => 0,
+ 6 => 0,
+ 7 => 0,
+ 10 => 0,
+ 3 => 0,
+ 5 => 0,
+ 4 => 0,
+ );
+ $handler->display->display_options['argument_input'] = array(
+ 'gid' => array(
+ 'type' => 'user',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => '',
+ 'label' => 'Conference',
+ ),
+ 'field_timeslot_allowed_types_value' => array(
+ 'type' => 'fixed',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => 'session+schedule_item',
+ 'label' => 'Field collection item: Allowed Types (field_timeslot_allowed_types)',
+ ),
+ 'field_evttime_date_value' => array(
+ 'type' => 'user',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => '',
+ 'label' => 'Time-Y-M-D',
+ ),
+ );
$export['cod_schedule_content'] = $view;
$view = new view();
diff --git a/cod_schedule/includes/cod_schedule_style_plugin.inc b/cod_schedule/includes/cod_schedule_style_plugin.inc
new file mode 100644
index 0000000000000000000000000000000000000000..96ff05e0026f21be2b982a72aae01ea5e8ecc811
--- /dev/null
+++ b/cod_schedule/includes/cod_schedule_style_plugin.inc
@@ -0,0 +1,132 @@
+ NULL);
+
+ return $options;
+ }
+
+ // Create the options form.
+ function options_form(&$form, &$form_state) {
+ parent::options_form($form, $form_state);
+ $options = array();
+
+ if (isset($form['grouping'])) {
+ $options = array();
+ foreach (element_children($form['grouping']) as $key => $value) {
+ if (!empty($form['grouping'][$key]['field']['#options']) && is_array($form['grouping'][$key]['field']['#options'])) {
+ $options = array_merge($options, $form['grouping'][$key]['field']['#options']);
+ }
+ }
+
+ unset($options['']);
+ $form['tab_title_field'] = array(
+ '#type' => 'select',
+ '#title' => t('Title field'),
+ '#options' => $options,
+ '#required' => TRUE,
+ '#default_value' => $this->options['tab_title_field'],
+ '#description' => t('Select the field that will be used as the tab title.'),
+ '#weight' => -3,
+ );
+ }
+ }
+
+ // Ensure we have all the settings necessary to render into tabs.
+ function validate() {
+ $errors = parent::validate();
+
+ // Ensure that we're using the field row style.
+ if (!$this->row_plugin->uses_fields()) {
+ $errors[] = t('Display "@display" uses the "@style" row style, but the Schedule display style requires use of the "Fields" row style.', array('@display' => $this->display->display_title, '@style' => $this->row_plugin->definition['title']));
+ }
+
+ // Ensure that a valid tab title field is selected.
+ $fields = $this->display->handler->get_handlers('field');
+ if (empty($this->options['tab_title_field']) || !isset($fields[$this->options['tab_title_field']])) {
+ $errors[] = t('The Schedule display style requires that a field be configured to be used as the tab title.');
+ }
+
+ return $errors;
+ }
+
+ // Override the render functionality.
+ function render() {
+ if (empty($this->row_plugin)) {
+ vpr('views_plugin_style_default: Missing row plugin');
+ return;
+ }
+
+ $view = $this->view;
+ $qt_name = 'view__' . $view->name .'__'. $view->current_display;
+
+ // Group the rows according to the grouping field, if specified.
+ $sets = $this->render_grouping($this->view->result, $this->options['grouping']);
+ $tabs = array();
+
+ foreach ($sets as $title => $records) {
+ if ($this->uses_row_plugin()) {
+ $rows = array();
+ foreach ($records as $row_index => $row) {
+ $this->view->row_index = $row_index;
+ $rows[] = $this->row_plugin->render($row);
+ }
+ }
+ else {
+ $rows = $records;
+ }
+
+ // If grouped, we'll be using the group title for each tab.
+ if ($this->options['grouping']) {
+
+ // Remove labels from titles.
+ foreach (element_children($this->options['grouping']) as $key => $value) {
+ if (!empty($this->view->field[$this->options['grouping'][$key]['field']]->options['label'])) {
+ $title = str_replace($this->view->field[$this->options['grouping'][$key]['field']]->options['label'] . ': ', '', $title);
+ }
+ }
+
+ $contents = '';
+ foreach ($rows as $row) {
+ $contents .= '
' . $row . '
';
+ }
+ $tabs[] = array(
+ 'title' => $title,
+ 'contents' => array('#markup' => $contents),
+ );
+ }
+
+ // If not grouped, there's just one set of rows that we loop through.
+ else {
+ foreach ($rows as $index => $row) {
+ $title = $this->get_field($index, $this->options['tab_title_field']);
+ $tabs[] = array(
+ 'title' => $title,
+ 'contents' => array('#markup' => $row),
+ );
+ }
+ }
+ }
+
+ $output = theme()
+ $output = drupal_render($quicktabs);
+
+
+ unset($view->row_index);
+
+ return $output;
+ }
+
+}
diff --git a/cod_schedule/modules/cod_schedule_pages/cod_schedule_pages.info b/cod_schedule/modules/cod_schedule_pages/cod_schedule_pages.info
index c4f46438fdec5bb03fe22d74ba5e5f0798407d74..3372f3c377dfa663a77e2b5c5160067f0bc77b3f 100644
--- a/cod_schedule/modules/cod_schedule_pages/cod_schedule_pages.info
+++ b/cod_schedule/modules/cod_schedule_pages/cod_schedule_pages.info
@@ -1,10 +1,13 @@
name = COD Schedule Pages
core = 7.x
package = COD Pages
+version = 7.x-1.0-beta8+8-dev
project = cod_support
dependencies[] = ctools
dependencies[] = page_manager
+datestamp = 1428958318
features[ctools][] = page_manager:pages_default:1
features[features_api][] = api:2
features[page_manager_pages][] = cod_schedule_admin_page
+features[page_manager_pages][] = cod_schedule_mine
features[page_manager_pages][] = cod_schedule_public
diff --git a/cod_schedule/modules/cod_schedule_pages/cod_schedule_pages.install b/cod_schedule/modules/cod_schedule_pages/cod_schedule_pages.install
index de99c8cc44e1092b71825fc81e1f9bc7ba50d58f..2a352b355d037e47e4ffb8bf89dccd9f51acaab7 100644
--- a/cod_schedule/modules/cod_schedule_pages/cod_schedule_pages.install
+++ b/cod_schedule/modules/cod_schedule_pages/cod_schedule_pages.install
@@ -11,3 +11,15 @@ function cod_schedule_pages_update_7001() {
return array();
}
+
+/**
+ * Add the my schedule panel.
+ */
+function cod_schedule_pages_update_7002() {
+ $revert = array(
+ 'cod_schedule_pages' => array('page_manager_pages'),
+ );
+ features_revert($revert);
+
+ return array();
+}
\ No newline at end of file
diff --git a/cod_schedule/modules/cod_schedule_pages/cod_schedule_pages.pages_default.inc b/cod_schedule/modules/cod_schedule_pages/cod_schedule_pages.pages_default.inc
index 62b190d82eb8ea406d2072c8d688245c9fe2083a..d56925ae616214f9f864546be4bedbad7cf3ecb7 100644
--- a/cod_schedule/modules/cod_schedule_pages/cod_schedule_pages.pages_default.inc
+++ b/cod_schedule/modules/cod_schedule_pages/cod_schedule_pages.pages_default.inc
@@ -38,6 +38,8 @@ function cod_schedule_pages_default_page_manager_pages() {
),
),
'logic' => 'and',
+ 'type' => 'none',
+ 'settings' => NULL,
);
$page->menu = array(
'type' => 'tab',
@@ -145,12 +147,15 @@ function cod_schedule_pages_default_page_manager_pages() {
$page = new stdClass();
$page->disabled = FALSE; /* Edit this to true to make a default page disabled initially */
$page->api_version = 1;
- $page->name = 'cod_schedule_public';
+ $page->name = 'cod_schedule_mine';
$page->task = 'page';
- $page->admin_title = 'Public Schedule page';
+ $page->admin_title = 'My Schedule';
$page->admin_description = '';
- $page->path = 'node/%node/schedule';
- $page->access = array();
+ $page->path = 'node/%node/schedule/mine';
+ $page->access = array(
+ 'type' => 'none',
+ 'settings' => NULL,
+ );
$page->menu = array();
$page->arguments = array(
'node' => array(
@@ -167,11 +172,75 @@ function cod_schedule_pages_default_page_manager_pages() {
$handler = new stdClass();
$handler->disabled = FALSE; /* Edit this to true to make a default handler disabled initially */
$handler->api_version = 1;
+ $handler->name = 'page_cod_schedule_mine__panel_context_4c6ae307-de5a-4064-8903-97f7c9c284a5';
+ $handler->task = 'page';
+ $handler->subtask = 'cod_schedule_mine';
+ $handler->handler = 'panel_context';
+ $handler->weight = 0;
+ $handler->conf = array(
+ 'title' => 'My Schedule',
+ 'no_blocks' => 0,
+ 'pipeline' => 'ipe',
+ 'body_classes_to_remove' => '',
+ 'body_classes_to_add' => '',
+ 'css_id' => '',
+ 'css' => '',
+ 'contexts' => array(),
+ 'relationships' => array(),
+ );
+ $display = new panels_display();
+ $display->layout = 'cygnus';
+ $display->layout_settings = array();
+ $display->panel_settings = array(
+ 'style_settings' => array(
+ 'default' => NULL,
+ 'preface' => NULL,
+ 'content' => NULL,
+ 'footer' => NULL,
+ ),
+ );
+ $display->cache = array();
+ $display->title = 'My Schedule';
+ $display->uuid = 'e37336dc-989b-45cf-b43f-1c64b64773b9';
+ $display->content = array();
+ $display->panels = array();
+ $pane = new stdClass();
+ $pane->pid = 'new-ca1f880f-8cf9-4310-8e74-5858614cd653';
+ $pane->panel = 'content';
+ $pane->type = 'views_panes';
+ $pane->subtype = 'cod_session_sessions-pane_sessions_mine';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'arguments' => array(
+ 'og_group_ref_target_id' => '%node:nid',
+ ),
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array();
+ $pane->extras = array();
+ $pane->position = 0;
+ $pane->locks = array();
+ $pane->uuid = 'ca1f880f-8cf9-4310-8e74-5858614cd653';
+ $display->content['new-ca1f880f-8cf9-4310-8e74-5858614cd653'] = $pane;
+ $display->panels['content'][0] = 'new-ca1f880f-8cf9-4310-8e74-5858614cd653';
+ $display->hide_title = PANELS_TITLE_FIXED;
+ $display->title_pane = 'new-ca1f880f-8cf9-4310-8e74-5858614cd653';
+ $handler->conf['display'] = $display;
+ $page->default_handlers[$handler->name] = $handler;
+ $pages['cod_schedule_mine'] = $page;
+
+ $handler = new stdClass();
+ $handler->disabled = FALSE; /* Edit this to true to make a default handler disabled initially */
+ $handler->api_version = 1;
$handler->name = 'page_cod_schedule_public__panel_context_931cc9dd-ba60-4165-9530-0abad52c7c4b';
$handler->task = 'page';
$handler->subtask = 'cod_schedule_public';
$handler->handler = 'panel_context';
- $handler->weight = 0;
+ $handler->weight = -29;
$handler->conf = array(
'title' => 'Schedule Page',
'no_blocks' => 0,
@@ -200,15 +269,16 @@ function cod_schedule_pages_default_page_manager_pages() {
$display->content = array();
$display->panels = array();
$pane = new stdClass();
- $pane->pid = 'new-da4f4f1a-2b55-4e8e-95ce-e40a92a0dbfb';
+ $pane->pid = 'new-220151d2-a724-460e-8851-715d41070cc8';
$pane->panel = 'content';
$pane->type = 'views_panes';
- $pane->subtype = 'cod_schedule-panel_pane_1';
+ $pane->subtype = 'cod_schedule_content-cod_schedule_session_content_pane';
$pane->shown = TRUE;
$pane->access = array();
$pane->configuration = array(
'arguments' => array(
'gid' => '%node:nid',
+ 'field_evttime_date_value' => '%day',
),
);
$pane->cache = array();
@@ -219,13 +289,56 @@ function cod_schedule_pages_default_page_manager_pages() {
$pane->extras = array();
$pane->position = 0;
$pane->locks = array();
- $pane->uuid = 'da4f4f1a-2b55-4e8e-95ce-e40a92a0dbfb';
- $display->content['new-da4f4f1a-2b55-4e8e-95ce-e40a92a0dbfb'] = $pane;
- $display->panels['content'][0] = 'new-da4f4f1a-2b55-4e8e-95ce-e40a92a0dbfb';
+ $pane->uuid = '220151d2-a724-460e-8851-715d41070cc8';
+ $display->content['new-220151d2-a724-460e-8851-715d41070cc8'] = $pane;
+ $display->panels['content'][0] = 'new-220151d2-a724-460e-8851-715d41070cc8';
+ $pane = new stdClass();
+ $pane->pid = 'new-9e717097-25dc-48fc-b8bc-65212ec84f12';
+ $pane->panel = 'preface';
+ $pane->type = 'cod_schedule_menu_pane';
+ $pane->subtype = 'cod_schedule_menu_pane';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array();
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array();
+ $pane->extras = array();
+ $pane->position = 0;
+ $pane->locks = array();
+ $pane->uuid = '9e717097-25dc-48fc-b8bc-65212ec84f12';
+ $display->content['new-9e717097-25dc-48fc-b8bc-65212ec84f12'] = $pane;
+ $display->panels['preface'][0] = 'new-9e717097-25dc-48fc-b8bc-65212ec84f12';
+ $pane = new stdClass();
+ $pane->pid = 'new-f71d9b52-8e00-4059-9b26-297422799348';
+ $pane->panel = 'preface';
+ $pane->type = 'views_panes';
+ $pane->subtype = 'cod_session_tracks-schedule_session_tracks';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'arguments' => array(
+ 'machine_name' => 'session_tracks_%node:nid',
+ 'null_1' => '',
+ 'null' => '%day',
+ ),
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array();
+ $pane->extras = array();
+ $pane->position = 1;
+ $pane->locks = array();
+ $pane->uuid = 'f71d9b52-8e00-4059-9b26-297422799348';
+ $display->content['new-f71d9b52-8e00-4059-9b26-297422799348'] = $pane;
+ $display->panels['preface'][1] = 'new-f71d9b52-8e00-4059-9b26-297422799348';
$display->hide_title = PANELS_TITLE_FIXED;
- $display->title_pane = 'new-da4f4f1a-2b55-4e8e-95ce-e40a92a0dbfb';
+ $display->title_pane = '0';
$handler->conf['display'] = $display;
- $page->default_handlers[$handler->name] = $handler;
$pages['cod_schedule_public'] = $page;
return $pages;
diff --git a/cod_schedule/plugins/arguments/cod_schedule_argument_day.inc b/cod_schedule/plugins/arguments/cod_schedule_argument_day.inc
new file mode 100644
index 0000000000000000000000000000000000000000..e6646e5badf2b41c205f84b05f127d098299bed8
--- /dev/null
+++ b/cod_schedule/plugins/arguments/cod_schedule_argument_day.inc
@@ -0,0 +1,55 @@
+ t("Schedule Day"),
+ // keyword to use for %substitution
+ 'keyword' => 'cod_schedule_day',
+ 'description' => t('Creates a date context from a day.'),
+ 'settings form' => 'cod_schedule_argument_day_settings_form',
+ 'context' => 'cod_session_argument_day_context',
+ 'placeholder form' => array(
+ '#type' => 'textfield',
+ '#description' => t('Enter a value for this argument'),
+ ),
+ 'path placeholder' => 'cod_session_argument_day_path_placeholder', // This is in pagemanager.
+);
+
+/**
+ * Discover if this argument gives us the term we crave.
+ */
+function cod_session_argument_day_context($arg = NULL, $conf = NULL, $empty = FALSE) {
+ // If unset it wants a generic, unfilled context.
+ if ($empty) {
+ return ctools_context_create_empty('cod_schedule_day');
+ }
+
+ if (!$arg) {
+ return FALSE;
+ }
+ $context = ctools_context_create('cod_schedule_day', $arg);
+ $context->original_argument = $arg;
+ return $context;
+}
+
+/**
+ * Settings form for the argument
+ */
+function cod_schedule_argument_day_settings_form(&$form, &$form_state, $conf) {
+// return $form;
+}
+
+/**
+ * Switch the placeholder based upon user settings.
+ */
+function cod_session_argument_day_path_placeholder($argument) {
+ return '%pm_arg';
+}
diff --git a/cod_schedule/plugins/content_types/cod_schedule_menu_pane.inc b/cod_schedule/plugins/content_types/cod_schedule_menu_pane.inc
new file mode 100644
index 0000000000000000000000000000000000000000..0b5fae56f2eff9147616723adbff90776733994f
--- /dev/null
+++ b/cod_schedule/plugins/content_types/cod_schedule_menu_pane.inc
@@ -0,0 +1,118 @@
+ t('Schedule Day Menu'),
+ // no one knows if "single" defaults to FALSE...
+ 'single' => TRUE,
+ // oh joy, I get my own section of panel panes
+ 'category' => array(t('Conference Organizing'), -9),
+ //'edit form' => 'cod_events_pane_content_type_edit_form',
+ 'render callback' => 'cod_schedule_menu_pane_render'
+);
+
+/**
+* Run-time rendering of the body of the block (content type)
+* See ctools_plugin_examples for more advanced info
+*/
+function cod_schedule_menu_pane_render($subtype, $conf, $context = NULL) {
+ // our output is generate by js. Any markup or theme functions
+ // could go here.
+ // that private js function is so bad that fixing it will be the
+ // basis of the next tutorial
+ $block = new stdClass();
+ $block->title = '';
+
+ if($event = node_load(array_shift($context))) {
+ $block->content = cod_schedule_menu_render($event, array_shift($context));
+ } else {
+ $block->content = t('Invalid Event Type');
+ }
+ return $block;
+}
+
+/*
+ * functions similar to menu_tree_output
+ */
+function cod_schedule_menu_render($event, $context = NULL) {
+ $build = array();
+ $items = array();
+
+ // Grab the days.
+ if ($days = cod_schedule_days($event)) {
+ $router_item = menu_get_item();
+
+ // Pull out just the menu links we are going to render so that we
+ // get an accurate count for the first/last classes.
+ foreach ($days as $k => $day) {
+ $items[$k]['link']['href'] = dirname(current_path()) . '/' . $day;
+ if ($router_item['href'] == $items[$k]['link']['href']) {
+ $items[$k]['link']['in_active_trail'] = TRUE;
+ }
+ else {
+ $items[$k]['link']['in_active_trail'] = FALSE;
+ }
+ $items[$k]['link']['title'] = date('l', strtotime($day));
+ }
+
+ }
+
+
+ $num_items = count($items);
+ foreach ($items as $i => $data) {
+ $class = array();
+ if ($i == 0) {
+ $class[] = 'first';
+ }
+ if ($i == $num_items - 1) {
+ $class[] = 'last';
+ }
+ // Set a class for the -tag. Since $data['below'] may contain local
+ // tasks, only set 'expanded' class if the link also has children within
+ // the current menu.
+ if ($data['link']['has_children'] && $data['below']) {
+ $class[] = 'expanded';
+ }
+ elseif ($data['link']['has_children']) {
+ $class[] = 'collapsed';
+ }
+ else {
+ $class[] = 'leaf';
+ }
+ // Set a class if the link is in the active trail.
+ if ($data['link']['in_active_trail']) {
+ $class[] = 'active-trail';
+ $data['link']['localized_options']['attributes']['class'][] = 'active-trail';
+ }
+ // Normally, l() compares the href of every link with $_GET['q'] and sets
+ // the active class accordingly. But local tasks do not appear in menu
+ // trees, so if the current path is a local task, and this link is its
+ // tab root, then we have to set the class manually.
+ if ($data['link']['href'] == $router_item['tab_root_href'] && $data['link']['href'] != $_GET['q']) {
+ $data['link']['localized_options']['attributes']['class'][] = 'active';
+ }
+
+ // Allow menu-specific theme overrides.
+ $element['#theme'] = 'menu_link__'. 'cod_schedule';
+ $element['#attributes']['class'] = $class;
+ $element['#title'] = $data['link']['title'];
+ $element['#href'] = $data['link']['href'];
+ $element['#localized_options'] = !empty($data['link']['localized_options']) ? $data['link']['localized_options'] : array();
+ $element['#below'] = $data['below'] ? menu_tree_output($data['below']) : $data['below'];
+ $element['#original_link'] = $data['link'];
+ // Index using the link's unique mlid.
+ // Index using the link's unique mlid.
+ $build[] = $element;
+ }
+ if ($build) {
+ // Make sure drupal_render() does not re-order the links.
+ $build['#sorted'] = TRUE;
+ // Add the theme wrapper for outer markup.
+ // Allow menu-specific theme overrides.
+ $build['#theme_wrappers'][] = 'menu_tree__' . 'cod_schedule';
+ }
+
+ return $build;
+}
\ No newline at end of file
diff --git a/cod_schedule/plugins/contexts/cod_schedule_day.inc b/cod_schedule/plugins/contexts/cod_schedule_day.inc
new file mode 100644
index 0000000000000000000000000000000000000000..d07a978bd7644b4094d6d4090f51becdef1c0b30
--- /dev/null
+++ b/cod_schedule/plugins/contexts/cod_schedule_day.inc
@@ -0,0 +1,125 @@
+ t("Schedule Day"),
+ 'description' => t('Display schedule of particular day.'),
+ 'context' => 'cod_schedule_context_create_day',
+ 'required context' => new ctools_context_required(t('Node'), 'node'),
+ 'edit form' => 'cod_schedule_context_day_settings_form',
+ 'defaults' => '',
+ 'no ui' => FALSE,
+ 'keyword' => 'cod_schedule_day',
+ 'context name' => 'cod_schedule_day',
+ 'convert' => 'cod_schedule_context_day_convert',
+ 'placeholder form' => array(
+ '#type' => 'textfield',
+ '#description' => t('Enter the schedule day machine name for this context.'),
+ ),
+);
+
+/**
+ * It's important to remember that $conf is optional here, because contexts
+ * are not always created from the UI.
+ */
+function cod_schedule_context_create_day($empty, $data = NULL, $conf = FALSE) {
+ $context = new ctools_context('cod_schedule_day');
+ $context->plugin = 'cod_schedule_day';
+
+ // We don't know the current date in the argument, lets try to create one
+ if ($empty) {
+ return $context;
+ }
+
+ if (!empty($data)) {
+ // Support the array storage from the settings form but also handle direct input from arguments.
+ $context->data = is_array($data) ? $data['day'] : $data;
+ // We're using a configured context, but its not set. Use todays date.
+ if(isset($data['day'])) {
+ if ($data['day'] == '') {
+ // Fetch the event via path. TODO: Get event via panels context.
+ if (arg(0) == 'node' && is_numeric(arg(1))) {
+ $event_days = cod_schedule_days(arg(1));
+ $today_dt = new DateTime();
+ $event_start = new DateTime(array_shift($event_days));
+ $event_end = new DateTime(array_pop($event_days));
+ if ($today_dt < $event_start) {
+ $date = $event_start;
+ }
+ else {
+ if ($today_dt > $event_end) {
+ $date = $event_end;
+ }
+ else {
+ $date = $today_dt;
+ }
+ }
+ $context->data = date('Y-m-d', $date->getTimestamp());
+ $context->title = date('l', $date->getTimestamp());
+ }
+ }
+ else if ($data['day'] !== '') {
+ $date = new DateTime(strtotime($data['day']));
+ $context->data = date('Y-m-d', $date->getTimestamp());
+ $context->title = date('l', $date->getTimestamp());
+ }
+ }
+ else {
+ $output = check_plain($data);
+ $context->title = ($conf) ? check_plain($data['identifier']) : drupal_strtoupper(drupal_substr($output, 0, 1)) . drupal_substr($output, 1);
+ }
+ return $context;
+ }
+}
+
+function cod_schedule_context_day_settings_form($form, &$form_state) {
+ $conf = &$form_state['conf'];
+
+ $form['day'] = array(
+ '#title' => t('Enter the day in YYYY-MM-DD'),
+ '#type' => 'textfield',
+ '#maxlength' => 64,
+ '#weight' => -10,
+ );
+
+ if (!empty($conf['day'])) {
+ $form['day']['#description'] = t('Currently set to !link', array('!link' => $conf['day']));
+ }
+
+ return $form;
+}
+
+/**
+ * Validate a time format.
+ */
+function cod_schedule_context_day_settings_form_validate($form, &$form_state) {
+ // Validate the autocomplete
+ // We should do something here!
+}
+
+function cod_schedule_context_day_settings_form_submit($form, &$form_state) {
+ // This will either be the value set previously or a value set by the
+ // validator.
+ $form_state['conf']['day'] = $form_state['values']['day'];
+}
+
+/**
+ * Convert a context into a string.
+ */
+function cod_schedule_context_day_convert($context, $type) {
+ switch ($type) {
+ // Convert a vocabulary keyword into the data.
+ case 'nid':
+ return $context->data;
+ }
+}
diff --git a/cod_session/cod_session.features.field_base.inc b/cod_session/cod_session.features.field_base.inc
index 28b1df340229e67892df819b7f53746a3747c896..8b2278c05e0c122e2369d19b40a64143740b18bb 100644
--- a/cod_session/cod_session.features.field_base.inc
+++ b/cod_session/cod_session.features.field_base.inc
@@ -31,7 +31,7 @@ function cod_session_field_default_field_bases() {
'module' => 'list',
'settings' => array(
'allowed_values' => array(
- 'unprocessed' => 'Unprocessed',
+ 'proposed' => 'Proposed',
'accepted' => 'Accepted',
'declined' => 'Declined',
'featured' => 'Featured',
@@ -72,8 +72,8 @@ function cod_session_field_default_field_bases() {
'module' => 'list',
'settings' => array(
'allowed_values' => array(
- 0 => 'Unprocessed',
- 1 => 'Accepted',
+ 'proposed' => 'Proposed',
+ 'accepted' => 'Accepted',
),
'allowed_values_function' => '',
),
diff --git a/cod_session/cod_session.features.field_instance.inc b/cod_session/cod_session.features.field_instance.inc
index aeb8d7802566e6f4727185911b18866a8dda2196..e30b8614ea27169092e5213b3b68c5768d379069 100644
--- a/cod_session/cod_session.features.field_instance.inc
+++ b/cod_session/cod_session.features.field_instance.inc
@@ -222,7 +222,7 @@ function cod_session_field_default_field_instances() {
// Exported field_instance: 'node-schedule_item-field_accepted'
$field_instances['node-schedule_item-field_accepted'] = array(
'bundle' => 'schedule_item',
- 'default_value' => 'unprocessed',
+ 'default_value' => 'proposed',
'deleted' => 0,
'description' => '',
'display' => array(
@@ -396,7 +396,7 @@ function cod_session_field_default_field_instances() {
'bundle' => 'session',
'default_value' => array(
0 => array(
- 'value' => 'unprocessed',
+ 'value' => 'proposed',
),
),
'default_value_function' => '',
@@ -773,9 +773,9 @@ function cod_session_field_default_field_instances() {
// Included for use with string extractors like potx.
t('An image to be used for highlighted sessions in the front page rotator.');
t('Body');
+ t('Conference');
t('Default Session View');
t('Description');
- t('Conference');
t('Experience level');
t('File attachments');
t('Image');
diff --git a/cod_session/cod_session.features.inc b/cod_session/cod_session.features.inc
index 074d7083d4aed803c190a9ab1c4d99672bc72b4c..6f16ab0a1dc559655281bab14ef9fb2e683031e9 100644
--- a/cod_session/cod_session.features.inc
+++ b/cod_session/cod_session.features.inc
@@ -19,8 +19,11 @@ function cod_session_ctools_plugin_api($module = NULL, $api = NULL) {
/**
* Implements hook_views_api().
*/
-function cod_session_views_api($module = NULL, $api = NULL) {
- return array("api" => "3.0");
+function cod_session_views_api() {
+ return array(
+ 'api' => 3,
+ 'path' => drupal_get_path('module', 'cod_session') . '/views',
+ );
}
/**
diff --git a/cod_session/cod_session.features.user_role.inc b/cod_session/cod_session.features.user_role.inc
index b67ccb7fff0eb4729ad8f5a2a9ff1c47a1d722a8..532343ae0c74a290f93444f876fdad084ace28ff 100644
--- a/cod_session/cod_session.features.user_role.inc
+++ b/cod_session/cod_session.features.user_role.inc
@@ -13,7 +13,7 @@ function cod_session_user_default_roles() {
// Exported role: session organizer.
$roles['session organizer'] = array(
'name' => 'session organizer',
- 'weight' => 3,
+ 'weight' => 5,
);
return $roles;
diff --git a/cod_session/cod_session.info b/cod_session/cod_session.info
index 3a72f8528195a93595534a6c8dd7baea4524ed0f..fd50c9e6892f0d3031eef704d548f66570a99e3e 100644
--- a/cod_session/cod_session.info
+++ b/cod_session/cod_session.info
@@ -39,6 +39,11 @@ dependencies[] = views_content
dependencies[] = views_json
dependencies[] = views_send
dependencies[] = views_ui
+
+files[] = views/cod_session.views.inc
+files[] = views/cod_session_views_handler_field_track_link.inc
+files[] = views/cod_session_views_plugin_style_schedule.inc
+
features[ctools][] = field_group:field_group:1
features[ctools][] = strongarm:strongarm:1
features[ctools][] = views:views_default:3.0
diff --git a/cod_session/cod_session.install b/cod_session/cod_session.install
index c88354770695b1fc3027aefa0298e4c72ec6122d..00cd018cc5ae19133cef74f0563ac77bc961c6b1 100644
--- a/cod_session/cod_session.install
+++ b/cod_session/cod_session.install
@@ -188,7 +188,7 @@ function cod_session_update_7013() {
// Update the values for each field.
db_update('field_data_field_accepted')
- ->fields(array('field_accepted_value' => 'unprocessed'))
+ ->fields(array('field_accepted_value' => 'proposed'))
->condition('field_accepted_value', '0', '=')
->execute();
db_update('field_data_field_accepted')
@@ -203,6 +203,23 @@ function cod_session_update_7013() {
->fields(array('field_accepted_value' => 'featured'))
->condition('field_accepted_value', '3', '=')
->execute();
+ // Update the values for each field.
+ db_update('field_revision_field_accepted')
+ ->fields(array('field_accepted_value' => 'proposed'))
+ ->condition('field_accepted_value', '0', '=')
+ ->execute();
+ db_update('field_revision_field_accepted')
+ ->fields(array('field_accepted_value' => 'accepted'))
+ ->condition('field_accepted_value', '1', '=')
+ ->execute();
+ db_update('field_revision_field_accepted')
+ ->fields(array('field_accepted_value' => 'declined'))
+ ->condition('field_accepted_value', '2', '=')
+ ->execute();
+ db_update('field_revision_field_accepted')
+ ->fields(array('field_accepted_value' => 'featured'))
+ ->condition('field_accepted_value', '3', '=')
+ ->execute();
// Revert the feature to include cancelled & backup options
// Change the views to use the new machine names as keys.
@@ -215,16 +232,8 @@ function cod_session_update_7013() {
}
/**
- * Reset the session menu weight to order correctly on the admin tabs
+ * Update 7014 doesn't exist anymore because it didn't do anything
*/
-function cod_session_update_7014() {
- $revert = array(
- 'cod_session' => array('page_manager_pages'),
- );
- features_revert($revert);
-
- return array();
-}
/**
* Update session views to fix an issue with broken handlers for session confirmation.
@@ -263,4 +272,105 @@ function cod_session_update_7017() {
features_revert($revert);
return array();
+}
+
+/**
+ * Update 'unprocessed' to 'proposed' for session submissions.
+ */
+function cod_session_update_7018() {
+ // Change the field configuration manually.
+ $result = db_select('field_config', 'fc')
+ ->fields('fc', array('data'))
+ ->condition('field_name', 'field_accepted', '=')
+ ->execute()
+ ->fetchField();
+ $data = unserialize($result);
+ $data['settings']['allowed_values'] = array(
+ 'proposed' => 'Proposed',
+ 'accepted' => 'Accepted',
+ 'declined' => 'Declined',
+ 'featured' => 'Featured',
+ 'cancelled' => 'Speaker(s) Cancelled',
+ 'backup' => 'Backup'
+ );
+
+ db_update('field_config')
+ ->fields(array('data' => serialize($data)))
+ ->condition('field_name', 'field_accepted', '=')
+ ->execute();
+
+ // Change the field configuration manually.
+ $result = db_select('field_config', 'fc')
+ ->fields('fc', array('data'))
+ ->condition('field_name', 'field_event_default_session_view', '=')
+ ->execute()
+ ->fetchField();
+ $data = unserialize($result);
+ $data['settings']['allowed_values'] = array(
+ 'proposed' => 'Proposed',
+ 'accepted' => 'Accepted',
+ );
+
+ db_update('field_config')
+ ->fields(array('data' => serialize($data)))
+ ->condition('field_name', 'field_event_default_session_view', '=')
+ ->execute();
+
+ $revert = array(
+ 'cod_session_pages' => array('page_manager_pages'),
+ 'cod_session' => array('field_base', 'field_instance', 'views_view'),
+ );
+ features_revert($revert);
+
+ // Re-run cod_session_update_7013 again just in case.
+ cod_session_update_7013();
+
+ $field_values_to_change = array(
+ 'unprocessed' => 'proposed',
+ );
+ // Run a DB query to alter the fields
+ foreach ($field_values_to_change AS $existing => $new) {
+ db_update('field_data_field_accepted')
+ ->fields(array(
+ 'field_accepted_value' => $new,
+ ))
+ ->condition('field_accepted_value', $existing, '=')
+ ->execute();
+ db_update('field_revision_field_accepted')
+ ->fields(array(
+ 'field_accepted_value' => $new,
+ ))
+ ->condition('field_accepted_value', $existing, '=')
+ ->execute();
+ }
+ if (!module_exists('cod_session_pages')) {
+ module_enable(array('cod_session_pages'));
+ }
+ return array();
+}
+
+/**
+ * Update session to change processed/accepted key from 0/1
+ */
+function cod_session_update_7019() {
+ $field_values_to_change = array(
+ 0 => 'proposed',
+ 1 => 'accepted',
+ );
+ // Run a DB query to alter the fields
+ foreach ($field_values_to_change AS $existing => $new) {
+ db_update('field_data_field_event_default_session_view')
+ ->fields(array(
+ 'field_event_default_session_view_value' => $new,
+ ))
+ ->condition('field_event_default_session_view_value', $existing, '=')
+ ->execute();
+ db_update('field_revision_field_event_default_session_view')
+ ->fields(array(
+ 'field_event_default_session_view_value' => $new,
+ ))
+ ->condition('field_event_default_session_view_value', $existing, '=')
+ ->execute();
+ }
+ return array();
}
\ No newline at end of file
diff --git a/cod_session/cod_session.module b/cod_session/cod_session.module
index 07869e073ac61ced9ea838705d4567a442a5f071..cd1e408e1ac7abf3e8602e1f051206611307b625 100644
--- a/cod_session/cod_session.module
+++ b/cod_session/cod_session.module
@@ -16,6 +16,12 @@ function cod_session_ctools_plugin_directory($module, $plugin) {
if ($module == 'ctools' && $plugin == 'content_types') {
return 'plugins/content_types';
}
+ if ($module == 'ctools' && $plugin == 'contexts') {
+ return 'plugins/contexts';
+ }
+ if ($module == 'ctools' && $plugin == 'arguments') {
+ return 'plugins/arguments';
+ }
}
/**
@@ -698,3 +704,20 @@ function cod_session_custom_theme() {
return 'seven';
}
}
+
+/**
+ * Create a block for filtered session tracks
+ * Implements hook_form_FORM_ID_alter().
+ */
+function cod_session_form_views_exposed_form_alter(&$form, &$form_state) {
+ $view = $form_state['view'];
+
+ // Only react on block Views specifically configured with exposed form blocks.
+ if ($view->name == 'cod_session_sessions' && $view->current_display == 'panel_pane_2') {
+ if ($view->display_handler->get_option('exposed_block')) {
+ // Ensure that the fallback form action is the current page.
+ $form['#action'] = url(drupal_get_path_alias(), array('absolute' => TRUE));
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/cod_session/cod_session.strongarm.inc b/cod_session/cod_session.strongarm.inc
index f0c16832213bf655d6bbe8636e6128a8ec26b4f8..1ac6c53139d386fe96e46db81ede31c68b61c46b 100644
--- a/cod_session/cod_session.strongarm.inc
+++ b/cod_session/cod_session.strongarm.inc
@@ -98,7 +98,7 @@ function cod_session_strongarm() {
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
$strongarm->name = 'comment_page';
- $strongarm->value = 0;
+ $strongarm->value = '0';
$export['comment_page'] = $strongarm;
$strongarm = new stdClass();
@@ -322,7 +322,6 @@ function cod_session_strongarm() {
$strongarm->name = 'node_options_schedule_item';
$strongarm->value = array(
0 => 'status',
- 1 => 'promote',
);
$export['node_options_schedule_item'] = $strongarm;
@@ -358,7 +357,7 @@ function cod_session_strongarm() {
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
$strongarm->name = 'node_submitted_page';
- $strongarm->value = FALSE;
+ $strongarm->value = 0;
$export['node_submitted_page'] = $strongarm;
$strongarm = new stdClass();
diff --git a/cod_session/cod_session.views.inc b/cod_session/cod_session.views.inc
deleted file mode 100644
index a74f92303eb48ee27b360925316d3d710410b48e..0000000000000000000000000000000000000000
--- a/cod_session/cod_session.views.inc
+++ /dev/null
@@ -1,33 +0,0 @@
- 'cod_session',
- 'style' => array(
- 'cod_session_session_schedule' => array(
- 'title' => t('Session schedule grid'),
- 'help' => t('Display view as a table with room columns and time slot rows'),
- 'handler' => 'cod_session_views_plugin_style_schedule',
- 'theme' => 'cod_session_session_schedule',
- 'uses row plugin' => TRUE,
- 'uses fields' => TRUE,
- 'uses grouping' => TRUE,
- 'uses options' => TRUE,
- 'use sort' => FALSE,
- 'use pager' => FALSE,
- 'use ajax' => FALSE,
- 'use more' => FALSE,
- 'type' => 'normal',
- 'help topic' => 'style-unformatted',
- 'even empty' => TRUE, // Make the View render when there are no results.
- ),
- ),
- );
-}
diff --git a/cod_session/cod_session_views_style_plugin_schedule.inc b/cod_session/cod_session_views_style_plugin_schedule.inc
deleted file mode 100644
index 371f2280ce536b7740332f3a8c2ff6b2503df3c7..0000000000000000000000000000000000000000
--- a/cod_session/cod_session_views_style_plugin_schedule.inc
+++ /dev/null
@@ -1,105 +0,0 @@
-cod_schedule_interactive = $this->options['schedule_interactive'];
- if (!empty($this->options['schedule_days'])) {
- $all_schedule_days = cod_session_days();
- $schedule_days = array_filter($this->options['schedule_days']);
- if (!empty($schedule_days)) {
- $view->cod_schedule_days = array_intersect_key($all_schedule_days, $schedule_days);
- }
- else {
- $view->cod_schedule_days = !empty($all_schedule_days) ? array_keys($all_schedule_days) : array();
- }
- }
- else {
- $schedule_days = cod_session_days();
- $view->cod_schedule_days = !empty($schedule_days) ? array_keys($schedule_days) : array();
- }
- $interactive_type = $this->options['interactive_type'];
- $view->cod_interactive_type = !empty($view->cod_schedule_interactive) ? $interactive_type : FALSE;
- $view->cod_room_queue = $this->options['room_queue'];
- $view->cod_time_queue = $this->options['time_queue'];
-
- // Make sure views does't try to limit the number of items in this view.
- $this->view->pager['items_per_page'] = 0;
- }
-
- /**
- * Set default options
- */
- function option_definition() {
- $options = parent::option_definition();
- $options['schedule_interactive'] = 0;
- $schedule_days = cod_session_days();
- $options['schedule_days'] = !empty($schedule_days) ? array_keys($schedule_days) : array();
- $options['interactive_type'] = 0;
- $options['room_queue'] = NULL;
- $options['time_queue'] = NULL;
- return $options;
- }
-
- /**
- * Style options.
- */
- function options_form(&$form, &$form_state) {
-
- // "interactive" is an internal name, in the UI it's referred to as the
- // scheduling mode.
- $form['schedule_interactive'] = array(
- '#title' => t('Schedule mode'),
- '#default_value' => isset($this->options['schedule_interactive']) ? $this->options['schedule_interactive'] : 0,
- '#type' => 'radios',
- '#options' => array(0 => t('Show schedule only'), 1 => t('Show schedule and scheduling controls')),
- '#description' => t('Include schedule slot availability and scheduling link controls or just the schedule.'),
- );
- $types = cod_session_schedulable_types();
- $options = array(0 => 'N/A');
- foreach ($types as $type => $content_type) {
- $options[$type] = check_plain($content_type);
- }
- $form['interactive_type'] = array(
- '#title' => t('Content type that can be scheduled'),
- '#default_value' => isset($this->options['interactive_type']) ? $this->options['interactive_type'] : 0,
- '#type' => 'radios',
- '#options' => $options,
- '#description' => t("Set the content type to provide scheduling controls for. 'Show schedule and scheduling controls' mode must be enabled."),
- );
-
- // Provide nodequeues for room and timeslot ordering. If set this nodequeue
- // becomes the argument to the schedule_room_list view.
- if (module_exists('nodequeue')) {
- $options = array();
- $queues = nodequeue_load_queues(nodequeue_get_all_qids(NULL));
- if (!empty($queues)) {
- foreach ($queues as $queue) {
- $options[$queue->qid] = $queue->title;
- }
- $form['room_queue'] = array(
- '#type' => 'radios',
- '#title' => t('Room queue'),
- '#options' => $options,
- '#default_value' => $this->options['room_queue'],
- '#description' => t('Limit and order rooms to the nodes in a queue.'),
- );
- $form['time_queue'] = array(
- '#type' => 'radios',
- '#title' => t('Time queue'),
- '#options' => $options,
- '#default_value' => $this->options['time_queue'],
- '#description' => t('Limit and order times to the nodes in a queue.'),
- );
- }
- }
- }
-}
diff --git a/cod_session/modules/cod_session_management_pages/cod_session_management_pages.pages_default.inc b/cod_session/modules/cod_session_management_pages/cod_session_management_pages.pages_default.inc
index 3c08bc5db180953c138c64c37a8b5ce42144ae0d..c506fa1b23abab7f5e4df8c33f749642604dc4f1 100644
--- a/cod_session/modules/cod_session_management_pages/cod_session_management_pages.pages_default.inc
+++ b/cod_session/modules/cod_session_management_pages/cod_session_management_pages.pages_default.inc
@@ -208,7 +208,7 @@ function cod_session_management_pages_default_page_manager_pages() {
$pane->pid = 'new-299bb228-0927-4f74-acf0-4f21b278101a';
$pane->panel = 'right_sidebar';
$pane->type = 'views_panes';
- $pane->subtype = 'cod_session_tracks-panel_pane_1';
+ $pane->subtype = 'cod_session_tracks-track_session_admin';
$pane->shown = TRUE;
$pane->access = array();
$pane->configuration = array(
diff --git a/cod_session/modules/cod_session_pages/cod_session_pages.pages_default.inc b/cod_session/modules/cod_session_pages/cod_session_pages.pages_default.inc
index d17d019b6d9d88747367a9df2c2222cd321f8514..50bdff507a77bbd52226c5cec1d6f530592679d4 100644
--- a/cod_session/modules/cod_session_pages/cod_session_pages.pages_default.inc
+++ b/cod_session/modules/cod_session_pages/cod_session_pages.pages_default.inc
@@ -15,7 +15,7 @@ function cod_session_pages_default_page_manager_pages() {
$page->task = 'page';
$page->admin_title = 'Sessions';
$page->admin_description = '';
- $page->path = 'node/%node/program/sessions';
+ $page->path = 'node/%node/sessions/!status/!tid';
$page->access = array(
'plugins' => array(
0 => array(
@@ -38,7 +38,7 @@ function cod_session_pages_default_page_manager_pages() {
'logic' => 'and',
);
$page->menu = array(
- 'type' => 'tab',
+ 'type' => 'none',
'title' => 'Sessions',
'name' => 'navigation',
'weight' => '0',
@@ -56,6 +56,27 @@ function cod_session_pages_default_page_manager_pages() {
'name' => 'entity_id:node',
'settings' => array(),
),
+ 'status' => array(
+ 'id' => 1,
+ 'identifier' => 'Session Status',
+ 'name' => 'cod_session_status',
+ 'settings' => array(),
+ ),
+ 'tid' => array(
+ 'id' => 1,
+ 'identifier' => 'Taxonomy term: Name',
+ 'name' => 'term',
+ 'settings' => array(
+ 'input_form' => 'term',
+ 'vids' => array(
+ 1 => 0,
+ 3 => 0,
+ 2 => 0,
+ ),
+ 'breadcrumb' => 1,
+ 'transform' => 1,
+ ),
+ ),
);
$page->conf = array(
'admin_paths' => FALSE,
@@ -64,13 +85,50 @@ function cod_session_pages_default_page_manager_pages() {
$handler = new stdClass();
$handler->disabled = FALSE; /* Edit this to true to make a default handler disabled initially */
$handler->api_version = 1;
+ $handler->name = 'page_sessions_http_response';
+ $handler->task = 'page';
+ $handler->subtask = 'sessions';
+ $handler->handler = 'http_response';
+ $handler->weight = -30;
+ $handler->conf = array(
+ 'title' => 'HTTP response code',
+ 'contexts' => array(),
+ 'relationships' => array(),
+ 'code' => '301',
+ 'destination' => 'node/%node:nid/sessions/%node:field-event-default-session-view',
+ 'access' => array(
+ 'plugins' => array(
+ 0 => array(
+ 'name' => 'context_exists',
+ 'settings' => array(
+ 'exists' => '0',
+ ),
+ 'context' => 'argument_cod_session_status_1',
+ 'not' => FALSE,
+ ),
+ 1 => array(
+ 'name' => 'context_exists',
+ 'settings' => array(
+ 'exists' => '1',
+ ),
+ 'context' => 'argument_entity_id:node_1',
+ 'not' => FALSE,
+ ),
+ ),
+ 'logic' => 'and',
+ ),
+ );
+ $page->default_handlers[$handler->name] = $handler;
+ $handler = new stdClass();
+ $handler->disabled = FALSE; /* Edit this to true to make a default handler disabled initially */
+ $handler->api_version = 1;
$handler->name = 'page_sessions_panel_context';
$handler->task = 'page';
$handler->subtask = 'sessions';
$handler->handler = 'panel_context';
- $handler->weight = 0;
+ $handler->weight = -29;
$handler->conf = array(
- 'title' => 'Panel',
+ 'title' => 'Sessions Summary',
'no_blocks' => 0,
'pipeline' => 'standard',
'body_classes_to_remove' => '',
@@ -79,9 +137,38 @@ function cod_session_pages_default_page_manager_pages() {
'css' => '',
'contexts' => array(),
'relationships' => array(),
+ 'access' => array(
+ 'plugins' => array(
+ 0 => array(
+ 'name' => 'context_exists',
+ 'settings' => array(
+ 'exists' => '1',
+ ),
+ 'context' => 'argument_entity_id:node_1',
+ 'not' => FALSE,
+ ),
+ 1 => array(
+ 'name' => 'context_exists',
+ 'settings' => array(
+ 'exists' => '1',
+ ),
+ 'context' => 'argument_cod_session_status_1',
+ 'not' => FALSE,
+ ),
+ 2 => array(
+ 'name' => 'context_exists',
+ 'settings' => array(
+ 'exists' => '0',
+ ),
+ 'context' => 'argument_term_1',
+ 'not' => FALSE,
+ ),
+ ),
+ 'logic' => 'and',
+ ),
);
$display = new panels_display();
- $display->layout = 'flexible';
+ $display->layout = 'cygnus';
$display->layout_settings = array(
'items' => array(
'canvas' => array(
@@ -153,21 +240,55 @@ function cod_session_pages_default_page_manager_pages() {
'right' => NULL,
'center' => NULL,
'right_sidebar' => NULL,
+ 'preface' => NULL,
+ 'content' => NULL,
+ 'footer' => NULL,
),
+ 'style' => 'naked',
);
$display->cache = array();
- $display->title = 'Sessions';
+ $display->title = '%status Sessions';
$display->uuid = '0eeda185-558c-46be-bee1-c6c1962556c5';
$display->content = array();
$display->panels = array();
$pane = new stdClass();
- $pane->pid = 'new-9b693333-9a7b-424a-a727-ea1dd76e5ddb';
- $pane->panel = 'center';
- $pane->type = 'cod_session_sessions_pane';
- $pane->subtype = 'cod_session_sessions_pane';
+ $pane->pid = 'new-0dde2356-8b78-475b-adb8-53483333858e';
+ $pane->panel = 'content';
+ $pane->type = 'views_panes';
+ $pane->subtype = 'cod_session_tracks-track_session_summary';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'arguments' => array(
+ 'machine_name' => 'session_tracks_%node:nid',
+ 'null' => '%status',
+ ),
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array();
+ $pane->extras = array();
+ $pane->position = 0;
+ $pane->locks = array();
+ $pane->uuid = '0dde2356-8b78-475b-adb8-53483333858e';
+ $display->content['new-0dde2356-8b78-475b-adb8-53483333858e'] = $pane;
+ $display->panels['content'][0] = 'new-0dde2356-8b78-475b-adb8-53483333858e';
+ $pane = new stdClass();
+ $pane->pid = 'new-560ee2b6-99df-4286-bb7b-82537b54f6c4';
+ $pane->panel = 'preface';
+ $pane->type = 'page_title';
+ $pane->subtype = 'page_title';
$pane->shown = TRUE;
$pane->access = array();
- $pane->configuration = array();
+ $pane->configuration = array(
+ 'markup' => 'h1',
+ 'class' => '',
+ 'id' => '',
+ 'override_title' => 0,
+ 'override_title_text' => '%status Sessions',
+ );
$pane->cache = array();
$pane->style = array(
'settings' => NULL,
@@ -176,9 +297,267 @@ function cod_session_pages_default_page_manager_pages() {
$pane->extras = array();
$pane->position = 0;
$pane->locks = array();
- $pane->uuid = '9b693333-9a7b-424a-a727-ea1dd76e5ddb';
- $display->content['new-9b693333-9a7b-424a-a727-ea1dd76e5ddb'] = $pane;
- $display->panels['center'][0] = 'new-9b693333-9a7b-424a-a727-ea1dd76e5ddb';
+ $pane->uuid = '560ee2b6-99df-4286-bb7b-82537b54f6c4';
+ $display->content['new-560ee2b6-99df-4286-bb7b-82537b54f6c4'] = $pane;
+ $display->panels['preface'][0] = 'new-560ee2b6-99df-4286-bb7b-82537b54f6c4';
+ $pane = new stdClass();
+ $pane->pid = 'new-7951585b-3121-4440-a3b9-deea160bc05a';
+ $pane->panel = 'preface';
+ $pane->type = 'views_panes';
+ $pane->subtype = 'cod_session_tracks-track_session_filter';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'arguments' => array(
+ 'machine_name' => 'session_tracks_%node:nid',
+ 'null' => '%node:nid',
+ 'null_1' => '',
+ ),
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array();
+ $pane->extras = array();
+ $pane->position = 1;
+ $pane->locks = array();
+ $pane->uuid = '7951585b-3121-4440-a3b9-deea160bc05a';
+ $display->content['new-7951585b-3121-4440-a3b9-deea160bc05a'] = $pane;
+ $display->panels['preface'][1] = 'new-7951585b-3121-4440-a3b9-deea160bc05a';
+ $display->hide_title = PANELS_TITLE_FIXED;
+ $display->title_pane = '0';
+ $handler->conf['display'] = $display;
+ $page->default_handlers[$handler->name] = $handler;
+ $handler = new stdClass();
+ $handler->disabled = FALSE; /* Edit this to true to make a default handler disabled initially */
+ $handler->api_version = 1;
+ $handler->name = 'page_sessions_panel_context_3';
+ $handler->task = 'page';
+ $handler->subtask = 'sessions';
+ $handler->handler = 'panel_context';
+ $handler->weight = -28;
+ $handler->conf = array(
+ 'title' => 'Sessions by Track',
+ 'no_blocks' => 0,
+ 'pipeline' => 'standard',
+ 'body_classes_to_remove' => '',
+ 'body_classes_to_add' => '',
+ 'css_id' => '',
+ 'css' => '',
+ 'contexts' => array(),
+ 'relationships' => array(),
+ 'access' => array(
+ 'plugins' => array(
+ 0 => array(
+ 'name' => 'context_exists',
+ 'settings' => array(
+ 'exists' => '1',
+ ),
+ 'context' => 'argument_entity_id:node_1',
+ 'not' => FALSE,
+ ),
+ 1 => array(
+ 'name' => 'context_exists',
+ 'settings' => array(
+ 'exists' => '1',
+ ),
+ 'context' => 'argument_cod_session_status_1',
+ 'not' => FALSE,
+ ),
+ 2 => array(
+ 'name' => 'context_exists',
+ 'settings' => array(
+ 'exists' => '1',
+ ),
+ 'context' => 'argument_term_1',
+ 'not' => FALSE,
+ ),
+ ),
+ 'logic' => 'and',
+ ),
+ );
+ $display = new panels_display();
+ $display->layout = 'cygnus';
+ $display->layout_settings = array(
+ 'items' => array(
+ 'canvas' => array(
+ 'type' => 'row',
+ 'contains' => 'column',
+ 'children' => array(
+ 0 => 'main',
+ 1 => 1,
+ ),
+ 'parent' => NULL,
+ ),
+ 'main' => array(
+ 'type' => 'column',
+ 'width' => '66.65375151243254',
+ 'width_type' => '%',
+ 'children' => array(
+ 0 => 'main-row',
+ ),
+ 'parent' => 'canvas',
+ ),
+ 'main-row' => array(
+ 'type' => 'row',
+ 'contains' => 'region',
+ 'children' => array(
+ 0 => 'center',
+ ),
+ 'parent' => 'main',
+ ),
+ 'center' => array(
+ 'type' => 'region',
+ 'title' => 'Center',
+ 'width' => 100,
+ 'width_type' => '%',
+ 'parent' => 'main-row',
+ ),
+ 1 => array(
+ 'type' => 'column',
+ 'width' => '33.34624848756747',
+ 'width_type' => '%',
+ 'parent' => 'canvas',
+ 'children' => array(
+ 0 => 2,
+ ),
+ 'class' => '',
+ ),
+ 2 => array(
+ 'type' => 'row',
+ 'contains' => 'region',
+ 'children' => array(
+ 0 => 'right_sidebar',
+ ),
+ 'parent' => '1',
+ 'class' => '',
+ ),
+ 'right_sidebar' => array(
+ 'type' => 'region',
+ 'title' => 'Right Sidebar',
+ 'width' => 100,
+ 'width_type' => '%',
+ 'parent' => '2',
+ 'class' => '',
+ ),
+ ),
+ );
+ $display->panel_settings = array(
+ 'style_settings' => array(
+ 'default' => NULL,
+ 'left' => NULL,
+ 'right' => NULL,
+ 'center' => NULL,
+ 'right_sidebar' => NULL,
+ 'preface' => NULL,
+ 'content' => NULL,
+ 'footer' => NULL,
+ ),
+ );
+ $display->cache = array();
+ $display->title = '%status Sessions';
+ $display->uuid = '0eeda185-558c-46be-bee1-c6c1962556c5';
+ $display->content = array();
+ $display->panels = array();
+ $pane = new stdClass();
+ $pane->pid = 'new-2f61b2a3-d5d7-4fab-ad73-bddda7b20fb5';
+ $pane->panel = 'content';
+ $pane->type = 'block';
+ $pane->subtype = 'views-99c8102ee06c6ba03159e840945d2f86';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'inherit_path' => 1,
+ 'override_title' => 1,
+ 'override_title_text' => '',
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array();
+ $pane->extras = array();
+ $pane->position = 0;
+ $pane->locks = array();
+ $pane->uuid = '2f61b2a3-d5d7-4fab-ad73-bddda7b20fb5';
+ $display->content['new-2f61b2a3-d5d7-4fab-ad73-bddda7b20fb5'] = $pane;
+ $display->panels['content'][0] = 'new-2f61b2a3-d5d7-4fab-ad73-bddda7b20fb5';
+ $pane = new stdClass();
+ $pane->pid = 'new-26148802-058c-4076-8ebd-050fa51886d2';
+ $pane->panel = 'content';
+ $pane->type = 'views_panes';
+ $pane->subtype = 'cod_session_sessions-panel_sessions_by_track';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'arguments' => array(
+ 'gid' => '%node:nid',
+ 'field_accepted_value' => '%status',
+ 'tid' => '%tid:tid',
+ ),
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array();
+ $pane->extras = array();
+ $pane->position = 1;
+ $pane->locks = array();
+ $pane->uuid = '26148802-058c-4076-8ebd-050fa51886d2';
+ $display->content['new-26148802-058c-4076-8ebd-050fa51886d2'] = $pane;
+ $display->panels['content'][1] = 'new-26148802-058c-4076-8ebd-050fa51886d2';
+ $pane = new stdClass();
+ $pane->pid = 'new-84112ab3-bc13-4d12-92a9-248215cf1829';
+ $pane->panel = 'preface';
+ $pane->type = 'page_title';
+ $pane->subtype = 'page_title';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'markup' => 'h1',
+ 'class' => '',
+ 'id' => '',
+ 'override_title' => 0,
+ 'override_title_text' => '',
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array();
+ $pane->extras = array();
+ $pane->position = 0;
+ $pane->locks = array();
+ $pane->uuid = '84112ab3-bc13-4d12-92a9-248215cf1829';
+ $display->content['new-84112ab3-bc13-4d12-92a9-248215cf1829'] = $pane;
+ $display->panels['preface'][0] = 'new-84112ab3-bc13-4d12-92a9-248215cf1829';
+ $pane = new stdClass();
+ $pane->pid = 'new-7951585b-3121-4440-a3b9-deea160bc05a';
+ $pane->panel = 'preface';
+ $pane->type = 'views_panes';
+ $pane->subtype = 'cod_session_tracks-track_session_filter';
+ $pane->shown = TRUE;
+ $pane->access = array();
+ $pane->configuration = array(
+ 'arguments' => array(
+ 'machine_name' => 'session_tracks_%node:nid',
+ 'null' => '%node:nid',
+ 'null_1' => '%tid:tid',
+ ),
+ );
+ $pane->cache = array();
+ $pane->style = array(
+ 'settings' => NULL,
+ );
+ $pane->css = array();
+ $pane->extras = array();
+ $pane->position = 1;
+ $pane->locks = array();
+ $pane->uuid = '7951585b-3121-4440-a3b9-deea160bc05a';
+ $display->content['new-7951585b-3121-4440-a3b9-deea160bc05a'] = $pane;
+ $display->panels['preface'][1] = 'new-7951585b-3121-4440-a3b9-deea160bc05a';
$display->hide_title = PANELS_TITLE_FIXED;
$display->title_pane = '0';
$handler->conf['display'] = $display;
diff --git a/cod_session/plugins/arguments/cod_session_status.inc b/cod_session/plugins/arguments/cod_session_status.inc
new file mode 100644
index 0000000000000000000000000000000000000000..3f910a77727517164576b97e48de878d562fa1a2
--- /dev/null
+++ b/cod_session/plugins/arguments/cod_session_status.inc
@@ -0,0 +1,55 @@
+ t("Session Status"),
+ // keyword to use for %substitution
+ 'keyword' => 'cod_session_status',
+ 'description' => t('Creates a context from a session status argument.'),
+ 'settings form' => 'cod_session_argument_status_settings_form',
+ 'context' => 'cod_session_argument_status_context',
+ 'placeholder form' => array(
+ '#type' => 'textfield',
+ '#description' => t('Enter a value for this argument'),
+ ),
+ 'path placeholder' => 'cod_session_argument_status_path_placeholder', // This is in pagemanager.
+);
+
+/**
+ * Discover if this argument gives us the term we crave.
+ */
+function cod_session_argument_status_context($arg = NULL, $conf = NULL, $empty = FALSE) {
+ // If unset it wants a generic, unfilled context.
+ if ($empty) {
+ return ctools_context_create_empty('cod_session_status');
+ }
+
+ if (!$arg) {
+ return FALSE;
+ }
+ $context = ctools_context_create('cod_session_status', $arg);
+ $context->original_argument = $arg;
+ return $context;
+}
+
+/**
+ * Settings form for the argument
+ */
+function cod_session_argument_status_settings_form(&$form, &$form_state, $conf) {
+// return $form;
+}
+
+/**
+ * Switch the placeholder based upon user settings.
+ */
+function cod_session_argument_status_path_placeholder($argument) {
+ return '%pm_arg';
+}
diff --git a/cod_session/plugins/content_types/cod_session_sessions_pane.inc b/cod_session/plugins/content_types/cod_session_sessions_pane.inc
index ff03f758d5c5105d5c452be90675b75875c6566b..9d13de8411fbd68ba8b182e4f7b23134cf38eb81 100644
--- a/cod_session/plugins/content_types/cod_session_sessions_pane.inc
+++ b/cod_session/plugins/content_types/cod_session_sessions_pane.inc
@@ -35,7 +35,7 @@ function cod_session_sessions_pane_render($subtype, $conf, $context = NULL) {
function cod_session_sessions_quicktabs($event) {
// Use '+' so that we can display Proposed/Declined and Accepted/Featured.
- $allowed_values = array('unprocessed+declined+backup' => 'Proposed', 'accepted+featured' => 'Accepted', 'cancelled' => 'Cancelled');
+ $allowed_values = array('proposed+declined+backup' => 'Proposed', 'accepted+featured' => 'Accepted', 'cancelled' => 'Cancelled');
$content_tabs = array();
$weight = 0;
foreach ($allowed_values AS $key => $status) {
diff --git a/cod_session/plugins/content_types/cod_session_tracks_pane.inc b/cod_session/plugins/content_types/cod_session_tracks_pane.inc
new file mode 100644
index 0000000000000000000000000000000000000000..bf44979a3932c29cb442ab83bc922b85bda27913
--- /dev/null
+++ b/cod_session/plugins/content_types/cod_session_tracks_pane.inc
@@ -0,0 +1,45 @@
+ t('Sessions Track Filter'),
+ // no one knows if "single" defaults to FALSE...
+ 'single' => TRUE,
+ // oh joy, I get my own section of panel panes
+ 'category' => array(t('Conference Organizing'), -9),
+ //'edit form' => 'cod_events_pane_content_type_edit_form',
+ 'render callback' => 'cod_session_tracks_pane_render'
+);
+
+/**
+* Run-time rendering of the body of the block (content type)
+* See ctools_plugin_examples for more advanced info
+*/
+function cod_session_tracks_pane_render($subtype, $conf, $context = NULL) {
+ // our output is generate by js. Any markup or theme functions
+ // could go here.
+ // that private js function is so bad that fixing it will be the
+ // basis of the next tutorial
+ $block = new stdClass();
+
+ if($node = node_load(array_shift($context))) {
+ $block->content = cod_session_tracks($node);
+ } else {
+ $block->content = t('Invalid Event Type');
+ }
+ return $block;
+}
+
+function cod_session_tracks($event) {
+ // Get the tracks view
+ $view = views_get_view('cod_session_tracks');
+ $view->set_display('panel_pane_2');
+
+
+ $content = '';
+
+ return $content;
+}
diff --git a/cod_session/plugins/contexts/cod_session_status.inc b/cod_session/plugins/contexts/cod_session_status.inc
new file mode 100644
index 0000000000000000000000000000000000000000..b9140060b565f4e5acd90db69265abfd4466eda7
--- /dev/null
+++ b/cod_session/plugins/contexts/cod_session_status.inc
@@ -0,0 +1,104 @@
+ t("Session Status"),
+ 'description' => t('Status (Proposed, Accepted, etc.'),
+ 'context' => 'cod_session_context_create_status',
+ 'edit form' => 'cod_session_context_status_settings_form',
+ 'defaults' => '',
+ 'no ui' => FALSE,
+ 'keyword' => 'cod_session_status',
+ 'context name' => 'cod_session_status',
+ 'convert' => 'cod_session_context_status_convert',
+ 'placeholder form' => array(
+ '#type' => 'textfield',
+ '#description' => t('Enter the status machine name for this context.'),
+ ),
+);
+
+/**
+ * It's important to remember that $conf is optional here, because contexts
+ * are not always created from the UI.
+ */
+function cod_session_context_create_status($empty, $data = NULL, $conf = FALSE) {
+ $context = new ctools_context('cod_session_status');
+ $context->plugin = 'cod_session_status';
+
+ // We don't know the session status in the argument, lets try to create one
+ if ($empty) {
+ return $context;
+ }
+
+ if ($conf) {
+ $status = $data;
+ }
+
+ if (!empty($data)) {
+ // Support the array storage from the settings form but also handle direct input from arguments.
+ $context->data = is_array($data) ? $data['status'] : $data;
+ $output = check_plain($data);
+ $context->title = ($conf) ? check_plain($data['identifier']) : drupal_strtoupper(drupal_substr($output, 0, 1)) . drupal_substr($output, 1);
+ return $context;
+ }
+}
+
+function cod_session_context_status_settings_form($form, &$form_state) {
+ $conf = &$form_state['conf'];
+
+ $form['status'] = array(
+ '#title' => t('Enter the status for the event'),
+ '#type' => 'textfield',
+ '#maxlength' => 64,
+ '#weight' => -10,
+ );
+
+ if (!empty($conf['status'])) {
+ $form['status']['#description'] = t('Currently set to !link', array('!link' => $conf['status']));
+ }
+
+ return $form;
+}
+
+/**
+ * Validate a node.
+ */
+function cod_session_context_status_settings_form_validate($form, &$form_state) {
+ // Validate the autocomplete
+ // We should do something here!
+ /*
+ if (!$node || (empty($node->status) && !(user_access('administer nodes')))) {
+ form_error($form['node'], t('Invalid node selected.'));
+ }
+ else {
+ form_set_value($form['nid'], $node->nid, $form_state);
+ }
+ */
+}
+
+function cod_session_context_status_settings_form_submit($form, &$form_state) {
+ // This will either be the value set previously or a value set by the
+ // validator.
+ $form_state['conf']['status'] = $form_state['values']['status'];
+}
+
+/**
+ * Convert a context into a string.
+ */
+function cod_session_context_status_convert($context, $type) {
+ switch ($type) {
+ // Convert a vocabulary keyword into the data.
+ case 'status':
+ return $context->data['status'];
+ }
+}
diff --git a/cod_session/views/cod_session.views.inc b/cod_session/views/cod_session.views.inc
new file mode 100644
index 0000000000000000000000000000000000000000..202e0e4dbf87687b2a29988dcfa291c15812e381
--- /dev/null
+++ b/cod_session/views/cod_session.views.inc
@@ -0,0 +1,42 @@
+ array(
+ 'title' => t('Session Track Link'),
+ 'help' => t('Filter or unfilter a track on the sessions page'),
+ 'handler' => 'cod_session_views_handler_field_track_link',
+ ),
+ );
+ $data['views']['sessions_more_link'] = array(
+ 'title' => t('Session Track Link'),
+ 'help' => t('Display a more sessions based on track link.'),
+ 'area' => array(
+ 'handler' => 'cod_session_views_handler_field_track_link',
+ ),
+ );
+}
+
+/**
+ * Implements hook_views_data().
+
+function cod_session_views_data() {
+ $data = array();
+ $data['views']['sessions_more_link'] = array(
+ 'title' => t('Session Track Link'),
+ 'help' => t('Display a more sessions based on track link.'),
+ 'area' => array(
+ 'handler' => 'cod_session_views_handler_area_more_link',
+ ),
+ );
+ return $data;
+}*/
diff --git a/cod_session/cod_session.views_default.inc b/cod_session/views/cod_session.views_default.inc
similarity index 79%
rename from cod_session/cod_session.views_default.inc
rename to cod_session/views/cod_session.views_default.inc
index 44b5e44b5df4e1bf43a08a03dbcab3384b5bad95..de32d2c0ff6d156fadfb61d1beb440d616307ebc 100644
--- a/cod_session/cod_session.views_default.inc
+++ b/cod_session/views/cod_session.views_default.inc
@@ -155,8 +155,6 @@ function cod_session_views_default_views() {
$handler->display->display_options['sorts']['title']['id'] = 'title';
$handler->display->display_options['sorts']['title']['table'] = 'node';
$handler->display->display_options['sorts']['title']['field'] = 'title';
- $handler->display->display_options['sorts']['title']['relationship'] = 'field_room_slots_types_allowed_node';
- $handler->display->display_options['sorts']['title']['exposed'] = TRUE;
$handler->display->display_options['sorts']['title']['expose']['label'] = 'Title';
/* Contextual filter: OG membership: Group ID */
$handler->display->display_options['arguments']['gid']['id'] = 'gid';
@@ -356,7 +354,7 @@ function cod_session_views_default_views() {
$handler->display->display_options['filters']['keys']['expose']['label'] = 'Filter by keywords';
$handler->display->display_options['filters']['keys']['expose']['operator'] = 'keys_op';
$handler->display->display_options['filters']['keys']['expose']['identifier'] = 'keys';
- $handler->display->display_options['path'] = 'node/%/program/sessions.rss';
+ $handler->display->display_options['path'] = 'node/%/sessions.rss';
$handler->display->display_options['displays'] = array(
'page_1' => 'page_1',
'default' => 0,
@@ -384,10 +382,10 @@ function cod_session_views_default_views() {
$handler->display->display_options['defaults']['style_options'] = FALSE;
$handler->display->display_options['defaults']['row_plugin'] = FALSE;
$handler->display->display_options['defaults']['row_options'] = FALSE;
- $handler->display->display_options['path'] = 'node/%/program/sessions.json';
+ $handler->display->display_options['path'] = 'node/%/sessions.json';
/* Display: Block: Sessions Details */
- $handler = $view->new_display('block', 'Block: Sessions Details', 'block_1');
+ $handler = $view->new_display('block', 'Block: Sessions Details', 'block_session_details');
$handler->display->display_options['defaults']['title'] = FALSE;
$handler->display->display_options['title'] = 'Sessions Details';
$handler->display->display_options['defaults']['css_class'] = FALSE;
@@ -428,7 +426,7 @@ function cod_session_views_default_views() {
$handler->display->display_options['arguments']['nid']['specify_validation'] = TRUE;
/* Display: Block: Speakers */
- $handler = $view->new_display('block', 'Block: Speakers', 'block_2');
+ $handler = $view->new_display('block', 'Block: Speakers', 'block_session_speakers');
$handler->display->display_options['defaults']['title'] = FALSE;
$handler->display->display_options['title'] = 'Speakers';
$handler->display->display_options['defaults']['css_class'] = FALSE;
@@ -524,10 +522,9 @@ function cod_session_views_default_views() {
$handler->display->display_options['filters']['field_accepted_value']['group'] = 1;
$handler->display->display_options['block_description'] = 'Sessions: Speakers';
- /* Display: My Sessions */
- $handler = $view->new_display('page', 'My Sessions', 'page_2');
+ /* Display: My Schedule */
+ $handler = $view->new_display('panel_pane', 'My Schedule', 'pane_sessions_mine');
$handler->display->display_options['defaults']['title'] = FALSE;
- $handler->display->display_options['title'] = 'My Schedule';
$handler->display->display_options['defaults']['access'] = FALSE;
$handler->display->display_options['access']['type'] = 'role';
$handler->display->display_options['access']['role'] = array(
@@ -596,7 +593,7 @@ function cod_session_views_default_views() {
$handler->display->display_options['empty']['area']['empty'] = TRUE;
$handler->display->display_options['empty']['area']['content'] = 'No sessions have been flagged. To add sessions to your schedule, go to the session and click \'add to my schedule\'.
-If you just flagged sessions, it may take up to 2 minutes for them to appear here.';
+ If you just flagged sessions, it may take up to 2 minutes for them to appear here.';
$handler->display->display_options['empty']['area']['format'] = 'full_html';
$handler->display->display_options['defaults']['relationships'] = FALSE;
/* Relationship: Flags: session_schedule */
@@ -615,6 +612,11 @@ function cod_session_views_default_views() {
$handler->display->display_options['relationships']['og_membership_rel']['table'] = 'node';
$handler->display->display_options['relationships']['og_membership_rel']['field'] = 'og_membership_rel';
$handler->display->display_options['relationships']['og_membership_rel']['required'] = TRUE;
+ /* Relationship: Entity Reference: Referenced Entity */
+ $handler->display->display_options['relationships']['field_timeslot_time_target_id']['id'] = 'field_timeslot_time_target_id';
+ $handler->display->display_options['relationships']['field_timeslot_time_target_id']['table'] = 'field_data_field_timeslot_time';
+ $handler->display->display_options['relationships']['field_timeslot_time_target_id']['field'] = 'field_timeslot_time_target_id';
+ $handler->display->display_options['relationships']['field_timeslot_time_target_id']['relationship'] = 'field_session_timeslot_target_id';
$handler->display->display_options['defaults']['fields'] = FALSE;
/* Field: Content: Title */
$handler->display->display_options['fields']['title']['id'] = 'title';
@@ -660,27 +662,25 @@ function cod_session_views_default_views() {
);
$handler->display->display_options['fields']['field_timeslot_time']['delta_offset'] = '0';
$handler->display->display_options['defaults']['sorts'] = FALSE;
- /* Sort criterion: Field collection item: Time (field_timeslot_time) */
- $handler->display->display_options['sorts']['field_timeslot_time_target_id']['id'] = 'field_timeslot_time_target_id';
- $handler->display->display_options['sorts']['field_timeslot_time_target_id']['table'] = 'field_data_field_timeslot_time';
- $handler->display->display_options['sorts']['field_timeslot_time_target_id']['field'] = 'field_timeslot_time_target_id';
- $handler->display->display_options['sorts']['field_timeslot_time_target_id']['relationship'] = 'field_session_timeslot_target_id';
+ /* Sort criterion: Time: Date and time - start date (field_evttime_date) */
+ $handler->display->display_options['sorts']['field_evttime_date_value']['id'] = 'field_evttime_date_value';
+ $handler->display->display_options['sorts']['field_evttime_date_value']['table'] = 'field_data_field_evttime_date';
+ $handler->display->display_options['sorts']['field_evttime_date_value']['field'] = 'field_evttime_date_value';
+ $handler->display->display_options['sorts']['field_evttime_date_value']['relationship'] = 'field_timeslot_time_target_id';
$handler->display->display_options['defaults']['arguments'] = FALSE;
- /* Contextual filter: OG membership: Group ID */
- $handler->display->display_options['arguments']['gid']['id'] = 'gid';
- $handler->display->display_options['arguments']['gid']['table'] = 'og_membership';
- $handler->display->display_options['arguments']['gid']['field'] = 'gid';
- $handler->display->display_options['arguments']['gid']['relationship'] = 'og_membership_rel';
- $handler->display->display_options['arguments']['gid']['default_action'] = 'default';
- $handler->display->display_options['arguments']['gid']['default_argument_type'] = 'cod_events_default_event';
- $handler->display->display_options['arguments']['gid']['summary']['number_of_records'] = '0';
- $handler->display->display_options['arguments']['gid']['summary']['format'] = 'default_summary';
- $handler->display->display_options['arguments']['gid']['summary_options']['items_per_page'] = '25';
- $handler->display->display_options['arguments']['gid']['specify_validation'] = TRUE;
- $handler->display->display_options['arguments']['gid']['validate']['type'] = 'node';
- $handler->display->display_options['arguments']['gid']['validate_options']['types'] = array(
- 'event' => 'event',
- );
+ /* Contextual filter: Field: Conference (og_group_ref) */
+ $handler->display->display_options['arguments']['og_group_ref_target_id']['id'] = 'og_group_ref_target_id';
+ $handler->display->display_options['arguments']['og_group_ref_target_id']['table'] = 'og_membership';
+ $handler->display->display_options['arguments']['og_group_ref_target_id']['field'] = 'og_group_ref_target_id';
+ $handler->display->display_options['arguments']['og_group_ref_target_id']['relationship'] = 'og_membership_rel';
+ $handler->display->display_options['arguments']['og_group_ref_target_id']['default_action'] = 'empty';
+ $handler->display->display_options['arguments']['og_group_ref_target_id']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['og_group_ref_target_id']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['og_group_ref_target_id']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['og_group_ref_target_id']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['arguments']['og_group_ref_target_id']['specify_validation'] = TRUE;
+ $handler->display->display_options['arguments']['og_group_ref_target_id']['validate']['type'] = 'og';
+ $handler->display->display_options['arguments']['og_group_ref_target_id']['validate']['fail'] = 'empty';
$handler->display->display_options['defaults']['filter_groups'] = FALSE;
$handler->display->display_options['defaults']['filters'] = FALSE;
/* Filter criterion: Content: Published */
@@ -688,15 +688,8 @@ function cod_session_views_default_views() {
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = 1;
- $handler->display->display_options['filters']['status']['group'] = 0;
+ $handler->display->display_options['filters']['status']['group'] = 1;
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
- /* Filter criterion: Content: Type */
- $handler->display->display_options['filters']['type']['id'] = 'type';
- $handler->display->display_options['filters']['type']['table'] = 'node';
- $handler->display->display_options['filters']['type']['field'] = 'type';
- $handler->display->display_options['filters']['type']['value'] = array(
- 'session' => 'session',
- );
/* Filter criterion: Content: Status (field_accepted) */
$handler->display->display_options['filters']['field_accepted_value']['id'] = 'field_accepted_value';
$handler->display->display_options['filters']['field_accepted_value']['table'] = 'field_data_field_accepted';
@@ -705,15 +698,21 @@ function cod_session_views_default_views() {
'accepted' => 'accepted',
'featured' => 'featured',
);
- $handler->display->display_options['path'] = 'node/%/program/mine';
- $handler->display->display_options['menu']['type'] = 'tab';
- $handler->display->display_options['menu']['title'] = 'My Schedule';
- $handler->display->display_options['menu']['weight'] = '1';
- $handler->display->display_options['menu']['context'] = 0;
- $handler->display->display_options['menu']['context_only_inline'] = 0;
+ $handler->display->display_options['filters']['field_accepted_value']['group'] = 1;
+ $handler->display->display_options['argument_input'] = array(
+ 'og_group_ref_target_id' => array(
+ 'type' => 'user',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => '',
+ 'label' => 'Conference',
+ ),
+ );
+ $handler->display->display_options['inherit_panels_path'] = '1';
/* Display: Featured Sessions */
- $handler = $view->new_display('panel_pane', 'Featured Sessions', 'panel_pane_1');
+ $handler = $view->new_display('panel_pane', 'Featured Sessions', 'panel_sessions_featured');
$handler->display->display_options['defaults']['title'] = FALSE;
$handler->display->display_options['title'] = 'Featured Sessions';
$handler->display->display_options['defaults']['style_plugin'] = FALSE;
@@ -806,6 +805,306 @@ function cod_session_views_default_views() {
'label' => 'Event ID',
),
);
+
+ /* Display: Sessions by Track Pane */
+ $handler = $view->new_display('panel_pane', 'Sessions by Track Pane', 'panel_sessions_by_track');
+ $handler->display->display_options['defaults']['title'] = FALSE;
+ $handler->display->display_options['defaults']['exposed_form'] = FALSE;
+ $handler->display->display_options['exposed_form']['type'] = 'basic';
+ $handler->display->display_options['exposed_form']['options']['autosubmit'] = TRUE;
+ $handler->display->display_options['defaults']['style_plugin'] = FALSE;
+ $handler->display->display_options['style_plugin'] = 'default';
+ $handler->display->display_options['style_options']['row_class'] = '[name]';
+ $handler->display->display_options['defaults']['style_options'] = FALSE;
+ $handler->display->display_options['defaults']['row_plugin'] = FALSE;
+ $handler->display->display_options['row_plugin'] = 'fields';
+ $handler->display->display_options['defaults']['row_options'] = FALSE;
+ $handler->display->display_options['exposed_block'] = TRUE;
+ $handler->display->display_options['defaults']['relationships'] = FALSE;
+ /* Relationship: Content: Author */
+ $handler->display->display_options['relationships']['uid']['id'] = 'uid';
+ $handler->display->display_options['relationships']['uid']['table'] = 'node';
+ $handler->display->display_options['relationships']['uid']['field'] = 'uid';
+ /* Relationship: OG membership: OG membership from Node */
+ $handler->display->display_options['relationships']['og_membership_rel']['id'] = 'og_membership_rel';
+ $handler->display->display_options['relationships']['og_membership_rel']['table'] = 'node';
+ $handler->display->display_options['relationships']['og_membership_rel']['field'] = 'og_membership_rel';
+ $handler->display->display_options['relationships']['og_membership_rel']['required'] = TRUE;
+ /* Relationship: Entity Reference: Referenced Entity */
+ $handler->display->display_options['relationships']['og_vocabulary_target_id']['id'] = 'og_vocabulary_target_id';
+ $handler->display->display_options['relationships']['og_vocabulary_target_id']['table'] = 'field_data_og_vocabulary';
+ $handler->display->display_options['relationships']['og_vocabulary_target_id']['field'] = 'og_vocabulary_target_id';
+ $handler->display->display_options['relationships']['og_vocabulary_target_id']['required'] = TRUE;
+ $handler->display->display_options['defaults']['fields'] = FALSE;
+ /* Field: Taxonomy term: Name */
+ $handler->display->display_options['fields']['name']['id'] = 'name';
+ $handler->display->display_options['fields']['name']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['name']['field'] = 'name';
+ $handler->display->display_options['fields']['name']['relationship'] = 'og_vocabulary_target_id';
+ $handler->display->display_options['fields']['name']['label'] = '';
+ $handler->display->display_options['fields']['name']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['name']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['name']['case'] = 'lower';
+ $handler->display->display_options['fields']['name']['convert_spaces'] = TRUE;
+ /* Field: Content: Title */
+ $handler->display->display_options['fields']['title']['id'] = 'title';
+ $handler->display->display_options['fields']['title']['table'] = 'node';
+ $handler->display->display_options['fields']['title']['field'] = 'title';
+ $handler->display->display_options['fields']['title']['label'] = '';
+ $handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
+ $handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
+ $handler->display->display_options['fields']['title']['element_type'] = 'h3';
+ $handler->display->display_options['fields']['title']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['title']['element_default_classes'] = FALSE;
+ $handler->display->display_options['fields']['title']['hide_alter_empty'] = FALSE;
+ /* Field: Content: Speaker(s) */
+ $handler->display->display_options['fields']['field_speakers']['id'] = 'field_speakers';
+ $handler->display->display_options['fields']['field_speakers']['table'] = 'field_data_field_speakers';
+ $handler->display->display_options['fields']['field_speakers']['field'] = 'field_speakers';
+ $handler->display->display_options['fields']['field_speakers']['label'] = '';
+ $handler->display->display_options['fields']['field_speakers']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['field_speakers']['hide_alter_empty'] = FALSE;
+ $handler->display->display_options['fields']['field_speakers']['settings'] = array(
+ 'link' => 0,
+ );
+ $handler->display->display_options['fields']['field_speakers']['delta_offset'] = '0';
+ /* Field: Content: Body */
+ $handler->display->display_options['fields']['body']['id'] = 'body';
+ $handler->display->display_options['fields']['body']['table'] = 'field_data_body';
+ $handler->display->display_options['fields']['body']['field'] = 'body';
+ $handler->display->display_options['fields']['body']['label'] = '';
+ $handler->display->display_options['fields']['body']['alter']['max_length'] = '200';
+ $handler->display->display_options['fields']['body']['alter']['trim'] = TRUE;
+ $handler->display->display_options['fields']['body']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['body']['hide_alter_empty'] = FALSE;
+ $handler->display->display_options['fields']['body']['type'] = 'text_summary_or_trimmed';
+ $handler->display->display_options['fields']['body']['settings'] = array(
+ 'trim_length' => '250',
+ );
+ /* Field: Content: Status */
+ $handler->display->display_options['fields']['field_accepted']['id'] = 'field_accepted';
+ $handler->display->display_options['fields']['field_accepted']['table'] = 'field_data_field_accepted';
+ $handler->display->display_options['fields']['field_accepted']['field'] = 'field_accepted';
+ $handler->display->display_options['fields']['field_accepted']['label'] = '';
+ $handler->display->display_options['fields']['field_accepted']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['field_accepted']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['field_accepted']['hide_alter_empty'] = FALSE;
+ /* Field: Content: Experience level */
+ $handler->display->display_options['fields']['field_experience']['id'] = 'field_experience';
+ $handler->display->display_options['fields']['field_experience']['table'] = 'field_data_field_experience';
+ $handler->display->display_options['fields']['field_experience']['field'] = 'field_experience';
+ $handler->display->display_options['fields']['field_experience']['label'] = '';
+ $handler->display->display_options['fields']['field_experience']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['field_experience']['hide_alter_empty'] = FALSE;
+ $handler->display->display_options['defaults']['arguments'] = FALSE;
+ /* Contextual filter: OG membership: Group ID */
+ $handler->display->display_options['arguments']['gid']['id'] = 'gid';
+ $handler->display->display_options['arguments']['gid']['table'] = 'og_membership';
+ $handler->display->display_options['arguments']['gid']['field'] = 'gid';
+ $handler->display->display_options['arguments']['gid']['relationship'] = 'og_membership_rel';
+ $handler->display->display_options['arguments']['gid']['default_action'] = 'not found';
+ $handler->display->display_options['arguments']['gid']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['gid']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['gid']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['gid']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['arguments']['gid']['specify_validation'] = TRUE;
+ $handler->display->display_options['arguments']['gid']['validate']['type'] = 'og';
+ /* Contextual filter: Content: Status (field_accepted) */
+ $handler->display->display_options['arguments']['field_accepted_value']['id'] = 'field_accepted_value';
+ $handler->display->display_options['arguments']['field_accepted_value']['table'] = 'field_data_field_accepted';
+ $handler->display->display_options['arguments']['field_accepted_value']['field'] = 'field_accepted_value';
+ $handler->display->display_options['arguments']['field_accepted_value']['default_action'] = 'not found';
+ $handler->display->display_options['arguments']['field_accepted_value']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['field_accepted_value']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['field_accepted_value']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['field_accepted_value']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['arguments']['field_accepted_value']['limit'] = '0';
+ /* Contextual filter: Content: Has taxonomy term ID */
+ $handler->display->display_options['arguments']['tid']['id'] = 'tid';
+ $handler->display->display_options['arguments']['tid']['table'] = 'taxonomy_index';
+ $handler->display->display_options['arguments']['tid']['field'] = 'tid';
+ $handler->display->display_options['arguments']['tid']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['tid']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['tid']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['tid']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['arguments']['tid']['specify_validation'] = TRUE;
+ $handler->display->display_options['arguments']['tid']['validate']['type'] = 'taxonomy_term';
+ $handler->display->display_options['arguments']['tid']['validate']['fail'] = 'empty';
+ $handler->display->display_options['defaults']['filter_groups'] = FALSE;
+ $handler->display->display_options['defaults']['filters'] = FALSE;
+ /* Filter criterion: Search: Search Terms */
+ $handler->display->display_options['filters']['keys']['id'] = 'keys';
+ $handler->display->display_options['filters']['keys']['table'] = 'search_index';
+ $handler->display->display_options['filters']['keys']['field'] = 'keys';
+ $handler->display->display_options['filters']['keys']['group'] = 1;
+ $handler->display->display_options['filters']['keys']['exposed'] = TRUE;
+ $handler->display->display_options['filters']['keys']['expose']['operator_id'] = 'keys_op';
+ $handler->display->display_options['filters']['keys']['expose']['label'] = 'Search';
+ $handler->display->display_options['filters']['keys']['expose']['operator'] = 'keys_op';
+ $handler->display->display_options['filters']['keys']['expose']['identifier'] = 'keys';
+ $handler->display->display_options['filters']['keys']['expose']['remember_roles'] = array(
+ 2 => '2',
+ 1 => 0,
+ 8 => 0,
+ 4 => 0,
+ 3 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 9 => 0,
+ 10 => 0,
+ );
+ $handler->display->display_options['filters']['keys']['remove_score'] = TRUE;
+ /* Filter criterion: Content: Published */
+ $handler->display->display_options['filters']['status']['id'] = 'status';
+ $handler->display->display_options['filters']['status']['table'] = 'node';
+ $handler->display->display_options['filters']['status']['field'] = 'status';
+ $handler->display->display_options['filters']['status']['value'] = 1;
+ $handler->display->display_options['filters']['status']['group'] = 1;
+ $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
+ /* Filter criterion: Content: Type */
+ $handler->display->display_options['filters']['type']['id'] = 'type';
+ $handler->display->display_options['filters']['type']['table'] = 'node';
+ $handler->display->display_options['filters']['type']['field'] = 'type';
+ $handler->display->display_options['filters']['type']['value'] = array(
+ 'session' => 'session',
+ );
+ $handler->display->display_options['filters']['type']['group'] = 1;
+ /* Filter criterion: Content: Experience level (field_experience) */
+ $handler->display->display_options['filters']['field_experience_value']['id'] = 'field_experience_value';
+ $handler->display->display_options['filters']['field_experience_value']['table'] = 'field_data_field_experience';
+ $handler->display->display_options['filters']['field_experience_value']['field'] = 'field_experience_value';
+ $handler->display->display_options['filters']['field_experience_value']['group'] = 1;
+ $handler->display->display_options['filters']['field_experience_value']['exposed'] = TRUE;
+ $handler->display->display_options['filters']['field_experience_value']['expose']['operator_id'] = 'field_experience_value_op';
+ $handler->display->display_options['filters']['field_experience_value']['expose']['label'] = 'Experience';
+ $handler->display->display_options['filters']['field_experience_value']['expose']['operator'] = 'field_experience_value_op';
+ $handler->display->display_options['filters']['field_experience_value']['expose']['identifier'] = 'field_experience_value';
+ $handler->display->display_options['argument_input'] = array(
+ 'gid' => array(
+ 'type' => 'user',
+ 'context' => 'entity:node.nid',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => '',
+ 'label' => 'Conference',
+ ),
+ 'field_accepted_value' => array(
+ 'type' => 'user',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '1',
+ 'fixed' => '',
+ 'label' => 'Session Status',
+ ),
+ 'tid' => array(
+ 'type' => 'user',
+ 'context' => 'terms.names_dashed',
+ 'context_optional' => 1,
+ 'panel' => '0',
+ 'fixed' => '',
+ 'label' => 'Content: Has taxonomy term ID',
+ ),
+ );
+
+ /* Display: Session Summary */
+ $handler = $view->new_display('block', 'Session Summary', 'block_session_summary');
+ $handler->display->display_options['defaults']['use_more'] = FALSE;
+ $handler->display->display_options['use_more'] = TRUE;
+ $handler->display->display_options['defaults']['use_more_always'] = FALSE;
+ $handler->display->display_options['defaults']['use_more_always'] = FALSE;
+ $handler->display->display_options['use_more_always'] = FALSE;
+ $handler->display->display_options['defaults']['use_more_text'] = FALSE;
+ $handler->display->display_options['use_more_text'] = 'more sessions';
+ $handler->display->display_options['defaults']['pager'] = FALSE;
+ $handler->display->display_options['pager']['type'] = 'some';
+ $handler->display->display_options['pager']['options']['items_per_page'] = '8';
+ $handler->display->display_options['pager']['options']['offset'] = '0';
+ $handler->display->display_options['defaults']['style_plugin'] = FALSE;
+ $handler->display->display_options['style_plugin'] = 'default';
+ $handler->display->display_options['defaults']['style_options'] = FALSE;
+ $handler->display->display_options['defaults']['row_plugin'] = FALSE;
+ $handler->display->display_options['row_plugin'] = 'fields';
+ $handler->display->display_options['defaults']['row_options'] = FALSE;
+ $handler->display->display_options['defaults']['header'] = FALSE;
+ $handler->display->display_options['defaults']['footer'] = FALSE;
+ /* Footer: Global: Session Track Link */
+ $handler->display->display_options['footer']['sessions_more_link']['id'] = 'sessions_more_link';
+ $handler->display->display_options['footer']['sessions_more_link']['table'] = 'views';
+ $handler->display->display_options['footer']['sessions_more_link']['field'] = 'sessions_more_link';
+ $handler->display->display_options['footer']['sessions_more_link']['label'] = '';
+ $handler->display->display_options['footer']['sessions_more_link']['element_label_colon'] = FALSE;
+ $handler->display->display_options['defaults']['fields'] = FALSE;
+ /* Field: Content: Title */
+ $handler->display->display_options['fields']['title']['id'] = 'title';
+ $handler->display->display_options['fields']['title']['table'] = 'node';
+ $handler->display->display_options['fields']['title']['field'] = 'title';
+ $handler->display->display_options['fields']['title']['label'] = '';
+ $handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
+ $handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
+ $handler->display->display_options['fields']['title']['element_type'] = 'h3';
+ $handler->display->display_options['fields']['title']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['title']['element_default_classes'] = FALSE;
+ $handler->display->display_options['fields']['title']['hide_alter_empty'] = FALSE;
+ /* Field: Content: Speaker(s) */
+ $handler->display->display_options['fields']['field_speakers']['id'] = 'field_speakers';
+ $handler->display->display_options['fields']['field_speakers']['table'] = 'field_data_field_speakers';
+ $handler->display->display_options['fields']['field_speakers']['field'] = 'field_speakers';
+ $handler->display->display_options['fields']['field_speakers']['label'] = '';
+ $handler->display->display_options['fields']['field_speakers']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['field_speakers']['hide_alter_empty'] = FALSE;
+ $handler->display->display_options['fields']['field_speakers']['settings'] = array(
+ 'link' => 1,
+ );
+ $handler->display->display_options['fields']['field_speakers']['delta_offset'] = '0';
+ $handler->display->display_options['defaults']['sorts'] = FALSE;
+ /* Sort criterion: Content: Title */
+ $handler->display->display_options['sorts']['title']['id'] = 'title';
+ $handler->display->display_options['sorts']['title']['table'] = 'node';
+ $handler->display->display_options['sorts']['title']['field'] = 'title';
+ $handler->display->display_options['sorts']['title']['expose']['label'] = 'Title';
+ $handler->display->display_options['defaults']['arguments'] = FALSE;
+ /* Contextual filter: Content: Has taxonomy term ID */
+ $handler->display->display_options['arguments']['tid']['id'] = 'tid';
+ $handler->display->display_options['arguments']['tid']['table'] = 'taxonomy_index';
+ $handler->display->display_options['arguments']['tid']['field'] = 'tid';
+ $handler->display->display_options['arguments']['tid']['default_action'] = 'empty';
+ $handler->display->display_options['arguments']['tid']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['tid']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['tid']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['tid']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['arguments']['tid']['specify_validation'] = TRUE;
+ $handler->display->display_options['arguments']['tid']['validate']['type'] = 'taxonomy_term';
+ $handler->display->display_options['arguments']['tid']['validate']['fail'] = 'empty';
+ /* Contextual filter: Content: Status (field_accepted) */
+ $handler->display->display_options['arguments']['field_accepted_value']['id'] = 'field_accepted_value';
+ $handler->display->display_options['arguments']['field_accepted_value']['table'] = 'field_data_field_accepted';
+ $handler->display->display_options['arguments']['field_accepted_value']['field'] = 'field_accepted_value';
+ $handler->display->display_options['arguments']['field_accepted_value']['default_action'] = 'empty';
+ $handler->display->display_options['arguments']['field_accepted_value']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['field_accepted_value']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['field_accepted_value']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['field_accepted_value']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['arguments']['field_accepted_value']['specify_validation'] = TRUE;
+ $handler->display->display_options['arguments']['field_accepted_value']['validate']['fail'] = 'empty';
+ $handler->display->display_options['arguments']['field_accepted_value']['limit'] = '0';
+ $handler->display->display_options['defaults']['filter_groups'] = FALSE;
+ $handler->display->display_options['defaults']['filters'] = FALSE;
+ /* Filter criterion: Content: Published */
+ $handler->display->display_options['filters']['status']['id'] = 'status';
+ $handler->display->display_options['filters']['status']['table'] = 'node';
+ $handler->display->display_options['filters']['status']['field'] = 'status';
+ $handler->display->display_options['filters']['status']['value'] = 1;
+ $handler->display->display_options['filters']['status']['group'] = 1;
+ $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
+ /* Filter criterion: Content: Type */
+ $handler->display->display_options['filters']['type']['id'] = 'type';
+ $handler->display->display_options['filters']['type']['table'] = 'node';
+ $handler->display->display_options['filters']['type']['field'] = 'type';
+ $handler->display->display_options['filters']['type']['value'] = array(
+ 'session' => 'session',
+ );
+ $handler->display->display_options['filters']['type']['group'] = 1;
$export['cod_session_sessions'] = $view;
$view = new view();
@@ -1804,22 +2103,20 @@ function cod_session_views_default_views() {
$handler->display->display_options['fields']['count_1']['label'] = 'Attending';
$handler->display->display_options['fields']['count_1']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['count_1']['separator'] = '';
- if (module_exists('cod_session_ranking')) {
- /* Field: Content: Session Rank */
- $handler->display->display_options['fields']['field_session_ranking']['id'] = 'field_session_ranking';
- $handler->display->display_options['fields']['field_session_ranking']['table'] = 'field_data_field_session_ranking';
- $handler->display->display_options['fields']['field_session_ranking']['field'] = 'field_session_ranking';
- $handler->display->display_options['fields']['field_session_ranking']['label'] = 'Moderation Ranking';
- $handler->display->display_options['fields']['field_session_ranking']['click_sort_column'] = 'rating';
- $handler->display->display_options['fields']['field_session_ranking']['settings'] = array(
- 'widget' => array(
- 'fivestar_widget' => 'default',
- ),
- 'expose' => 1,
- 'style' => 'smart',
- 'text' => 'average',
- );
- }
+ /* Field: Content: Session Rank */
+ $handler->display->display_options['fields']['field_session_ranking']['id'] = 'field_session_ranking';
+ $handler->display->display_options['fields']['field_session_ranking']['table'] = 'field_data_field_session_ranking';
+ $handler->display->display_options['fields']['field_session_ranking']['field'] = 'field_session_ranking';
+ $handler->display->display_options['fields']['field_session_ranking']['label'] = 'Moderation Ranking';
+ $handler->display->display_options['fields']['field_session_ranking']['click_sort_column'] = 'rating';
+ $handler->display->display_options['fields']['field_session_ranking']['settings'] = array(
+ 'widget' => array(
+ 'fivestar_widget' => 'default',
+ ),
+ 'expose' => 1,
+ 'style' => 'smart',
+ 'text' => 'average',
+ );
$handler->display->display_options['defaults']['sorts'] = FALSE;
/* Sort criterion: Content: Nid */
$handler->display->display_options['sorts']['nid']['id'] = 'nid';
@@ -1832,14 +2129,12 @@ function cod_session_views_default_views() {
$handler->display->display_options['sorts']['title']['field'] = 'title';
$handler->display->display_options['sorts']['title']['relationship'] = 'field_room_slots_types_allowed_node';
$handler->display->display_options['sorts']['title']['expose']['label'] = 'Title';
- if (module_exists('cod_session_ranking')) {
- /* Sort criterion: Content: Session Rank (field_session_ranking:rating) */
- $handler->display->display_options['sorts']['field_session_ranking_rating']['id'] = 'field_session_ranking_rating';
- $handler->display->display_options['sorts']['field_session_ranking_rating']['table'] = 'field_data_field_session_ranking';
- $handler->display->display_options['sorts']['field_session_ranking_rating']['field'] = 'field_session_ranking_rating';
- $handler->display->display_options['sorts']['field_session_ranking_rating']['exposed'] = TRUE;
- $handler->display->display_options['sorts']['field_session_ranking_rating']['expose']['label'] = 'Session Rank';
- }
+ /* Sort criterion: Content: Session Rank (field_session_ranking:rating) */
+ $handler->display->display_options['sorts']['field_session_ranking_rating']['id'] = 'field_session_ranking_rating';
+ $handler->display->display_options['sorts']['field_session_ranking_rating']['table'] = 'field_data_field_session_ranking';
+ $handler->display->display_options['sorts']['field_session_ranking_rating']['field'] = 'field_session_ranking_rating';
+ $handler->display->display_options['sorts']['field_session_ranking_rating']['exposed'] = TRUE;
+ $handler->display->display_options['sorts']['field_session_ranking_rating']['expose']['label'] = 'Session Rank';
$handler->display->display_options['defaults']['arguments'] = FALSE;
/* Contextual filter: OG membership: Group ID */
$handler->display->display_options['arguments']['gid']['id'] = 'gid';
@@ -1893,7 +2188,7 @@ function cod_session_views_default_views() {
$handler->display->display_options['filters']['field_accepted_value_1']['table'] = 'field_data_field_accepted';
$handler->display->display_options['filters']['field_accepted_value_1']['field'] = 'field_accepted_value';
$handler->display->display_options['filters']['field_accepted_value_1']['value'] = array(
- 'unprocessed' => 'unprocessed',
+ 'proposed' => 'proposed',
'accepted' => 'accepted',
'declined' => 'declined',
'featured' => 'featured',
@@ -2178,12 +2473,12 @@ function cod_session_views_default_views() {
$handler->display->display_options['fields']['field_speakers']['table'] = 'field_data_field_speakers';
$handler->display->display_options['fields']['field_speakers']['field'] = 'field_speakers';
$handler->display->display_options['fields']['field_speakers']['element_label_colon'] = FALSE;
- /* Field: Field: First name */
+ /* Field: User: First name */
$handler->display->display_options['fields']['field_profile_first']['id'] = 'field_profile_first';
$handler->display->display_options['fields']['field_profile_first']['table'] = 'field_data_field_profile_first';
$handler->display->display_options['fields']['field_profile_first']['field'] = 'field_profile_first';
$handler->display->display_options['fields']['field_profile_first']['relationship'] = 'field_speakers_target_id';
- /* Field: Field: Last name */
+ /* Field: User: Last name */
$handler->display->display_options['fields']['field_profile_last']['id'] = 'field_profile_last';
$handler->display->display_options['fields']['field_profile_last']['table'] = 'field_data_field_profile_last';
$handler->display->display_options['fields']['field_profile_last']['field'] = 'field_profile_last';
@@ -2224,28 +2519,28 @@ function cod_session_views_default_views() {
);
$handler->display->display_options['filters']['field_accepted_value']['group'] = 1;
- /* Display: Page: Unprocessed */
- $handler = $view->new_display('page', 'Page: Unprocessed', 'page_1');
+ /* Display: Page: Proposed */
+ $handler = $view->new_display('page', 'Page: Proposed', 'page_1');
$handler->display->display_options['defaults']['title'] = FALSE;
- $handler->display->display_options['title'] = 'Email speakers of unprocessed sessions';
- $handler->display->display_options['display_description'] = 'Email speakers of unprocessed sessions';
+ $handler->display->display_options['title'] = 'Email speakers of proposed sessions';
+ $handler->display->display_options['display_description'] = 'Email speakers of proposed sessions';
$handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
$handler->display->display_options['defaults']['header'] = FALSE;
/* Header: Global: Text area */
$handler->display->display_options['header']['area']['id'] = 'area';
$handler->display->display_options['header']['area']['table'] = 'views';
$handler->display->display_options['header']['area']['field'] = 'area';
- $handler->display->display_options['header']['area']['label'] = 'Unprocessed speakers';
+ $handler->display->display_options['header']['area']['label'] = 'Proposed speakers';
$handler->display->display_options['header']['area']['empty'] = TRUE;
- $handler->display->display_options['header']['area']['content'] = 'Each speaker will receive one email per unprocessed session submission.';
+ $handler->display->display_options['header']['area']['content'] = 'Each speaker will receive one email per proposed session submission.';
$handler->display->display_options['header']['area']['format'] = 'filtered_html';
$handler->display->display_options['defaults']['empty'] = FALSE;
/* 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'] = 'No unprocessed speakers';
- $handler->display->display_options['empty']['area']['content'] = 'There are no unprocessed speakers at the moment. ';
+ $handler->display->display_options['empty']['area']['label'] = 'No proposed speakers';
+ $handler->display->display_options['empty']['area']['content'] = 'There are no proposed speakers at the moment. ';
$handler->display->display_options['empty']['area']['format'] = 'filtered_html';
$handler->display->display_options['defaults']['filter_groups'] = FALSE;
$handler->display->display_options['defaults']['filters'] = FALSE;
@@ -2269,13 +2564,13 @@ function cod_session_views_default_views() {
$handler->display->display_options['filters']['field_accepted_value']['table'] = 'field_data_field_accepted';
$handler->display->display_options['filters']['field_accepted_value']['field'] = 'field_accepted_value';
$handler->display->display_options['filters']['field_accepted_value']['value'] = array(
- 'unprocessed' => 'unprocessed',
+ 'proposed' => 'proposed',
);
$handler->display->display_options['filters']['field_accepted_value']['group'] = 1;
- $handler->display->display_options['path'] = 'admin/conference/%/speakers/unprocessed';
+ $handler->display->display_options['path'] = 'admin/conference/%/speakers/proposed';
$handler->display->display_options['menu']['type'] = 'default tab';
- $handler->display->display_options['menu']['title'] = 'Unprocessed';
- $handler->display->display_options['menu']['description'] = 'Email speakers of unprocessed sessions.';
+ $handler->display->display_options['menu']['title'] = 'Proposed';
+ $handler->display->display_options['menu']['description'] = 'Email speakers of proposed sessions.';
$handler->display->display_options['menu']['weight'] = '-30';
$handler->display->display_options['tab_options']['type'] = 'tab';
$handler->display->display_options['tab_options']['title'] = 'Speakers';
@@ -2943,7 +3238,7 @@ function cod_session_views_default_views() {
$handler->display->display_options['arguments']['machine_name']['limit'] = '0';
/* Display: Content pane */
- $handler = $view->new_display('panel_pane', 'Content pane', 'panel_pane_1');
+ $handler = $view->new_display('panel_pane', 'Content pane', 'track_session_admin');
$handler->display->display_options['allow']['use_pager'] = 0;
$handler->display->display_options['allow']['items_per_page'] = 0;
$handler->display->display_options['allow']['offset'] = 0;
@@ -2963,6 +3258,309 @@ function cod_session_views_default_views() {
'label' => 'Taxonomy vocabulary: Machine name',
),
);
+
+ /* Display: Session Filter */
+ $handler = $view->new_display('panel_pane', 'Session Filter', 'track_session_filter');
+ $handler->display->display_options['defaults']['style_plugin'] = FALSE;
+ $handler->display->display_options['style_plugin'] = 'list';
+ $handler->display->display_options['style_options']['row_class'] = '[name_1]';
+ $handler->display->display_options['defaults']['style_options'] = FALSE;
+ $handler->display->display_options['defaults']['row_plugin'] = FALSE;
+ $handler->display->display_options['row_plugin'] = 'fields';
+ $handler->display->display_options['defaults']['row_options'] = FALSE;
+ $handler->display->display_options['defaults']['fields'] = FALSE;
+ /* Field: Taxonomy term: Term ID */
+ $handler->display->display_options['fields']['tid']['id'] = 'tid';
+ $handler->display->display_options['fields']['tid']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['tid']['field'] = 'tid';
+ $handler->display->display_options['fields']['tid']['label'] = '';
+ $handler->display->display_options['fields']['tid']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['tid']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['tid']['separator'] = '';
+ /* Field: Taxonomy term: Name */
+ $handler->display->display_options['fields']['name_1']['id'] = 'name_1';
+ $handler->display->display_options['fields']['name_1']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['name_1']['field'] = 'name';
+ $handler->display->display_options['fields']['name_1']['label'] = '';
+ $handler->display->display_options['fields']['name_1']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['name_1']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['name_1']['case'] = 'lower';
+ $handler->display->display_options['fields']['name_1']['convert_spaces'] = TRUE;
+ /* Field: Taxonomy term: Name */
+ $handler->display->display_options['fields']['name']['id'] = 'name';
+ $handler->display->display_options['fields']['name']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['name']['field'] = 'name';
+ $handler->display->display_options['fields']['name']['label'] = '';
+ $handler->display->display_options['fields']['name']['alter']['text'] = '[name]';
+ $handler->display->display_options['fields']['name']['alter']['make_link'] = TRUE;
+ $handler->display->display_options['fields']['name']['alter']['path'] = '2015/sessions/accepted/[tid]';
+ $handler->display->display_options['fields']['name']['alter']['path_case'] = 'lower';
+ $handler->display->display_options['fields']['name']['alter']['alt'] = '%2';
+ $handler->display->display_options['fields']['name']['alter']['link_class'] = '!2';
+ $handler->display->display_options['fields']['name']['alter']['word_boundary'] = FALSE;
+ $handler->display->display_options['fields']['name']['alter']['ellipsis'] = FALSE;
+ $handler->display->display_options['fields']['name']['element_class'] = '!2';
+ $handler->display->display_options['fields']['name']['element_label_colon'] = FALSE;
+ /* Field: Taxonomy term: Session Track Link */
+ $handler->display->display_options['fields']['session_track_link']['id'] = 'session_track_link';
+ $handler->display->display_options['fields']['session_track_link']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['session_track_link']['field'] = 'session_track_link';
+ $handler->display->display_options['fields']['session_track_link']['label'] = '';
+ $handler->display->display_options['fields']['session_track_link']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['session_track_link']['element_label_colon'] = FALSE;
+ $handler->display->display_options['defaults']['sorts'] = FALSE;
+ /* Sort criterion: Taxonomy term: Weight */
+ $handler->display->display_options['sorts']['weight']['id'] = 'weight';
+ $handler->display->display_options['sorts']['weight']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['sorts']['weight']['field'] = 'weight';
+ $handler->display->display_options['defaults']['arguments'] = FALSE;
+ /* Contextual filter: Taxonomy vocabulary: Machine name */
+ $handler->display->display_options['arguments']['machine_name']['id'] = 'machine_name';
+ $handler->display->display_options['arguments']['machine_name']['table'] = 'taxonomy_vocabulary';
+ $handler->display->display_options['arguments']['machine_name']['field'] = 'machine_name';
+ $handler->display->display_options['arguments']['machine_name']['default_action'] = 'not found';
+ $handler->display->display_options['arguments']['machine_name']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['machine_name']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['machine_name']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['machine_name']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['arguments']['machine_name']['limit'] = '0';
+ /* Contextual filter: Session Status */
+ $handler->display->display_options['arguments']['null']['id'] = 'null';
+ $handler->display->display_options['arguments']['null']['table'] = 'views';
+ $handler->display->display_options['arguments']['null']['field'] = 'null';
+ $handler->display->display_options['arguments']['null']['ui_name'] = 'Session Status';
+ $handler->display->display_options['arguments']['null']['default_action'] = 'not found';
+ $handler->display->display_options['arguments']['null']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['null']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['null']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['null']['summary_options']['items_per_page'] = '25';
+ /* Contextual filter: Session Track Name */
+ $handler->display->display_options['arguments']['null_1']['id'] = 'null_1';
+ $handler->display->display_options['arguments']['null_1']['table'] = 'views';
+ $handler->display->display_options['arguments']['null_1']['field'] = 'null';
+ $handler->display->display_options['arguments']['null_1']['ui_name'] = 'Session Track Name';
+ $handler->display->display_options['arguments']['null_1']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['null_1']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['null_1']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['null_1']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['argument_input'] = array(
+ 'machine_name' => array(
+ 'type' => 'user',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => '',
+ 'label' => 'Taxonomy vocabulary: Machine name',
+ ),
+ 'null' => array(
+ 'type' => 'user',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => '',
+ 'label' => 'Event NID',
+ ),
+ 'null_1' => array(
+ 'type' => 'user',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => '',
+ 'label' => 'Track ID',
+ ),
+ );
+
+ /* Display: Session Track Group */
+ $handler = $view->new_display('panel_pane', 'Session Track Group', 'track_session_summary');
+ $handler->display->display_options['defaults']['style_plugin'] = FALSE;
+ $handler->display->display_options['style_plugin'] = 'default';
+ $handler->display->display_options['style_options']['row_class'] = '[name]';
+ $handler->display->display_options['defaults']['style_options'] = FALSE;
+ $handler->display->display_options['defaults']['row_plugin'] = FALSE;
+ $handler->display->display_options['row_plugin'] = 'fields';
+ $handler->display->display_options['defaults']['row_options'] = FALSE;
+ $handler->display->display_options['defaults']['fields'] = FALSE;
+ /* Field: Taxonomy term: Term ID */
+ $handler->display->display_options['fields']['tid']['id'] = 'tid';
+ $handler->display->display_options['fields']['tid']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['tid']['field'] = 'tid';
+ $handler->display->display_options['fields']['tid']['label'] = '';
+ $handler->display->display_options['fields']['tid']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['tid']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['tid']['separator'] = '';
+ /* Field: Taxonomy term: Name */
+ $handler->display->display_options['fields']['name']['id'] = 'name';
+ $handler->display->display_options['fields']['name']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['name']['field'] = 'name';
+ $handler->display->display_options['fields']['name']['label'] = '';
+ $handler->display->display_options['fields']['name']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['name']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['name']['case'] = 'lower';
+ $handler->display->display_options['fields']['name']['convert_spaces'] = TRUE;
+ /* Field: Taxonomy term: Session Track Link */
+ $handler->display->display_options['fields']['session_track_link']['id'] = 'session_track_link';
+ $handler->display->display_options['fields']['session_track_link']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['session_track_link']['field'] = 'session_track_link';
+ $handler->display->display_options['fields']['session_track_link']['label'] = '';
+ $handler->display->display_options['fields']['session_track_link']['element_type'] = 'h2';
+ $handler->display->display_options['fields']['session_track_link']['element_label_colon'] = FALSE;
+ /* Field: Global: View */
+ $handler->display->display_options['fields']['view']['id'] = 'view';
+ $handler->display->display_options['fields']['view']['table'] = 'views';
+ $handler->display->display_options['fields']['view']['field'] = 'view';
+ $handler->display->display_options['fields']['view']['label'] = '';
+ $handler->display->display_options['fields']['view']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['view']['view'] = 'cod_session_sessions';
+ $handler->display->display_options['fields']['view']['display'] = 'block_session_summary';
+ $handler->display->display_options['fields']['view']['arguments'] = '[!tid]/!2';
+ $handler->display->display_options['defaults']['arguments'] = FALSE;
+ /* Contextual filter: Taxonomy vocabulary: Machine name */
+ $handler->display->display_options['arguments']['machine_name']['id'] = 'machine_name';
+ $handler->display->display_options['arguments']['machine_name']['table'] = 'taxonomy_vocabulary';
+ $handler->display->display_options['arguments']['machine_name']['field'] = 'machine_name';
+ $handler->display->display_options['arguments']['machine_name']['default_action'] = 'empty';
+ $handler->display->display_options['arguments']['machine_name']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['machine_name']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['machine_name']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['machine_name']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['arguments']['machine_name']['limit'] = '0';
+ /* Contextual filter: Global: Null */
+ $handler->display->display_options['arguments']['null']['id'] = 'null';
+ $handler->display->display_options['arguments']['null']['table'] = 'views';
+ $handler->display->display_options['arguments']['null']['field'] = 'null';
+ $handler->display->display_options['arguments']['null']['default_action'] = 'empty';
+ $handler->display->display_options['arguments']['null']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['null']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['null']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['null']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['argument_input'] = array(
+ 'machine_name' => array(
+ 'type' => 'user',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => '',
+ 'label' => 'Taxonomy vocabulary: Machine name',
+ ),
+ 'null' => array(
+ 'type' => 'user',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => '',
+ 'label' => 'Session Status',
+ ),
+ );
+
+ /* Display: Session Schedule Filter */
+ $handler = $view->new_display('panel_pane', 'Session Schedule Filter', 'schedule_session_tracks');
+ $handler->display->display_options['defaults']['style_plugin'] = FALSE;
+ $handler->display->display_options['style_plugin'] = 'list';
+ $handler->display->display_options['style_options']['row_class'] = '[name_1]';
+ $handler->display->display_options['defaults']['style_options'] = FALSE;
+ $handler->display->display_options['defaults']['row_plugin'] = FALSE;
+ $handler->display->display_options['row_plugin'] = 'fields';
+ $handler->display->display_options['defaults']['row_options'] = FALSE;
+ $handler->display->display_options['defaults']['fields'] = FALSE;
+ /* Field: Taxonomy term: Term ID */
+ $handler->display->display_options['fields']['tid']['id'] = 'tid';
+ $handler->display->display_options['fields']['tid']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['tid']['field'] = 'tid';
+ $handler->display->display_options['fields']['tid']['label'] = '';
+ $handler->display->display_options['fields']['tid']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['tid']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['tid']['separator'] = '';
+ /* Field: Taxonomy term: Name */
+ $handler->display->display_options['fields']['name_1']['id'] = 'name_1';
+ $handler->display->display_options['fields']['name_1']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['name_1']['field'] = 'name';
+ $handler->display->display_options['fields']['name_1']['label'] = '';
+ $handler->display->display_options['fields']['name_1']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['name_1']['element_label_colon'] = FALSE;
+ $handler->display->display_options['fields']['name_1']['case'] = 'lower';
+ $handler->display->display_options['fields']['name_1']['convert_spaces'] = TRUE;
+ /* Field: Taxonomy term: Name */
+ $handler->display->display_options['fields']['name']['id'] = 'name';
+ $handler->display->display_options['fields']['name']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['name']['field'] = 'name';
+ $handler->display->display_options['fields']['name']['label'] = '';
+ $handler->display->display_options['fields']['name']['alter']['alter_text'] = TRUE;
+ $handler->display->display_options['fields']['name']['alter']['text'] = '[name]';
+ $handler->display->display_options['fields']['name']['alter']['path'] = '!3?track_id=[tid]';
+ $handler->display->display_options['fields']['name']['alter']['path_case'] = 'lower';
+ $handler->display->display_options['fields']['name']['alter']['alt'] = '%2';
+ $handler->display->display_options['fields']['name']['alter']['link_class'] = '!2';
+ $handler->display->display_options['fields']['name']['alter']['word_boundary'] = FALSE;
+ $handler->display->display_options['fields']['name']['alter']['ellipsis'] = FALSE;
+ $handler->display->display_options['fields']['name']['element_class'] = '!2';
+ $handler->display->display_options['fields']['name']['element_label_colon'] = FALSE;
+ /* Field: Taxonomy term: Session Track Link */
+ $handler->display->display_options['fields']['session_track_link']['id'] = 'session_track_link';
+ $handler->display->display_options['fields']['session_track_link']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['fields']['session_track_link']['field'] = 'session_track_link';
+ $handler->display->display_options['fields']['session_track_link']['label'] = '';
+ $handler->display->display_options['fields']['session_track_link']['exclude'] = TRUE;
+ $handler->display->display_options['fields']['session_track_link']['element_label_colon'] = FALSE;
+ $handler->display->display_options['defaults']['sorts'] = FALSE;
+ /* Sort criterion: Taxonomy term: Weight */
+ $handler->display->display_options['sorts']['weight']['id'] = 'weight';
+ $handler->display->display_options['sorts']['weight']['table'] = 'taxonomy_term_data';
+ $handler->display->display_options['sorts']['weight']['field'] = 'weight';
+ $handler->display->display_options['defaults']['arguments'] = FALSE;
+ /* Contextual filter: Taxonomy vocabulary: Machine name */
+ $handler->display->display_options['arguments']['machine_name']['id'] = 'machine_name';
+ $handler->display->display_options['arguments']['machine_name']['table'] = 'taxonomy_vocabulary';
+ $handler->display->display_options['arguments']['machine_name']['field'] = 'machine_name';
+ $handler->display->display_options['arguments']['machine_name']['default_action'] = 'not found';
+ $handler->display->display_options['arguments']['machine_name']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['machine_name']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['machine_name']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['machine_name']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['arguments']['machine_name']['limit'] = '0';
+ /* Contextual filter: Session Track Name */
+ $handler->display->display_options['arguments']['null_1']['id'] = 'null_1';
+ $handler->display->display_options['arguments']['null_1']['table'] = 'views';
+ $handler->display->display_options['arguments']['null_1']['field'] = 'null';
+ $handler->display->display_options['arguments']['null_1']['ui_name'] = 'Session Track Name';
+ $handler->display->display_options['arguments']['null_1']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['null_1']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['null_1']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['null_1']['summary_options']['items_per_page'] = '25';
+ /* Contextual filter: Day */
+ $handler->display->display_options['arguments']['null']['id'] = 'null';
+ $handler->display->display_options['arguments']['null']['table'] = 'views';
+ $handler->display->display_options['arguments']['null']['field'] = 'null';
+ $handler->display->display_options['arguments']['null']['ui_name'] = 'Day';
+ $handler->display->display_options['arguments']['null']['default_argument_type'] = 'fixed';
+ $handler->display->display_options['arguments']['null']['summary']['number_of_records'] = '0';
+ $handler->display->display_options['arguments']['null']['summary']['format'] = 'default_summary';
+ $handler->display->display_options['arguments']['null']['summary_options']['items_per_page'] = '25';
+ $handler->display->display_options['argument_input'] = array(
+ 'machine_name' => array(
+ 'type' => 'user',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => '',
+ 'label' => 'Taxonomy vocabulary: Machine name',
+ ),
+ 'null_1' => array(
+ 'type' => 'user',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => '',
+ 'label' => 'Track ID',
+ ),
+ 'null' => array(
+ 'type' => 'user',
+ 'context' => 'entity:comment.author',
+ 'context_optional' => 0,
+ 'panel' => '0',
+ 'fixed' => '',
+ 'label' => 'Day',
+ ),
+ );
$export['cod_session_tracks'] = $view;
$view = new view();
@@ -3031,7 +3629,7 @@ function cod_session_views_default_views() {
);
/* Display: Page */
- $handler = $view->new_display('page', 'Page', 'page');
+ $handler = $view->new_display('page', 'Page', 'page_sessions_mine');
$handler->display->display_options['path'] = 'user/%/sessions';
$handler->display->display_options['menu']['type'] = 'tab';
$handler->display->display_options['menu']['title'] = 'My Sessions';
diff --git a/cod_session/views/cod_session_views_handler_field_track_link.inc b/cod_session/views/cod_session_views_handler_field_track_link.inc
new file mode 100644
index 0000000000000000000000000000000000000000..d4e3b22eacfe63a3678903f62e3b6f7a7a3c7779
--- /dev/null
+++ b/cod_session/views/cod_session_views_handler_field_track_link.inc
@@ -0,0 +1,68 @@
+ensure_my_table();
+ $this->add_additional_fields();
+ }
+
+ /*
+ * This render array is specifically designed to work with cod_sessions_tracks
+ * View. Eventually it'd be good to not hard code the arguments and get them
+ * from context.
+ */
+ function render($values) {
+ if ($values === TRUE) {
+ return;
+ }
+
+ // Generate as link.
+ $this->options['alter']['make_link'] = TRUE;
+
+ // Get the host (event) entity.
+ $attributes = array();
+ $more_prefix = '';
+ $more_suffix = '';
+ // Get the current taxonomy term, if its set
+ $path = current_path();
+ // Making a global more link requires some changes
+ if ($this->field == 'sessions_more_link' && $values === FALSE) {
+ $values = new stdClass();
+ $values->taxonomy_term_data_name = $this->view->argument['tid']->validated_title;
+ }
+ if (isset($this->view->args[2])) {
+ $path = substr(current_path(), 0, strrpos(current_path(), '/'));
+ if ($this->view->args[2] == $values->tid) {
+ $attributes = array('attributes' => array('class' => array('clicked')));
+ $active = TRUE;
+ }
+ }
+ if (!isset($active)) {
+ $path = $path . '/' . str_replace(' ', '-', $this->case_transform($values->taxonomy_term_data_name, 'lower'));
+ }
+
+ return l($more_prefix . $values->taxonomy_term_data_name . $more_suffix, $path, $attributes);
+ }
+}