static function preItemAdd(CommonDBTM $item, $massiveaction = false)
 {
     $config = PluginGeninventorynumberConfigField::getConfigFieldByItemType(get_class($item));
     if (in_array(get_class($item), PluginGeninventorynumberConfigField::getEnabledItemTypes())) {
         if (!$massiveaction && !Session::haveRight("plugin_geninventorynumber", CREATE)) {
             if (!isCommandLine()) {
                 Session::addMessageAfterRedirect(__('GenerateInventoryNumberDenied', 'geninventorynumber'), true, ERROR);
             }
             return array('noright');
         }
         $tmp = clone $item;
         $values = array();
         if (PluginGeninventorynumberConfig::isGenerationActive() && PluginGeninventorynumberConfigField::isActiveForItemType(get_class($item))) {
             if (!$massiveaction) {
                 $values['otherserial'] = self::autoName($config, $item);
                 if (!isCommandLine()) {
                     Session::addMessageAfterRedirect(__('InventoryNumberGenerated', 'geninventorynumber'), true);
                 }
             } else {
                 $values['otherserial'] = self::autoName($config, $item);
                 $values['massiveaction'] = true;
                 $values['id'] = $item->getID();
                 $tmp->update($values);
             }
             if ($config['use_index']) {
                 PluginGeninventorynumberConfig::updateIndex();
             } else {
                 PluginGeninventorynumberConfigField::updateIndex(get_class($item));
             }
             return array('ok');
         } else {
             $values['otherserial'] = '';
             $values['id'] = $item->getID();
             $tmp->update($values);
         }
     }
 }