Issue #1238568, Add more checks to pager to bail gracefully when a date argument...
authorKaren Stevenson
Tue, 23 Aug 2011 13:06:21 +0000 (08:06 -0500)
committerKaren Stevenson
Tue, 23 Aug 2011 13:06:21 +0000 (08:06 -0500)
CHANGELOG.txt
includes/calendar_plugin_style.inc
theme/theme.inc

index f0b3c44..80081e9 100644 (file)
@@ -5,6 +5,7 @@ Calendar Module 7.x
 Version 7.x-3.x-dev
 ===================
 
+- Issue #1238568, Add more checks to bail gracefully when a date argument is missing.
 - Issue #1254932 by larsdesigns, Invalid CSS Property in calendar_multiday.css
 - Issue #1254922 by larsdesigns, calendar_multiday.css is not complient with Drupal Coding Standards
 - Issue #1254920 by larsdesigns, calendar.css is not complient with Drupal Coding Standards
index 047a293..fccd1cb 100644 (file)
@@ -208,11 +208,11 @@ class calendar_plugin_style extends views_plugin_style {
 
   function render() {
     if (empty($this->row_plugin) || $this->row_plugin->definition['handler'] != 'calendar_plugin_row_node') {
-      debug('calendar_plugin_style: Missing calendar row plugin');
+      debug('calendar_plugin_style: The calendar row plugin is required for a calendar but it is missing.');
       return;
     }
     if (!$argument = $this->date_argument_handler()) {
-      debug('calendar_plugin_style: Missing date argument');
+      debug('calendar_plugin_style: A date argument is required for a calendar, but it is missing.');
       return;
     }
 
index 3b59cdf..a7d1d56 100644 (file)
@@ -13,7 +13,7 @@ function calendar_preprocess_date_views_pager(&$vars) {
     return;
   }
   $options = $view->style_options;
-
+  
   // If we're not on a view with a path (a page), no links are needed.
   $current_path = !empty($view->display_handler->options['path']) ? $view->display_handler->options['path'] : '';
   if (empty($current_path)) {
@@ -43,13 +43,13 @@ function calendar_preprocess_date_views_pager(&$vars) {
 
   // If an 'Add new ... link is provided, add it here.
   // the query will bring the user back here after adding the node.
-  if (!empty($view->date_info->calendar_date_link) 
+  if (!empty($view->date_info->calendar_date_link) && !empty($view->date_info->url)
   && (user_access("administer nodes") || user_access('create '. $view->date_info->calendar_date_link .' content'))) {
     $name = node_type_get_name($view->date_info->calendar_date_link);
     $href = 'node/add/' . str_replace('_', '-', $view->date_info->calendar_date_link);
-    $query = drupal_get_query_parameters(array('destination' => $view->date_info->url));    
+    $query = drupal_get_query_parameters(array('destination' => $view->date_info->url));
     $calendar_links['calendar calendar-add'] = $base + array(
-      'title' => t('Add+'), 
+      'title' => t('Add+'),
       'href' => $href, 
       'query' => $query,
       );