Entity::getSearchOptions PHP Method

getSearchOptions() public method

public getSearchOptions ( )
    function getSearchOptions()
    {
        $tab = array();
        $tab['common'] = __('Characteristics');
        $tab[1]['table'] = $this->getTable();
        $tab[1]['field'] = 'completename';
        $tab[1]['name'] = __('Complete 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[14]['table'] = $this->getTable();
        $tab[14]['field'] = 'name';
        $tab[14]['name'] = __('Name');
        $tab[14]['datatype'] = 'itemlink';
        $tab[14]['massiveaction'] = false;
        $tab[3]['table'] = $this->getTable();
        $tab[3]['field'] = 'address';
        $tab[3]['name'] = __('Address');
        $tab[3]['massiveaction'] = false;
        $tab[3]['datatype'] = 'text';
        $tab[4]['table'] = $this->getTable();
        $tab[4]['field'] = 'website';
        $tab[4]['name'] = __('Website');
        $tab[4]['massiveaction'] = false;
        $tab[4]['datatype'] = 'string';
        $tab[5]['table'] = $this->getTable();
        $tab[5]['field'] = 'phonenumber';
        $tab[5]['name'] = __('Phone');
        $tab[5]['massiveaction'] = false;
        $tab[5]['datatype'] = 'string';
        $tab[6]['table'] = $this->getTable();
        $tab[6]['field'] = 'email';
        $tab[6]['name'] = _n('Email', 'Emails', 1);
        $tab[6]['datatype'] = 'email';
        $tab[6]['massiveaction'] = false;
        $tab[10]['table'] = $this->getTable();
        $tab[10]['field'] = 'fax';
        $tab[10]['name'] = __('Fax');
        $tab[10]['massiveaction'] = false;
        $tab[10]['datatype'] = 'string';
        $tab[25]['table'] = $this->getTable();
        $tab[25]['field'] = 'postcode';
        $tab[25]['name'] = __('Postal code');
        $tab[25]['datatype'] = 'string';
        $tab[11]['table'] = $this->getTable();
        $tab[11]['field'] = 'town';
        $tab[11]['name'] = __('City');
        $tab[11]['massiveaction'] = false;
        $tab[11]['datatype'] = 'string';
        $tab[12]['table'] = $this->getTable();
        $tab[12]['field'] = 'state';
        $tab[12]['name'] = _x('location', 'State');
        $tab[12]['massiveaction'] = false;
        $tab[12]['datatype'] = 'string';
        $tab[13]['table'] = $this->getTable();
        $tab[13]['field'] = 'country';
        $tab[13]['name'] = __('Country');
        $tab[13]['massiveaction'] = false;
        $tab[13]['datatype'] = 'string';
        $tab[16]['table'] = $this->getTable();
        $tab[16]['field'] = 'comment';
        $tab[16]['name'] = __('Comments');
        $tab[16]['datatype'] = 'text';
        $tab[122]['table'] = $this->getTable();
        $tab[122]['field'] = 'date_mod';
        $tab[122]['name'] = __('Last update');
        $tab[122]['datatype'] = 'datetime';
        $tab[122]['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;
        // add objectlock search options
        $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
        $tab += Notepad::getSearchOptionsToAdd();
        $tab['advanced'] = __('Advanced information');
        $tab[7]['table'] = $this->getTable();
        $tab[7]['field'] = 'ldap_dn';
        $tab[7]['name'] = __('LDAP directory information attribute representing the entity');
        $tab[7]['massiveaction'] = false;
        $tab[7]['datatype'] = 'string';
        $tab[8]['table'] = $this->getTable();
        $tab[8]['field'] = 'tag';
        $tab[8]['name'] = __('Information in inventory tool (TAG) representing the entity');
        $tab[8]['massiveaction'] = false;
        $tab[8]['datatype'] = 'string';
        $tab[9]['table'] = 'glpi_authldaps';
        $tab[9]['field'] = 'name';
        $tab[9]['name'] = __('LDAP directory of an entity');
        $tab[9]['massiveaction'] = false;
        $tab[9]['datatype'] = 'dropdown';
        $tab[17]['table'] = $this->getTable();
        $tab[17]['field'] = 'entity_ldapfilter';
        $tab[17]['name'] = __('Search filter (if needed)');
        $tab[17]['massiveaction'] = false;
        $tab[17]['datatype'] = 'string';
        $tab[20]['table'] = $this->getTable();
        $tab[20]['field'] = 'mail_domain';
        $tab[20]['name'] = __('Mail domain');
        $tab[20]['massiveaction'] = false;
        $tab[20]['datatype'] = 'string';
        $tab['notif'] = __('Notification options');
        $tab[60]['table'] = $this->getTable();
        $tab[60]['field'] = 'delay_send_emails';
        $tab[60]['name'] = __('Delay to send email notifications');
        $tab[60]['massiveaction'] = false;
        $tab[60]['nosearch'] = true;
        $tab[60]['datatype'] = 'number';
        $tab[60]['min'] = 0;
        $tab[60]['max'] = 60;
        $tab[60]['step'] = 1;
        $tab[60]['unit'] = 'minute';
        $tab[60]['toadd'] = array(self::CONFIG_PARENT => __('Inheritance of the parent entity'));
        $tab[61]['table'] = $this->getTable();
        $tab[61]['field'] = 'is_notif_enable_default';
        $tab[61]['name'] = __('Enable notifications by default');
        $tab[61]['massiveaction'] = false;
        $tab[61]['nosearch'] = true;
        $tab[61]['datatype'] = 'string';
        $tab[18]['table'] = $this->getTable();
        $tab[18]['field'] = 'admin_email';
        $tab[18]['name'] = __('Administrator email');
        $tab[18]['massiveaction'] = false;
        $tab[18]['datatype'] = 'string';
        $tab[19]['table'] = $this->getTable();
        $tab[19]['field'] = 'admin_reply';
        $tab[19]['name'] = __('Administrator reply-to email (if needed)');
        $tab[19]['massiveaction'] = false;
        $tab[19]['datatype'] = 'string';
        $tab[21]['table'] = $this->getTable();
        $tab[21]['field'] = 'notification_subject_tag';
        $tab[21]['name'] = __('Prefix for notifications');
        $tab[21]['datatype'] = 'string';
        $tab[22]['table'] = $this->getTable();
        $tab[22]['field'] = 'admin_email_name';
        $tab[22]['name'] = __('Administrator name');
        $tab[22]['datatype'] = 'string';
        $tab[23]['table'] = $this->getTable();
        $tab[23]['field'] = 'admin_reply_name';
        $tab[23]['name'] = __('Response address (if needed)');
        $tab[23]['datatype'] = 'string';
        $tab[24]['table'] = $this->getTable();
        $tab[24]['field'] = 'mailing_signature';
        $tab[24]['name'] = __('Email signature');
        $tab[24]['datatype'] = 'text';
        $tab[26]['table'] = $this->getTable();
        $tab[26]['field'] = 'cartridges_alert_repeat';
        $tab[26]['name'] = __('Alarms on cartridges');
        $tab[26]['massiveaction'] = false;
        $tab[26]['nosearch'] = true;
        $tab[26]['datatype'] = 'specific';
        $tab[27]['table'] = $this->getTable();
        $tab[27]['field'] = 'consumables_alert_repeat';
        $tab[27]['name'] = __('Alarms on consumables');
        $tab[27]['massiveaction'] = false;
        $tab[27]['nosearch'] = true;
        $tab[27]['datatype'] = 'specific';
        $tab[29]['table'] = $this->getTable();
        $tab[29]['field'] = 'use_licenses_alert';
        $tab[29]['name'] = __('Alarms on expired licenses');
        $tab[29]['massiveaction'] = false;
        $tab[29]['nosearch'] = true;
        $tab[29]['datatype'] = 'specific';
        $tab[53]['table'] = $this->getTable();
        $tab[53]['field'] = 'send_licenses_alert_before_delay';
        $tab[53]['name'] = __('Send license alarms before');
        $tab[53]['massiveaction'] = false;
        $tab[53]['nosearch'] = true;
        $tab[53]['datatype'] = 'specific';
        $tab[30]['table'] = $this->getTable();
        $tab[30]['field'] = 'use_contracts_alert';
        $tab[30]['name'] = __('Alarms on contracts');
        $tab[30]['massiveaction'] = false;
        $tab[30]['nosearch'] = true;
        $tab[30]['datatype'] = 'specific';
        $tab[54]['table'] = $this->getTable();
        $tab[54]['field'] = 'send_contracts_alert_before_delay';
        $tab[54]['name'] = __('Send contract alarms before');
        $tab[54]['massiveaction'] = false;
        $tab[54]['nosearch'] = true;
        $tab[54]['datatype'] = 'specific';
        $tab[31]['table'] = $this->getTable();
        $tab[31]['field'] = 'use_infocoms_alert';
        $tab[31]['name'] = __('Alarms on financial and administrative information');
        $tab[31]['massiveaction'] = false;
        $tab[31]['nosearch'] = true;
        $tab[31]['datatype'] = 'specific';
        $tab[55]['table'] = $this->getTable();
        $tab[55]['field'] = 'send_infocoms_alert_before_delay';
        $tab[55]['name'] = __('Send financial and administrative information alarms before');
        $tab[55]['massiveaction'] = false;
        $tab[55]['nosearch'] = true;
        $tab[55]['datatype'] = 'specific';
        $tab[32]['table'] = $this->getTable();
        $tab[32]['field'] = 'use_reservations_alert';
        $tab[32]['name'] = __('Alerts on reservations');
        $tab[32]['massiveaction'] = false;
        $tab[32]['nosearch'] = true;
        $tab[32]['datatype'] = 'specific';
        $tab[48]['table'] = $this->getTable();
        $tab[48]['field'] = 'default_contract_alert';
        $tab[48]['name'] = __('Default value for alarms on contracts');
        $tab[48]['massiveaction'] = false;
        $tab[48]['nosearch'] = true;
        $tab[48]['datatype'] = 'specific';
        $tab[49]['table'] = $this->getTable();
        $tab[49]['field'] = 'default_infocom_alert';
        $tab[49]['name'] = __('Default value for alarms on financial and administrative information');
        $tab[49]['massiveaction'] = false;
        $tab[49]['nosearch'] = true;
        $tab[49]['datatype'] = 'specific';
        $tab[50]['table'] = $this->getTable();
        $tab[50]['field'] = 'default_cartridges_alarm_threshold';
        $tab[50]['name'] = __('Default threshold for cartridges count');
        $tab[50]['massiveaction'] = false;
        $tab[50]['nosearch'] = true;
        $tab[50]['datatype'] = 'number';
        $tab[52]['table'] = $this->getTable();
        $tab[52]['field'] = 'default_consumables_alarm_threshold';
        $tab[52]['name'] = __('Default threshold for consumables count');
        $tab[52]['massiveaction'] = false;
        $tab[52]['nosearch'] = true;
        $tab[52]['datatype'] = 'number';
        $tab['helpdesk'] = __('Assistance');
        $tab[47]['table'] = $this->getTable();
        $tab[47]['field'] = 'tickettemplates_id';
        // not a dropdown because of special value
        $tab[47]['name'] = _n('Ticket template', 'Ticket templates', 1);
        $tab[47]['massiveaction'] = false;
        $tab[47]['nosearch'] = true;
        $tab[47]['datatype'] = 'specific';
        $tab[33]['table'] = $this->getTable();
        $tab[33]['field'] = 'autoclose_delay';
        $tab[33]['name'] = __('Automatic closing of solved tickets after');
        $tab[33]['massiveaction'] = false;
        $tab[33]['nosearch'] = true;
        $tab[33]['datatype'] = 'number';
        $tab[33]['min'] = 1;
        $tab[33]['max'] = 99;
        $tab[33]['step'] = 1;
        $tab[33]['unit'] = 'day';
        $tab[33]['toadd'] = array(self::CONFIG_PARENT => __('Inheritance of the parent entity'), self::CONFIG_NEVER => __('Never'), 0 => __('Immediatly'));
        $tab[34]['table'] = $this->getTable();
        $tab[34]['field'] = 'notclosed_delay';
        $tab[34]['name'] = __('Alerts on tickets which are not solved');
        $tab[34]['massiveaction'] = false;
        $tab[34]['nosearch'] = true;
        $tab[34]['datatype'] = 'specific';
        $tab[35]['table'] = $this->getTable();
        $tab[35]['field'] = 'auto_assign_mode';
        $tab[35]['name'] = __('Automatic assignment of tickets');
        $tab[35]['massiveaction'] = false;
        $tab[35]['nosearch'] = true;
        $tab[35]['datatype'] = 'specific';
        $tab[36]['table'] = $this->getTable();
        $tab[36]['field'] = 'calendars_id';
        // not a dropdown because of special value
        $tab[36]['name'] = __('Calendar');
        $tab[36]['massiveaction'] = false;
        $tab[36]['nosearch'] = true;
        $tab[36]['datatype'] = 'specific';
        $tab[37]['table'] = $this->getTable();
        $tab[37]['field'] = 'tickettype';
        $tab[37]['name'] = __('Tickets default type');
        $tab[37]['massiveaction'] = false;
        $tab[37]['nosearch'] = true;
        $tab[37]['datatype'] = 'specific';
        $tab['helpdesk'] = __('Assets');
        $tab[38]['table'] = $this->getTable();
        $tab[38]['field'] = 'autofill_buy_date';
        $tab[38]['name'] = __('Date of purchase');
        $tab[38]['massiveaction'] = false;
        $tab[38]['nosearch'] = true;
        $tab[38]['datatype'] = 'specific';
        $tab[39]['table'] = $this->getTable();
        $tab[39]['field'] = 'autofill_order_date';
        $tab[39]['name'] = __('Order date');
        $tab[39]['massiveaction'] = false;
        $tab[39]['nosearch'] = true;
        $tab[39]['datatype'] = 'specific';
        $tab[40]['table'] = $this->getTable();
        $tab[40]['field'] = 'autofill_delivery_date';
        $tab[40]['name'] = __('Delivery date');
        $tab[40]['massiveaction'] = false;
        $tab[40]['nosearch'] = true;
        $tab[40]['datatype'] = 'specific';
        $tab[41]['table'] = $this->getTable();
        $tab[41]['field'] = 'autofill_use_date';
        $tab[41]['name'] = __('Startup date');
        $tab[41]['massiveaction'] = false;
        $tab[41]['nosearch'] = true;
        $tab[41]['datatype'] = 'specific';
        $tab[42]['table'] = $this->getTable();
        $tab[42]['field'] = 'autofill_warranty_date';
        $tab[42]['name'] = __('Start date of warranty');
        $tab[42]['massiveaction'] = false;
        $tab[42]['nosearch'] = true;
        $tab[42]['datatype'] = 'specific';
        $tab[43]['table'] = $this->getTable();
        $tab[43]['field'] = 'inquest_config';
        $tab[43]['name'] = __('Satisfaction survey configuration');
        $tab[43]['massiveaction'] = false;
        $tab[43]['nosearch'] = true;
        $tab[43]['datatype'] = 'specific';
        $tab[44]['table'] = $this->getTable();
        $tab[44]['field'] = 'inquest_rate';
        $tab[44]['name'] = __('Satisfaction survey trigger rate');
        $tab[44]['massiveaction'] = false;
        $tab[44]['datatype'] = 'number';
        $tab[45]['table'] = $this->getTable();
        $tab[45]['field'] = 'inquest_delay';
        $tab[45]['name'] = __('Create survey after');
        $tab[45]['massiveaction'] = false;
        $tab[45]['datatype'] = 'number';
        $tab[46]['table'] = $this->getTable();
        $tab[46]['field'] = 'inquest_URL';
        $tab[46]['name'] = __('URL');
        $tab[46]['massiveaction'] = false;
        $tab[46]['datatype'] = 'string';
        $tab[51]['table'] = $this->getTable();
        $tab[51]['field'] = 'entities_id_software';
        // not a dropdown because of special value
        //TRANS: software in plural
        $tab[51]['name'] = __('Entity for software creation');
        $tab[51]['massiveaction'] = false;
        $tab[51]['nosearch'] = true;
        $tab[51]['datatype'] = 'specific';
        $tab[56]['table'] = $this->getTable();
        $tab[56]['field'] = 'autofill_decommission_date';
        $tab[56]['name'] = __('Decommission date');
        $tab[56]['massiveaction'] = false;
        $tab[56]['nosearch'] = true;
        $tab[56]['datatype'] = 'specific';
        return $tab;
    }