function plugin_geninventorynumber_MassiveActions($type)
{
    global $GENINVENTORYNUMBER_TYPES;
    $actions = array();
    if (in_array($type, $GENINVENTORYNUMBER_TYPES)) {
        $fields = PluginGeninventorynumberConfigField::getConfigFieldByItemType($type);
        if (PluginGeninventorynumberConfigField::isActiveForItemType($type)) {
            if (Session::haveRight("plugin_geninventorynumber", CREATE)) {
                $actions['PluginGeninventorynumberGeneration' . MassiveAction::CLASS_ACTION_SEPARATOR . 'plugin_geninventorynumber_generate'] = __('GenerateInventoryNumber', 'geninventorynumber');
            }
            if (Session::haveRight("plugin_geninventorynumber", UPDATE)) {
                $actions['PluginGeninventorynumberGeneration' . MassiveAction::CLASS_ACTION_SEPARATOR . 'plugin_geninventorynumber_overwrite'] = __('RegenerateInventoryNumber', 'geninventorynumber');
            }
        }
    }
    return $actions;
}
 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);
         }
     }
 }