﻿Index: includes/date_api_argument_handler.inc
===================================================================
RCS file: /cvs/drupal/contributions/modules/date/includes/date_api_argument_handler.inc,v
retrieving revision 1.1.2.37
diff -u -r1.1.2.37 date_api_argument_handler.inc
--- includes/date_api_argument_handler.inc	26 Mar 2009 08:47:11 -0000	1.1.2.37
+++ includes/date_api_argument_handler.inc	22 Jul 2009 07:41:31 -0000
@@ -341,6 +341,12 @@
         $date_handler = $query_field['date_handler'];
         $from_field = str_replace($field['table_name'] .'_', $field['table_name'] .'.', $field['fromto'][0]);
         $to_field = str_replace($field['table_name'] .'_', $field['table_name'] .'.', $field['fromto'][1]);
+        if ($this->options['relationship'] !== 'none') {
+          $from_field = str_replace($field['table_name'] .'_', $this->relationship .'_'. $field['table_name'] .'.', $field['fromto'][0]);
+          $to_field = str_replace($field['table_name'] .'_', $this->relationship .'_'.  $field['table_name'] .'.', $field['fromto'][1]);
+          $this->table = $this->query_fields[0]['field']['table_name'];
+          $this->ensure_my_table();
+        }
         if ($this->granularity != 'week') {
           $from = $date_handler->sql_where_format($format, $from_field, '<=', date_format($max_date, $format));
           $to   = $date_handler->sql_where_format($format, $to_field, '>=', date_format($min_date, $format));
Index: includes/date_api_filter_handler.inc
===================================================================
RCS file: /cvs/drupal/contributions/modules/date/includes/date_api_filter_handler.inc,v
retrieving revision 1.1.2.40
diff -u -r1.1.2.40 date_api_filter_handler.inc
--- includes/date_api_filter_handler.inc	9 Jun 2009 11:12:11 -0000	1.1.2.40
+++ includes/date_api_filter_handler.inc	22 Jul 2009 07:41:31 -0000
@@ -404,11 +404,13 @@
    * AND and OR methods in the right places.
    */
   function query() {
-    $this->ensure_my_table();
     $this->get_query_fields();
+    $this->table = $this->query_fields[0]['field']['table_name'];
+    $this->ensure_my_table();
     if (!empty($this->query_fields)) {
       foreach ((array) $this->query_fields as $query_field) {
         $field = $query_field['field'];
+        $query_field['field']['fullname'] = $this->table_alias. '.' .$field['field_name'];
         $sql = '';
         $sql_parts = array();
         switch ($this->operator) {
