diff U3 E:/www/drupalista/sites/all/modules/_cck/serial/serial.module D:/Documents and Settings/Francisco/Desktop/serial/serial.module
--- E:/www/drupalista/sites/all/modules/_cck/serial/serial.module	Fri Jan 28 04:10:10 2011
+++ D:/Documents and Settings/Francisco/Desktop/serial/serial.module	Thu Feb 17 07:50:08 2011
@@ -76,18 +76,6 @@
       $old_count = _serial_init_old_nodes($field);
         // (field is not ready yet at serial_content_fieldapi's 'create instance')
 
-      // Show messages:
-      drupal_set_message(
-        t('Serial field %field has been created.',
-          array('%field' => $field['field_name']))
-      );
-      if ($old_count) {
-        drupal_set_message(
-          t('Serial values have been automatically set for %count existing nodes.',
-            array('%count' => $old_count))
-        );
-      }
-
       // Go back to Managed Fields:
       drupal_goto(urldecode($matches[1]));
     }
@@ -99,11 +87,13 @@
  */
 function serial_field($op, &$node, $field, &$items, $teaser, $page) {
   switch ($op) {
-    case 'insert':
-      module_load_include('inc', 'serial');
-      $sid = _serial_generate_value($node->nid, $field);
-      $items = array(array('value' => $sid));
-      $node->$field['field_name'] = $items;
+    case 'presave':
+      if (!isset($node->nid)) {
+        module_load_include('inc', 'serial');
+        $sid = _serial_generate_value($field);
+        $items = array(array('value' => $sid));
+        $node->$field['field_name'] = $items;
+      }
   }
 }
 
