static function getSearchOptionsToAdd()
{
$tab = array();
if (!self::canView()) {
return $tab;
}
$tab['license'] = _n('License', 'Licenses', Session::getPluralNumber());
$licjoin = array('jointype' => 'child', 'condition' => getEntitiesRestrictRequest(' AND', "NEWTABLE", '', '', true));
$licjoinexpire = array('jointype' => 'child', 'condition' => getEntitiesRestrictRequest(' AND', "NEWTABLE", '', '', true) . " AND (NEWTABLE.`expire` IS NULL\n OR NEWTABLE.`expire` > NOW())");
$tab[160]['table'] = 'glpi_softwarelicenses';
$tab[160]['field'] = 'name';
$tab[160]['name'] = __('License name');
$tab[160]['datatype'] = 'dropdown';
$tab[160]['forcegroupby'] = true;
$tab[160]['massiveaction'] = false;
$tab[160]['joinparams'] = $licjoinexpire;
$tab[161]['table'] = 'glpi_softwarelicenses';
$tab[161]['field'] = 'serial';
$tab[161]['datatype'] = 'string';
$tab[161]['name'] = __('License serial number');
$tab[161]['forcegroupby'] = true;
$tab[161]['massiveaction'] = false;
$tab[161]['joinparams'] = $licjoinexpire;
$tab[162]['table'] = 'glpi_softwarelicenses';
$tab[162]['field'] = 'otherserial';
$tab[162]['datatype'] = 'string';
$tab[162]['name'] = __('License inventory number');
$tab[162]['forcegroupby'] = true;
$tab[162]['massiveaction'] = false;
$tab[162]['joinparams'] = $licjoinexpire;
$tab[163]['table'] = 'glpi_softwarelicenses';
$tab[163]['field'] = 'number';
$tab[163]['name'] = _x('phone', 'Number of licenses');
$tab[163]['forcegroupby'] = true;
$tab[163]['usehaving'] = true;
$tab[163]['datatype'] = 'number';
$tab[163]['massiveaction'] = false;
$tab[163]['joinparams'] = $licjoinexpire;
$tab[164]['table'] = 'glpi_softwarelicensetypes';
$tab[164]['field'] = 'name';
$tab[164]['datatype'] = 'dropdown';
$tab[164]['name'] = _n('License type', 'License types', Session::getPluralNumber());
$tab[164]['forcegroupby'] = true;
$tab[164]['massiveaction'] = false;
$tab[164]['joinparams'] = array('beforejoin' => array('table' => 'glpi_softwarelicenses', 'joinparams' => $licjoinexpire));
$tab[165]['table'] = 'glpi_softwarelicenses';
$tab[165]['field'] = 'comment';
$tab[165]['name'] = __('License comments');
$tab[165]['forcegroupby'] = true;
$tab[165]['datatype'] = 'text';
$tab[165]['massiveaction'] = false;
$tab[165]['joinparams'] = $licjoinexpire;
$tab[166]['table'] = 'glpi_softwarelicenses';
$tab[166]['field'] = 'expire';
$tab[166]['name'] = __('Expiration');
$tab[166]['forcegroupby'] = true;
$tab[166]['datatype'] = 'date';
$tab[166]['emptylabel'] = __('Never expire');
$tab[166]['massiveaction'] = false;
$tab[166]['joinparams'] = $licjoinexpire;
$tab[167]['table'] = 'glpi_softwarelicenses';
$tab[167]['field'] = 'is_valid';
$tab[167]['name'] = _x('adjective', 'Valid');
$tab[167]['forcegroupby'] = true;
$tab[167]['datatype'] = 'bool';
$tab[167]['massiveaction'] = false;
$tab[167]['joinparams'] = $licjoinexpire;
return $tab;
}
function getSearchOptions() { // Only use for History (not by search Engine) $tab = array(); $tab['common'] = __('Characteristics'); $tab[1]['table'] = $this->getTable(); $tab[1]['field'] = 'name'; $tab[1]['name'] = __('Name'); $tab[1]['datatype'] = 'itemlink'; $tab[1]['massiveaction'] = false; $tab[2]['table'] = $this->getTable(); $tab[2]['field'] = 'id'; $tab[2]['name'] = __('ID'); $tab[2]['massiveaction'] = false; $tab[2]['datatype'] = 'number'; $tab += Location::getSearchOptionsToAdd(); $tab[16]['table'] = $this->getTable(); $tab[16]['field'] = 'comment'; $tab[16]['name'] = __('Comments'); $tab[16]['datatype'] = 'text'; $tab[62]['table'] = 'glpi_softwarecategories'; $tab[62]['field'] = 'completename'; $tab[62]['name'] = __('Category'); $tab[62]['datatype'] = 'dropdown'; $tab[19]['table'] = $this->getTable(); $tab[19]['field'] = 'date_mod'; $tab[19]['name'] = __('Last update'); $tab[19]['datatype'] = 'datetime'; $tab[19]['massiveaction'] = false; $tab[121]['table'] = $this->getTable(); $tab[121]['field'] = 'date_creation'; $tab[121]['name'] = __('Creation date'); $tab[121]['datatype'] = 'datetime'; $tab[121]['massiveaction'] = false; $tab[23]['table'] = 'glpi_manufacturers'; $tab[23]['field'] = 'name'; $tab[23]['name'] = __('Publisher'); $tab[23]['datatype'] = 'dropdown'; $tab[24]['table'] = 'glpi_users'; $tab[24]['field'] = 'name'; $tab[24]['linkfield'] = 'users_id_tech'; $tab[24]['name'] = __('Technician in charge of the hardware'); $tab[24]['datatype'] = 'dropdown'; $tab[24]['right'] = 'own_ticket'; $tab[49]['table'] = 'glpi_groups'; $tab[49]['field'] = 'completename'; $tab[49]['linkfield'] = 'groups_id_tech'; $tab[49]['name'] = __('Group in charge of the hardware'); $tab[49]['condition'] = '`is_assign`'; $tab[49]['datatype'] = 'dropdown'; $tab[70]['table'] = 'glpi_users'; $tab[70]['field'] = 'name'; $tab[70]['name'] = __('User'); $tab[70]['datatype'] = 'dropdown'; $tab[70]['right'] = 'all'; $tab[71]['table'] = 'glpi_groups'; $tab[71]['field'] = 'completename'; $tab[71]['name'] = __('Group'); $tab[71]['condition'] = '`is_itemgroup`'; $tab[71]['datatype'] = 'dropdown'; $tab[61]['table'] = $this->getTable(); $tab[61]['field'] = 'is_helpdesk_visible'; $tab[61]['name'] = __('Associable to a ticket'); $tab[61]['datatype'] = 'bool'; $tab[63]['table'] = $this->getTable(); $tab[63]['field'] = 'is_valid'; //TRANS: Indicator to know is all licenses of the software are valids $tab[63]['name'] = __('Valid licenses'); $tab[63]['datatype'] = 'bool'; $tab += SoftwareLicense::getSearchOptionsToAdd(); $tab[80]['table'] = 'glpi_entities'; $tab[80]['field'] = 'completename'; $tab[80]['name'] = __('Entity'); $tab[80]['massiveaction'] = false; $tab[80]['datatype'] = 'dropdown'; $tab[72]['table'] = 'glpi_computers_softwareversions'; $tab[72]['field'] = 'id'; $tab[72]['name'] = _x('quantity', 'Number of installations'); $tab[72]['forcegroupby'] = true; $tab[72]['usehaving'] = true; $tab[72]['datatype'] = 'count'; $tab[72]['nometa'] = true; $tab[72]['massiveaction'] = false; if (Session::getLoginUserID()) { $tab[72]['joinparams'] = array('jointype' => 'child', 'condition' => "AND NEWTABLE.`is_deleted_computer` = '0'\n AND NEWTABLE.`is_deleted` = '0'\n AND NEWTABLE.`is_template_computer` = '0'\n " . getEntitiesRestrictRequest('AND', 'NEWTABLE'), 'beforejoin' => array('table' => 'glpi_softwareversions', 'joinparams' => array('jointype' => 'child'))); } $tab[86]['table'] = $this->getTable(); $tab[86]['field'] = 'is_recursive'; $tab[86]['name'] = __('Child entities'); $tab[86]['datatype'] = 'bool'; $tab[86]['massiveaction'] = false; $tab['versions'] = _n('Version', 'Versions', Session::getPluralNumber()); $tab[5]['table'] = 'glpi_softwareversions'; $tab[5]['field'] = 'name'; $tab[5]['name'] = __('Version name'); $tab[5]['forcegroupby'] = true; $tab[5]['massiveaction'] = false; $tab[5]['joinparams'] = array('jointype' => 'child'); $tab[5]['datatype'] = 'dropdown'; $tab[31]['table'] = 'glpi_states'; $tab[31]['field'] = 'completename'; $tab[31]['name'] = __('Status'); $tab[31]['datatype'] = 'dropdown'; $tab[31]['forcegroupby'] = true; $tab[31]['massiveaction'] = false; $tab[31]['joinparams'] = array('beforejoin' => array('table' => 'glpi_softwareversions', 'joinparams' => array('jointype' => 'child'))); $tab[170]['table'] = 'glpi_softwareversions'; $tab[170]['field'] = 'comment'; $tab[170]['name'] = __('Version comments'); $tab[170]['forcegroupby'] = true; $tab[170]['datatype'] = 'text'; $tab[170]['massiveaction'] = false; $tab[170]['joinparams'] = array('jointype' => 'child'); $tab[4]['table'] = 'glpi_operatingsystems'; $tab[4]['field'] = 'name'; $tab[4]['datatype'] = 'dropdown'; $tab[4]['name'] = __('Operating system'); $tab[4]['forcegroupby'] = true; $tab[4]['joinparams'] = array('beforejoin' => array('table' => 'glpi_softwareversions', 'joinparams' => array('jointype' => 'child'))); // add objectlock search options $tab += ObjectLock::getSearchOptionsToAdd(get_class($this)); $tab += Notepad::getSearchOptionsToAdd(); return $tab; }