Index: draggableviews.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/draggableviews/draggableviews.inc,v
retrieving revision 1.7.2.9
diff -u -p -r1.7.2.9 draggableviews.inc
--- draggableviews.inc	8 Feb 2009 17:26:59 -0000	1.7.2.9
+++ draggableviews.inc	8 Feb 2009 22:09:07 -0000
@@ -1,5 +1,5 @@
 <?php
-// $Id: draggableviews.inc,v 1.7.2.9 2009/02/08 17:26:59 sevi Exp $
+// $Id: draggableviews.inc,v 1.7.2.7 2009/01/22 16:05:57 sevi Exp $
 
 /**
  * @file
@@ -15,7 +15,8 @@ function draggableviews_view_draggableta
   $form['submit'] = array(
     '#type' => 'submit',
     '#value' => t('Save'),
-  );
+  );
+  $form['#submit'][] = 'draggableviews_view_draggabletable_form_submit';
 
   return $form;
 }
Index: draggableviews.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/draggableviews/draggableviews.module,v
retrieving revision 1.6.2.4
diff -u -p -r1.6.2.4 draggableviews.module
--- draggableviews.module	22 Jan 2009 16:10:39 -0000	1.6.2.4
+++ draggableviews.module	8 Feb 2009 22:09:07 -0000
@@ -147,18 +147,42 @@ function draggableviews_perm() {
 }
 
 /**
+* Implementing hook_forms
+*/
+function draggableviews_forms() {
+  $args = func_get_args();
+  $form_id = $args[0];
+  if (strpos($form_id, "draggableviews_view_draggabletable_form") === 0) {
+    $forms[$form_id] = array(
+      'callback' => 'draggableviews_view_draggabletable_form',
+    );
+  }
+  return $forms;
+}
+
+/**
  * Implement hook_theme
  */
 function draggableviews_theme() {
-  return array(
-    'draggableviews_ui_style_plugin_draggabletable' => array(
-      'arguments' => array('form' => NULL),
-    ),
-    'draggableviews_view_draggabletable_form' => array(
-      'template' => 'draggableviews-view-draggabletable-form',
-      'arguments' => array('form' => NULL),
-    ),
+  $array = array();
+  $array['draggableviews_ui_style_plugin_draggabletable'] = array(
+    'arguments' => array('form' => NULL),
   );
+
+  // register theme function for all views
+  $views = views_get_all_views();
+  foreach ($views AS $view) {
+    if (!isset($view->disabled) || $view->disabled === FALSE) {
+      $array['draggableviews_view_draggabletable_form_'. $view->name] = array(
+        'template' => 'draggableviews-view-draggabletable-form',
+        'preprocess functions' => array(
+          'template_preprocess_draggableviews_view_draggabletable_form',
+        ),
+        'arguments' => array('form' => NULL),
+      );
+    }
+  }
+  return $array;
 }
 
 /**
Index: views/draggableviews_plugin_style_draggabletable.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/draggableviews/views/draggableviews_plugin_style_draggabletable.inc,v
retrieving revision 1.1.2.3
diff -u -p -r1.1.2.3 draggableviews_plugin_style_draggabletable.inc
--- views/draggableviews_plugin_style_draggabletable.inc	22 Jan 2009 17:08:25 -0000	1.1.2.3
+++ views/draggableviews_plugin_style_draggabletable.inc	8 Feb 2009 22:09:07 -0000
@@ -222,9 +222,10 @@ class draggableviews_plugin_style_dragga
    * Render the draggable table style.
    */
   function render() {
-    // call form handler to wrap around a form.
-    // -> this makes it possible to submit changes.
-    return drupal_get_form('draggableviews_view_draggabletable_form', $this);
+    // We need to wrap around a form to make it possible to submit changes.
+    // Due to the fact that multiple views can be shown on the same page we
+    // need to use an unique form_id every time we call this function.
+    return drupal_get_form('draggableviews_view_draggabletable_form_'. $this->view->name, $this);
   }
 }
 
