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 preItemUpdate(CommonDBTM $item)
 {
     if (!Session::haveRight("plugin_geninventorynumber", UPDATE)) {
         return array('noright');
     }
     if (PluginGeninventorynumberConfig::isGenerationActive() && PluginGeninventorynumberConfigField::isActiveForItemType(get_class($item)) && !isset($item->input['massiveaction'])) {
         if (isset($item->fields['otherserial']) && isset($item->input['otherserial']) && $item->fields['otherserial'] != $item->input['otherserial']) {
             $item->input['otherserial'] = $item->fields['otherserial'];
             if (!isCommandLine()) {
                 Session::addMessageAfterRedirect(__('GenerateInventoryNumberDenied', 'geninventorynumber'), true, ERROR);
                 return array('ko');
             }
         }
         return array('ok');
     }
     return '';
 }