Index: l10n_community/moderate.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_community/Attic/moderate.inc,v
retrieving revision 1.1.2.3
diff -u -p -r1.1.2.3 moderate.inc
--- l10n_community/moderate.inc	18 Sep 2009 18:03:19 -0000	1.1.2.3
+++ l10n_community/moderate.inc	15 Oct 2009 14:49:54 -0000
@@ -53,6 +53,12 @@ function l10n_community_moderation_form(
     '#value' => theme('pager', NULL, $filters['limit'], 0)
   );
   
+  // Send/pass filters
+  $form['filters'] = array(
+    '#type' => 'value',
+    '#value' => $filters,
+  );
+  
   // Keep language code in form for further reference.
   $form['langcode'] = array(
     '#type' => 'value',
@@ -126,6 +132,20 @@ function l10n_community_moderation_form_
   else {
     drupal_set_message(t('No suggestions selected for operation. Please select one or more suggestions to run the operation on.'), 'error');
   }
+
+  $params = $form_state['values']['filters'];
+  $params['project'] = $params['project']->uri;
+  $params['author'] = $params['author']->name;
+  $filters = l10n_community_build_filter_values($params, TRUE);
+  // Replace some values by their string representation.
+  foreach (array('project' => 'uri', 'author' => 'name') as $name => $key) {
+    if (!empty($filters[$name])) {
+      $filters[$name] = $filters[$name]->$key;
+    }
+  }
+
+  // Redirect keeping the relevant filters intact in the URL.
+  $form_state['redirect'] = array($_GET['q'], $filters);
 }
 
 

