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 11:11:33 -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
+      $info['base_field_alias'] = $relationship_obj->alias.'_'.$view->base_field;     
+    } else {
+      $info['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->{$info['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->{$info['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->{$info['base_field_alias']}]['parent'] = $info['hierarchy']['field']['handler']->get((int)$row->{$info['hierarchy']['field']['field_alias']});
       }
     }
-  }
+  }                  
 
   return $info;
 }
 
+
 /*
  * Quick Check Structure
  *
Index: draggableviews.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/draggableviews/draggableviews.module,v
retrieving revision 1.6.2.37
diff -u -p -r1.6.2.37 draggableviews.module
--- draggableviews.module	8 Apr 2010 07:35:20 -0000	1.6.2.37
+++ draggableviews.module	20 May 2010 11:11:34 -0000
@@ -126,7 +126,7 @@ function draggableviews_view_draggableta
   $info = &$view->draggableviews_info;
 
   foreach ($view->result AS $i => $result) {
-    $nid = $result->{$view->base_field};
+    $nid = $result->{$info['base_field_alias']};
     
     // This for loop should prevent copy->paste'ing code.
     foreach (array('hierarchy', 'order') AS $modus) {
@@ -389,11 +389,11 @@ function draggableviews_view_draggableta
     if (isset($info['order']['field'])) {
       // The input array must have the same structure as the node array.
       // E.g. because of _draggableviews_get_hierarchy_depth(..).
-      $info['input'][$row->{$view->base_field}]['order'][0] = $input[$info['order']['field']['field_name'] .'_'. $row->{$view->base_field}];
+      $info['input'][$row->{$info['base_field_alias']}]['order'][0] = $input[$info['order']['field']['field_name'] .'_'. $row->{$info['base_field_alias']}];
     }
     // Set parent values.
     if (isset($info['hierarchy'])) {
-      $info['input'][$row->{$view->base_field}]['parent'] = $input[$info['hierarchy']['field']['field_name'] .'_'. $row->{$view->base_field}];
+      $info['input'][$row->{$info['base_field_alias']}]['parent'] = $input[$info['hierarchy']['field']['field_name'] .'_'. $row->{$info['base_field_alias']}];
     }
   }
 
