diff --git a/uc_views_bulk_operations/uc_views_bulk_operations.module b/uc_views_bulk_operations/uc_views_bulk_operations.module
index 08668df..c5d4beb 100644
--- a/uc_views_bulk_operations/uc_views_bulk_operations.module
+++ b/uc_views_bulk_operations/uc_views_bulk_operations.module
@@ -1,4 +1,5 @@
 <?php
+// $Id: uc_views_bulk_operations.module,v 1.1.2.1.2.8 2010/11/18 16:08:27 longwave Exp $
 
 /**
  * Implementation of hook_views_api().
@@ -34,6 +35,11 @@ function uc_views_bulk_operations_action_info() {
       'description' => t('Add to cart'),
       'configurable' => FALSE,
     ),
+    'uc_views_bulk_operations_change_state_action' => array(
+    	'type' => 'order',
+    	'description' => t('Move to state'),
+    	'configurable' => TRUE,
+    ),
   );
 }
 
@@ -121,6 +127,38 @@ function uc_views_bulk_operations_add_to_cart_action($node) {
 }
 
 /**
+ * "Move to state" order action
+ */
+function uc_views_bulk_operations_change_state_action_form($context) {
+  $states = uc_order_status_list();
+  $options_states = array();
+  foreach ($states as $key => $state) {
+  	$options_states[$state['id']] = t($state['title']);
+  }
+  $form['state'] = array(
+  	'#type' => 'select', 
+  	'#title' => t('Update orders to status'),
+  	'#options' => $options_states,
+	);
+
+  return $form;
+}
+
+function uc_views_bulk_operations_change_state_action_submit($form, $form_state) {
+  return array(
+  	'new_state' => $form_state['values']['state']
+  );
+}
+
+function uc_views_bulk_operations_change_state_action($order, $context) {
+	$order_id = $order->order_id;
+  if ($context['new_state']) {
+    uc_order_update_status($order_id, $context['new_state']);
+    drupal_set_message(t('Order #!order_id updated to status: !status', array('!order_id' => $order_id, '!status' => $context['new_state'])));
+  }
+}
+
+/**
  * Implementation of hook_perm().
  */
 function uc_views_bulk_operations_perm() {
