Index: draggableviews.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/draggableviews/draggableviews.inc,v
retrieving revision 1.7.2.37
diff -u -p -r1.7.2.37 draggableviews.inc
--- draggableviews.inc	7 Sep 2009 19:14:47 -0000	1.7.2.37
+++ draggableviews.inc	20 May 2010 10:48:01 -0000
@@ -167,25 +167,38 @@ function _draggableviews_info($view, $in
   // Get all nodes and their properties.
   $info['nodes'] = array();
   if (isset($info['order']) && isset($results) && count($results) > 0) {
-    // loop through all resulting nodes
+    // loop through all resulting nodes        
+
+    // determine if field on which to index the ordering is on the base table or a relationship
+    $field = $info['view']->field[$info['order']['field']['field_name']];                               
+    if($relationship = $field->options['relationship']) {
+      $relationship_obj = $field->view->relationship[$relationship];    
+
+      // there must be a better way to get the field alias
+      $base_field_alias = $relationship_obj->alias.'_'.$view->base_field;     
+    } else {
+      $base_field_alias = $view->base_field;
+    }             
+
     foreach ($results as $row) {
       if (is_numeric($row->{$info['order']['field']['field_alias']})) {
-        $info['nodes'][$row->{$view->base_field}]['order'][0] = $info['order']['field']['handler']->get((int)($row->{$info['order']['field']['field_alias']}));
+        $info['nodes'][$row->{$base_field_alias}]['order'][0] = $info['order']['field']['handler']->get((int)($row->{$info['order']['field']['field_alias']}));
       }
       else {
         // Default position of new nodes. We cannot use $view->total_rows instead of 99999999 because
         // $view->total_rows will not be calculated if paging is not used.
-        $info['nodes'][$row->{$view->base_field}]['order'][0] = $info['default_on_top'] == 1 ? -1 : 99999999;
+        $info['nodes'][$row->{$base_field_alias}]['order'][0] = $info['default_on_top'] == 1 ? -1 : 99999999;
       }
       if (isset($info['hierarchy'])) {
-        $info['nodes'][$row->{$view->base_field}]['parent'] = $info['hierarchy']['field']['handler']->get((int)$row->{$info['hierarchy']['field']['field_alias']});
+        $info['nodes'][$row->{$base_field_alias}]['parent'] = $info['hierarchy']['field']['handler']->get((int)$row->{$info['hierarchy']['field']['field_alias']});
       }
     }
-  }
+  }                  
 
   return $info;
 }
 
+
 /*
  * Quick Check Structure
  *
