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); } } }