function getSearchOptions()
 {
     $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[4]['table'] = 'glpi_networkequipmenttypes';
     $tab[4]['field'] = 'name';
     $tab[4]['name'] = __('Type');
     $tab[4]['datatype'] = 'dropdown';
     $tab[40]['table'] = 'glpi_networkequipmentmodels';
     $tab[40]['field'] = 'name';
     $tab[40]['name'] = __('Model');
     $tab[40]['datatype'] = 'dropdown';
     $tab[31]['table'] = 'glpi_states';
     $tab[31]['field'] = 'completename';
     $tab[31]['name'] = __('Status');
     $tab[31]['datatype'] = 'dropdown';
     $tab[31]['condition'] = "`is_visible_networkequipment`";
     $tab[5]['table'] = $this->getTable();
     $tab[5]['field'] = 'serial';
     $tab[5]['name'] = __('Serial number');
     $tab[5]['datatype'] = 'string';
     $tab[6]['table'] = $this->getTable();
     $tab[6]['field'] = 'otherserial';
     $tab[6]['name'] = __('Inventory number');
     $tab[6]['datatype'] = 'string';
     $tab[7]['table'] = $this->getTable();
     $tab[7]['field'] = 'contact';
     $tab[7]['name'] = __('Alternate username');
     $tab[7]['datatype'] = 'string';
     $tab[8]['table'] = $this->getTable();
     $tab[8]['field'] = 'contact_num';
     $tab[8]['name'] = __('Alternate username number');
     $tab[8]['datatype'] = 'string';
     $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]['datatype'] = 'dropdown';
     $tab[71]['condition'] = '`is_itemgroup`';
     $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[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     $tab[11]['table'] = 'glpi_networkequipmentfirmwares';
     $tab[11]['field'] = 'name';
     $tab[11]['name'] = _n('Firmware', 'Firmwares', 1);
     $tab[11]['datatype'] = 'dropdown';
     $tab[14]['table'] = $this->getTable();
     $tab[14]['field'] = 'ram';
     $tab[14]['name'] = sprintf(__('%1$s (%2$s)'), __('Memory'), __('Mio'));
     $tab[14]['datatype'] = 'number';
     $tab[32]['table'] = 'glpi_networks';
     $tab[32]['field'] = 'name';
     $tab[32]['name'] = __('Network');
     $tab[32]['datatype'] = 'dropdown';
     $tab[33]['table'] = 'glpi_domains';
     $tab[33]['field'] = 'name';
     $tab[33]['name'] = __('Domain');
     $tab[33]['datatype'] = 'dropdown';
     $tab[23]['table'] = 'glpi_manufacturers';
     $tab[23]['field'] = 'name';
     $tab[23]['name'] = __('Manufacturer');
     $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[80]['table'] = 'glpi_entities';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = __('Entity');
     $tab[80]['massiveaction'] = false;
     $tab[80]['datatype'] = 'dropdown';
     $tab[86]['table'] = $this->getTable();
     $tab[86]['field'] = 'is_recursive';
     $tab[86]['name'] = __('Child entities');
     $tab[86]['datatype'] = 'bool';
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     $tab += Notepad::getSearchOptionsToAdd();
     return $tab;
 }
示例#2
0
 /** Display item with tabs
  *
  * @since version 0.85
  *
  * @param $options   array
  **/
 function display($options = array())
 {
     global $CFG_GLPI;
     if (isset($options['id']) && !$this->isNewID($options['id'])) {
         if (!$this->getFromDB($options['id'])) {
             Html::displayNotFoundError();
         }
     }
     // in case of lefttab layout, we couldn't see "right error" message
     if ($this->get_item_to_display_tab) {
         if (isset($_GET["id"]) && $_GET["id"] && !$this->can($_GET["id"], READ)) {
             // This triggers from a profile switch.
             // If we don't have right, redirect instead to central page
             if (isset($_SESSION['_redirected_from_profile_selector']) && $_SESSION['_redirected_from_profile_selector']) {
                 unset($_SESSION['_redirected_from_profile_selector']);
                 Html::redirect($CFG_GLPI['root_doc'] . "/front/central.php");
             }
             html::displayRightError();
         }
     }
     // try to lock object
     // $options must contains the id of the object, and if locked by manageObjectLock will contains 'locked' => 1
     ObjectLock::manageObjectLock(get_class($this), $options);
     $this->showNavigationHeader($options);
     if (!self::isLayoutExcludedPage() && self::isLayoutWithMain()) {
         if (!isset($options['id'])) {
             $options['id'] = 0;
         }
         $this->showPrimaryForm($options);
     }
     $this->showTabsContent($options);
 }
 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[1]['forcegroupby'] = true;
     $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[2]['forcegroupby'] = true;
     $tab[2]['massiveaction'] = false;
     $tab += Location::getSearchOptionsToAdd();
     $tab[3]['table'] = $this->getTable();
     $tab[3]['field'] = 'serial';
     $tab[3]['name'] = __('Serial number');
     $tab[3]['datatype'] = 'string';
     $tab[4]['table'] = $this->getTable();
     $tab[4]['field'] = 'number';
     $tab[4]['name'] = _x('quantity', 'Number');
     $tab[4]['datatype'] = 'number';
     $tab[4]['max'] = 100;
     $tab[4]['toadd'] = array(-1 => __('Unlimited'));
     $tab[5]['table'] = 'glpi_softwarelicensetypes';
     $tab[5]['field'] = 'name';
     $tab[5]['name'] = __('Type');
     $tab[5]['datatype'] = 'dropdown';
     $tab[6]['table'] = 'glpi_softwareversions';
     $tab[6]['field'] = 'name';
     $tab[6]['linkfield'] = 'softwareversions_id_buy';
     $tab[6]['name'] = __('Purchase version');
     $tab[6]['datatype'] = 'dropdown';
     $tab[6]['displaywith'] = array('states_id');
     $tab[7]['table'] = 'glpi_softwareversions';
     $tab[7]['field'] = 'name';
     $tab[7]['linkfield'] = 'softwareversions_id_use';
     $tab[7]['name'] = __('Version in use');
     $tab[7]['datatype'] = 'dropdown';
     $tab[7]['displaywith'] = array('states_id');
     $tab[8]['table'] = $this->getTable();
     $tab[8]['field'] = 'expire';
     $tab[8]['name'] = __('Expiration');
     $tab[8]['datatype'] = 'date';
     $tab[9]['table'] = $this->getTable();
     $tab[9]['field'] = 'is_valid';
     $tab[9]['name'] = __('Valid');
     $tab[9]['datatype'] = 'bool';
     $tab[10]['table'] = 'glpi_softwares';
     $tab[10]['field'] = 'name';
     $tab[10]['name'] = __('Software');
     $tab[10]['datatype'] = 'itemlink';
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     $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[31]['table'] = 'glpi_states';
     $tab[31]['field'] = 'completename';
     $tab[31]['name'] = __('Status');
     $tab[31]['datatype'] = 'dropdown';
     $tab[31]['condition'] = "`is_visible_softwarelicense`";
     $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[80]['table'] = 'glpi_entities';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = __('Entity');
     $tab[80]['datatype'] = 'dropdown';
     $tab[86]['table'] = $this->getTable();
     $tab[86]['field'] = 'is_recursive';
     $tab[86]['name'] = __('Child entities');
     $tab[86]['datatype'] = 'bool';
     $tab[162]['table'] = $this->getTable();
     $tab[162]['field'] = 'otherserial';
     $tab[162]['name'] = __('Inventory number');
     $tab[162]['massiveaction'] = false;
     $tab[162]['datatype'] = 'string';
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     $tab += Notepad::getSearchOptionsToAdd();
     return $tab;
 }
示例#4
0
 function getSearchOptions()
 {
     $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[1]['forcegroupby'] = true;
     $tab[2]['table'] = 'glpi_users';
     $tab[2]['field'] = 'name';
     $tab[2]['name'] = __('Creator');
     $tab[2]['datatype'] = 'dropdown';
     $tab[2]['massiveaction'] = false;
     $tab[2]['right'] = 'all';
     $tab[3]['table'] = $this->getTable();
     $tab[3]['field'] = 'url';
     $tab[3]['name'] = __('URL');
     $tab[3]['datatype'] = 'string';
     $tab[3]['massiveaction'] = false;
     $tab[4]['table'] = $this->getTable();
     $tab[4]['field'] = 'is_active';
     $tab[4]['name'] = __('Active');
     $tab[4]['datatype'] = 'bool';
     $tab[4]['massiveaction'] = true;
     $tab[6]['table'] = $this->getTable();
     $tab[6]['field'] = 'have_error';
     $tab[6]['name'] = __('Error');
     $tab[6]['datatype'] = 'bool';
     $tab[6]['massiveaction'] = true;
     $tab[7]['table'] = $this->getTable();
     $tab[7]['field'] = 'max_items';
     $tab[7]['name'] = __('Number of items displayed');
     $tab[7]['datatype'] = 'number';
     $tab[7]['min'] = 5;
     $tab[7]['max'] = 100;
     $tab[7]['step'] = 5;
     $tab[7]['toadd'] = array(1);
     $tab[7]['massiveaction'] = true;
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     $tab[5]['table'] = $this->getTable();
     $tab[5]['field'] = 'refresh_rate';
     $tab[5]['name'] = __('Refresh rate');
     $tab[5]['datatype'] = 'timestamp';
     $tab[5]['min'] = HOUR_TIMESTAMP;
     $tab[5]['max'] = DAY_TIMESTAMP;
     $tab[5]['step'] = HOUR_TIMESTAMP;
     $tab[5]['toadd'] = array(5 * MINUTE_TIMESTAMP, 15 * MINUTE_TIMESTAMP, 30 * MINUTE_TIMESTAMP, 45 * MINUTE_TIMESTAMP);
     $tab[5]['display_emptychoice'] = false;
     $tab[5]['massiveaction'] = true;
     $tab[5]['searchtype'] = 'equals';
     $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;
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     return $tab;
 }
示例#5
0
 function getSearchOptions()
 {
     // forcegroup by on name set force group by for all items
     $tab = array();
     $tab['common'] = __('Characteristics');
     $tab[1]['table'] = $this->getTable();
     $tab[1]['field'] = 'name';
     $tab[1]['name'] = __('Login');
     $tab[1]['datatype'] = 'itemlink';
     $tab[1]['forcegroupby'] = true;
     $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[34]['table'] = $this->getTable();
     $tab[34]['field'] = 'realname';
     $tab[34]['name'] = __('Surname');
     $tab[34]['datatype'] = 'string';
     $tab[9]['table'] = $this->getTable();
     $tab[9]['field'] = 'firstname';
     $tab[9]['name'] = __('First name');
     $tab[9]['datatype'] = 'string';
     $tab[5]['table'] = 'glpi_useremails';
     $tab[5]['field'] = 'email';
     $tab[5]['name'] = _n('Email', 'Emails', Session::getPluralNumber());
     $tab[5]['datatype'] = 'email';
     $tab[5]['joinparams'] = array('jointype' => 'child');
     $tab[5]['forcegroupby'] = true;
     $tab[5]['massiveaction'] = false;
     $tab += Location::getSearchOptionsToAdd();
     $tab[8]['table'] = $this->getTable();
     $tab[8]['field'] = 'is_active';
     $tab[8]['name'] = __('Active');
     $tab[8]['datatype'] = 'bool';
     $tab[6]['table'] = $this->getTable();
     $tab[6]['field'] = 'phone';
     $tab[6]['name'] = __('Phone');
     $tab[6]['datatype'] = 'string';
     $tab[10]['table'] = $this->getTable();
     $tab[10]['field'] = 'phone2';
     $tab[10]['name'] = __('Phone 2');
     $tab[10]['datatype'] = 'string';
     $tab[11]['table'] = $this->getTable();
     $tab[11]['field'] = 'mobile';
     $tab[11]['name'] = __('Mobile phone');
     $tab[11]['datatype'] = 'string';
     $tab[13]['table'] = 'glpi_groups';
     $tab[13]['field'] = 'completename';
     $tab[13]['name'] = _n('Group', 'Groups', Session::getPluralNumber());
     $tab[13]['forcegroupby'] = true;
     $tab[13]['datatype'] = 'itemlink';
     $tab[13]['massiveaction'] = false;
     $tab[13]['joinparams'] = array('beforejoin' => array('table' => 'glpi_groups_users', 'joinparams' => array('jointype' => 'child')));
     $tab[14]['table'] = $this->getTable();
     $tab[14]['field'] = 'last_login';
     $tab[14]['name'] = __('Last login');
     $tab[14]['datatype'] = 'datetime';
     $tab[14]['massiveaction'] = false;
     $tab[15]['table'] = 'glpi_users';
     $tab[15]['field'] = 'authtype';
     $tab[15]['name'] = __('Authentication');
     $tab[15]['massiveaction'] = false;
     $tab[15]['datatype'] = 'specific';
     $tab[15]['searchtype'] = 'equals';
     $tab[15]['additionalfields'] = array('auths_id');
     $tab[30]['table'] = 'glpi_authldaps';
     $tab[30]['field'] = 'name';
     $tab[30]['linkfield'] = 'auths_id';
     $tab[30]['name'] = __('LDAP directory for authentication');
     $tab[30]['massiveaction'] = false;
     $tab[30]['joinparams'] = array('condition' => "AND REFTABLE.`authtype` = " . Auth::LDAP);
     $tab[30]['datatype'] = 'dropdown';
     $tab[31]['table'] = 'glpi_authmails';
     $tab[31]['field'] = 'name';
     $tab[31]['linkfield'] = 'auths_id';
     $tab[31]['name'] = __('Email server for authentication');
     $tab[31]['massiveaction'] = false;
     $tab[31]['joinparams'] = array('condition' => "AND REFTABLE.`authtype` = " . Auth::MAIL);
     $tab[31]['datatype'] = 'dropdown';
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     $tab[17]['table'] = $this->getTable();
     $tab[17]['field'] = 'language';
     $tab[17]['name'] = __('Language');
     $tab[17]['datatype'] = 'language';
     $tab[17]['display_emptychoice'] = true;
     $tab[17]['emptylabel'] = __('Default value');
     $tab[19]['table'] = $this->getTable();
     $tab[19]['field'] = 'date_mod';
     $tab[19]['name'] = __('Last update');
     $tab[19]['datatype'] = 'datetime';
     $tab[19]['massiveaction'] = false;
     $tab[20]['table'] = 'glpi_profiles';
     $tab[20]['field'] = 'name';
     $tab[20]['name'] = sprintf(__('%1$s (%2$s)'), _n('Profile', 'Profiles', Session::getPluralNumber()), _n('Entity', 'Entities', 1));
     $tab[20]['forcegroupby'] = true;
     $tab[20]['massiveaction'] = false;
     $tab[20]['datatype'] = 'dropdown';
     $tab[20]['joinparams'] = array('beforejoin' => array('table' => 'glpi_profiles_users', 'joinparams' => array('jointype' => 'child')));
     $tab[21]['table'] = $this->getTable();
     $tab[21]['field'] = 'user_dn';
     $tab[21]['name'] = __('User DN');
     $tab[21]['massiveaction'] = false;
     $tab[21]['datatype'] = 'string';
     $tab[22]['table'] = $this->getTable();
     $tab[22]['field'] = 'registration_number';
     $tab[22]['name'] = __('Administrative number');
     $tab[22]['datatype'] = 'string';
     $tab[23]['table'] = $this->getTable();
     $tab[23]['field'] = 'date_sync';
     $tab[23]['datatype'] = 'datetime';
     $tab[23]['name'] = __('Last synchronization');
     $tab[23]['massiveaction'] = false;
     $tab[24]['table'] = $this->getTable();
     $tab[24]['field'] = 'is_deleted_ldap';
     $tab[24]['name'] = __('Deleted user in LDAP directory');
     $tab[24]['datatype'] = 'bool';
     $tab[24]['massiveaction'] = false;
     $tab[80]['table'] = 'glpi_entities';
     $tab[80]['linkfield'] = 'entities_id';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = sprintf(__('%1$s (%2$s)'), _n('Entity', 'Entities', Session::getPluralNumber()), _n('Profile', 'Profiles', 1));
     $tab[80]['forcegroupby'] = true;
     $tab[80]['datatype'] = 'dropdown';
     $tab[80]['massiveaction'] = false;
     $tab[80]['joinparams'] = array('beforejoin' => array('table' => 'glpi_profiles_users', 'joinparams' => array('jointype' => 'child')));
     $tab[81]['table'] = 'glpi_usertitles';
     $tab[81]['field'] = 'name';
     $tab[81]['name'] = _x('person', 'Title');
     $tab[81]['datatype'] = 'dropdown';
     $tab[82]['table'] = 'glpi_usercategories';
     $tab[82]['field'] = 'name';
     $tab[82]['name'] = __('Category');
     $tab[82]['datatype'] = 'dropdown';
     $tab[79]['table'] = 'glpi_profiles';
     $tab[79]['field'] = 'name';
     $tab[79]['name'] = __('Default profile');
     $tab[79]['datatype'] = 'dropdown';
     $tab[77]['table'] = 'glpi_entities';
     $tab[77]['field'] = 'name';
     $tab[77]['massiveaction'] = true;
     $tab[77]['name'] = __('Default entity');
     $tab[77]['datatype'] = 'dropdown';
     $tab[62]['table'] = $this->getTable();
     $tab[62]['field'] = 'begin_date';
     $tab[62]['name'] = __('Begin date');
     $tab[62]['datatype'] = 'datetime';
     $tab[63]['table'] = $this->getTable();
     $tab[63]['field'] = 'end_date';
     $tab[63]['name'] = __('End date');
     $tab[63]['datatype'] = 'datetime';
     $tab[60]['table'] = 'glpi_tickets';
     $tab[60]['field'] = 'id';
     $tab[60]['name'] = __('Number of tickets as requester');
     $tab[60]['forcegroupby'] = true;
     $tab[60]['usehaving'] = true;
     $tab[60]['datatype'] = 'count';
     $tab[60]['massiveaction'] = false;
     $tab[60]['joinparams'] = array('beforejoin' => array('table' => 'glpi_tickets_users', 'joinparams' => array('jointype' => 'child', 'condition' => 'AND NEWTABLE.`type`
                                                                     = ' . CommonITILActor::REQUESTER)));
     $tab[61]['table'] = 'glpi_tickets';
     $tab[61]['field'] = 'id';
     $tab[61]['name'] = __('Number of written tickets');
     $tab[61]['forcegroupby'] = true;
     $tab[61]['usehaving'] = true;
     $tab[61]['datatype'] = 'count';
     $tab[61]['massiveaction'] = false;
     $tab[61]['joinparams'] = array('jointype' => 'child', 'linkfield' => 'users_id_recipient');
     $tab[64]['table'] = 'glpi_tickets';
     $tab[64]['field'] = 'id';
     $tab[64]['name'] = __('Number of assigned tickets');
     $tab[64]['forcegroupby'] = true;
     $tab[64]['usehaving'] = true;
     $tab[64]['datatype'] = 'count';
     $tab[64]['massiveaction'] = false;
     $tab[64]['joinparams'] = array('beforejoin' => array('table' => 'glpi_tickets_users', 'joinparams' => array('jointype' => 'child', 'condition' => 'AND NEWTABLE.`type`
                                                                     = ' . CommonITILActor::ASSIGN)));
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     return $tab;
 }
 /**
  * @since version 0.85
  **/
 function getSearchOptionsMain()
 {
     global $CFG_GLPI;
     $tab = array();
     $tab['common'] = __('Characteristics');
     $tab[1]['table'] = $this->getTable();
     $tab[1]['field'] = 'name';
     $tab[1]['name'] = __('Title');
     $tab[1]['datatype'] = 'itemlink';
     $tab[1]['searchtype'] = 'contains';
     $tab[1]['massiveaction'] = false;
     $tab[1]['additionalfields'] = array('id', 'content', 'status');
     $tab[21]['table'] = $this->getTable();
     $tab[21]['field'] = 'content';
     $tab[21]['name'] = __('Description');
     $tab[21]['massiveaction'] = false;
     $tab[21]['datatype'] = 'text';
     if ($this->getType() == 'Ticket' && $CFG_GLPI["use_rich_text"]) {
         $tab[21]['htmltext'] = true;
     }
     $tab[2]['table'] = $this->getTable();
     $tab[2]['field'] = 'id';
     $tab[2]['name'] = __('ID');
     $tab[2]['massiveaction'] = false;
     $tab[2]['datatype'] = 'number';
     $tab[12]['table'] = $this->getTable();
     $tab[12]['field'] = 'status';
     $tab[12]['name'] = __('Status');
     $tab[12]['searchtype'] = 'equals';
     $tab[12]['datatype'] = 'specific';
     $tab[10]['table'] = $this->getTable();
     $tab[10]['field'] = 'urgency';
     $tab[10]['name'] = __('Urgency');
     $tab[10]['searchtype'] = 'equals';
     $tab[10]['datatype'] = 'specific';
     $tab[11]['table'] = $this->getTable();
     $tab[11]['field'] = 'impact';
     $tab[11]['name'] = __('Impact');
     $tab[11]['searchtype'] = 'equals';
     $tab[11]['datatype'] = 'specific';
     $tab[3]['table'] = $this->getTable();
     $tab[3]['field'] = 'priority';
     $tab[3]['name'] = __('Priority');
     $tab[3]['searchtype'] = 'equals';
     $tab[3]['datatype'] = 'specific';
     $tab[15]['table'] = $this->getTable();
     $tab[15]['field'] = 'date';
     $tab[15]['name'] = __('Opening date');
     $tab[15]['datatype'] = 'datetime';
     $tab[15]['massiveaction'] = false;
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'closedate';
     $tab[16]['name'] = __('Closing date');
     $tab[16]['datatype'] = 'datetime';
     $tab[16]['massiveaction'] = false;
     $tab[18]['table'] = $this->getTable();
     $tab[18]['field'] = 'due_date';
     $tab[18]['name'] = __('Time to resolve');
     $tab[18]['datatype'] = 'datetime';
     $tab[18]['maybefuture'] = true;
     $tab[18]['massiveaction'] = false;
     $tab[18]['additionalfields'] = array('status');
     $tab[151]['table'] = $this->getTable();
     $tab[151]['field'] = 'due_date';
     $tab[151]['name'] = __('Time to resolve + Progress');
     $tab[151]['massiveaction'] = false;
     $tab[151]['nosearch'] = true;
     $tab[151]['additionalfields'] = array('status');
     $tab[82]['table'] = $this->getTable();
     $tab[82]['field'] = 'is_late';
     $tab[82]['name'] = __('Time to resolve exceedeed');
     $tab[82]['datatype'] = 'bool';
     $tab[82]['massiveaction'] = false;
     $tab[82]['computation'] = "IF(TABLE.`due_date` IS NOT NULL\n                                            AND TABLE.`status` <> " . self::WAITING . "\n                                            AND (TABLE.`solvedate` > TABLE.`due_date`\n                                                 OR (TABLE.`solvedate` IS NULL\n                                                      AND TABLE.`due_date` < NOW())),\n                                            1, 0)";
     $tab[17]['table'] = $this->getTable();
     $tab[17]['field'] = 'solvedate';
     $tab[17]['name'] = __('Resolution date');
     $tab[17]['datatype'] = 'datetime';
     $tab[17]['massiveaction'] = false;
     $tab[19]['table'] = $this->getTable();
     $tab[19]['field'] = 'date_mod';
     $tab[19]['name'] = __('Last update');
     $tab[19]['datatype'] = 'datetime';
     $tab[19]['massiveaction'] = false;
     $tab[7]['table'] = 'glpi_itilcategories';
     $tab[7]['field'] = 'completename';
     $tab[7]['name'] = __('Category');
     $tab[7]['datatype'] = 'dropdown';
     if (!Session::isCron() && isset($_SESSION['glpiactiveprofile']['interface']) && $_SESSION['glpiactiveprofile']['interface'] == 'helpdesk') {
         $tab[7]['condition'] = "`is_helpdeskvisible`";
     }
     $tab[80]['table'] = 'glpi_entities';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = __('Entity');
     $tab[80]['massiveaction'] = false;
     $tab[80]['datatype'] = 'dropdown';
     $tab[45]['table'] = $this->getTable();
     $tab[45]['field'] = 'actiontime';
     $tab[45]['name'] = __('Total duration');
     $tab[45]['datatype'] = 'timestamp';
     $tab[45]['massiveaction'] = false;
     $tab[45]['nosearch'] = true;
     $tab[64]['table'] = 'glpi_users';
     $tab[64]['field'] = 'name';
     $tab[64]['linkfield'] = 'users_id_lastupdater';
     $tab[64]['name'] = __('Last edit by');
     $tab[64]['massiveaction'] = false;
     $tab[64]['datatype'] = 'dropdown';
     $tab[64]['right'] = 'all';
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     return $tab;
 }
示例#7
0
 function getSearchOptions()
 {
     $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[4]['table'] = 'glpi_printertypes';
     $tab[4]['field'] = 'name';
     $tab[4]['name'] = __('Type');
     $tab[4]['datatype'] = 'dropdown';
     $tab[40]['table'] = 'glpi_printermodels';
     $tab[40]['field'] = 'name';
     $tab[40]['name'] = __('Model');
     $tab[40]['datatype'] = 'dropdown';
     $tab[31]['table'] = 'glpi_states';
     $tab[31]['field'] = 'completename';
     $tab[31]['name'] = __('Status');
     $tab[31]['datatype'] = 'dropdown';
     $tab[31]['condition'] = "`is_visible_printer`";
     $tab[5]['table'] = $this->getTable();
     $tab[5]['field'] = 'serial';
     $tab[5]['name'] = __('Serial number');
     $tab[5]['datatype'] = 'string';
     $tab[6]['table'] = $this->getTable();
     $tab[6]['field'] = 'otherserial';
     $tab[6]['name'] = __('Inventory number');
     $tab[6]['datatype'] = 'string';
     $tab[7]['table'] = $this->getTable();
     $tab[7]['field'] = 'contact';
     $tab[7]['name'] = __('Alternate username');
     $tab[7]['datatype'] = 'string';
     $tab[8]['table'] = $this->getTable();
     $tab[8]['field'] = 'contact_num';
     $tab[8]['name'] = __('Alternate username number');
     $tab[8]['datatype'] = 'string';
     $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[19]['table'] = $this->getTable();
     $tab[19]['field'] = 'date_mod';
     $tab[19]['name'] = __('Last update');
     $tab[19]['datatype'] = 'datetime';
     $tab[19]['massiveaction'] = false;
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     $tab[42]['table'] = $this->getTable();
     $tab[42]['field'] = 'have_serial';
     $tab[42]['name'] = __('Serial');
     $tab[42]['datatype'] = 'bool';
     $tab[43]['table'] = $this->getTable();
     $tab[43]['field'] = 'have_parallel';
     $tab[43]['name'] = __('Parallel');
     $tab[43]['datatype'] = 'bool';
     $tab[44]['table'] = $this->getTable();
     $tab[44]['field'] = 'have_usb';
     $tab[44]['name'] = __('USB');
     $tab[44]['datatype'] = 'bool';
     $tab[45]['table'] = $this->getTable();
     $tab[45]['field'] = 'have_ethernet';
     $tab[45]['name'] = __('Ethernet');
     $tab[45]['datatype'] = 'bool';
     $tab[46]['table'] = $this->getTable();
     $tab[46]['field'] = 'have_wifi';
     $tab[46]['name'] = __('Wifi');
     $tab[46]['datatype'] = 'bool';
     $tab[13]['table'] = $this->getTable();
     $tab[13]['field'] = 'memory_size';
     $tab[13]['name'] = __('Memory');
     $tab[13]['datatype'] = 'string';
     $tab[11]['table'] = $this->getTable();
     $tab[11]['field'] = 'init_pages_counter';
     $tab[11]['name'] = __('Initial page counter');
     $tab[11]['datatype'] = 'number';
     $tab[11]['nosearch'] = true;
     // only display and histo, no index
     $tab[12]['table'] = $this->getTable();
     $tab[12]['field'] = 'last_pages_counter';
     $tab[12]['name'] = __('Current counter of pages');
     $tab[12]['datatype'] = 'number';
     $tab[9]['table'] = 'glpi_printers';
     $tab[9]['field'] = '_virtual';
     $tab[9]['linkfield'] = '_virtual';
     $tab[9]['name'] = _n('Cartridge', 'Cartridges', Session::getPluralNumber());
     $tab[9]['datatype'] = 'specific';
     $tab[9]['massiveaction'] = false;
     $tab[9]['nosearch'] = true;
     $tab[9]['nosort'] = true;
     $tab[17]['table'] = 'glpi_cartridges';
     $tab[17]['field'] = 'id';
     $tab[17]['name'] = __('Number of used cartridges');
     $tab[17]['datatype'] = 'count';
     $tab[17]['forcegroupby'] = true;
     $tab[17]['usehaving'] = true;
     $tab[17]['massiveaction'] = false;
     $tab[17]['joinparams'] = array('jointype' => 'child', 'condition' => "AND NEWTABLE.`date_use` IS NOT NULL\n                                                      AND NEWTABLE.`date_out` IS NULL");
     $tab[18]['table'] = 'glpi_cartridges';
     $tab[18]['field'] = 'id';
     $tab[18]['name'] = __('Number of worn cartridges');
     $tab[18]['datatype'] = 'count';
     $tab[18]['forcegroupby'] = true;
     $tab[18]['usehaving'] = true;
     $tab[18]['massiveaction'] = false;
     $tab[18]['joinparams'] = array('jointype' => 'child', 'condition' => "AND NEWTABLE.`date_out` IS NOT NULL");
     $tab[32]['table'] = 'glpi_networks';
     $tab[32]['field'] = 'name';
     $tab[32]['name'] = __('Network');
     $tab[32]['datatype'] = 'dropdown';
     $tab[33]['table'] = 'glpi_domains';
     $tab[33]['field'] = 'name';
     $tab[33]['name'] = __('Domain');
     $tab[33]['datatype'] = 'dropdown';
     $tab[23]['table'] = 'glpi_manufacturers';
     $tab[23]['field'] = 'name';
     $tab[23]['name'] = __('Manufacturer');
     $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[80]['table'] = 'glpi_entities';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = __('Entity');
     $tab[80]['massiveaction'] = false;
     $tab[80]['datatype'] = 'dropdown';
     $tab[82]['table'] = $this->getTable();
     $tab[82]['field'] = 'is_global';
     $tab[82]['name'] = __('Global management');
     $tab[82]['datatype'] = 'bool';
     $tab[82]['massiveaction'] = false;
     $tab[86]['table'] = $this->getTable();
     $tab[86]['field'] = 'is_recursive';
     $tab[86]['name'] = __('Child entities');
     $tab[86]['datatype'] = 'bool';
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     $tab += Notepad::getSearchOptionsToAdd();
     return $tab;
 }
示例#8
0
 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;
 }
示例#9
0
文件: phone.class.php 项目: btry/glpi
 function getSearchOptions()
 {
     $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[4]['table'] = 'glpi_phonetypes';
     $tab[4]['field'] = 'name';
     $tab[4]['name'] = __('Type');
     $tab[4]['datatype'] = 'dropdown';
     $tab[40]['table'] = 'glpi_phonemodels';
     $tab[40]['field'] = 'name';
     $tab[40]['name'] = __('Model');
     $tab[40]['datatype'] = 'dropdown';
     $tab[31]['table'] = 'glpi_states';
     $tab[31]['field'] = 'completename';
     $tab[31]['name'] = __('Status');
     $tab[31]['datatype'] = 'dropdown';
     $tab[31]['condition'] = "`is_visible_phone`";
     $tab[5]['table'] = $this->getTable();
     $tab[5]['field'] = 'serial';
     $tab[5]['name'] = __('Serial number');
     $tab[5]['datatype'] = 'string';
     $tab[6]['table'] = $this->getTable();
     $tab[6]['field'] = 'otherserial';
     $tab[6]['name'] = __('Inventory number');
     $tab[6]['datatype'] = 'string';
     $tab[7]['table'] = $this->getTable();
     $tab[7]['field'] = 'contact';
     $tab[7]['name'] = __('Alternate username');
     $tab[7]['datatype'] = 'string';
     $tab[8]['table'] = $this->getTable();
     $tab[8]['field'] = 'contact_num';
     $tab[8]['name'] = __('Alternate username number');
     $tab[8]['datatype'] = 'string';
     $tab[9]['table'] = $this->getTable();
     $tab[9]['field'] = 'number_line';
     $tab[9]['name'] = _x('quantity', 'Number of lines');
     $tab[9]['datatype'] = 'string';
     $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[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[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     $tab[11]['table'] = $this->getTable();
     $tab[11]['field'] = 'brand';
     $tab[11]['name'] = __('Brand');
     $tab[11]['datatype'] = 'string';
     $tab[23]['table'] = 'glpi_manufacturers';
     $tab[23]['field'] = 'name';
     $tab[23]['name'] = __('Manufacturer');
     $tab[23]['datatype'] = 'dropdown';
     $tab[32]['table'] = $this->getTable();
     $tab[32]['field'] = 'firmware';
     $tab[32]['name'] = __('Firmware');
     $tab[32]['datatype'] = 'string';
     $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[42]['table'] = 'glpi_phonepowersupplies';
     $tab[42]['field'] = 'name';
     $tab[42]['name'] = __('Power supply');
     $tab[42]['datatype'] = 'dropdown';
     $tab[43]['table'] = $this->getTable();
     $tab[43]['field'] = 'have_headset';
     $tab[43]['name'] = __('Headset');
     $tab[43]['datatype'] = 'bool';
     $tab[44]['table'] = $this->getTable();
     $tab[44]['field'] = 'have_hp';
     $tab[44]['name'] = __('Speaker');
     $tab[44]['datatype'] = 'bool';
     $tab[80]['table'] = 'glpi_entities';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = __('Entity');
     $tab[80]['massiveaction'] = false;
     $tab[80]['datatype'] = 'dropdown';
     $tab[82]['table'] = $this->getTable();
     $tab[82]['field'] = 'is_global';
     $tab[82]['name'] = __('Global management');
     $tab[82]['datatype'] = 'bool';
     $tab[82]['massiveaction'] = false;
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     $tab += Notepad::getSearchOptionsToAdd();
     return $tab;
 }
示例#10
0
 function getSearchOptions()
 {
     global $CFG_GLPI;
     $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[3]['table'] = $this->getTable();
     $tab[3]['field'] = 'filename';
     $tab[3]['name'] = __('File');
     $tab[3]['massiveaction'] = false;
     $tab[3]['datatype'] = 'string';
     $tab[4]['table'] = $this->getTable();
     $tab[4]['field'] = 'link';
     $tab[4]['name'] = __('Web Link');
     $tab[4]['datatype'] = 'weblink';
     $tab[5]['table'] = $this->getTable();
     $tab[5]['field'] = 'mime';
     $tab[5]['name'] = __('MIME type');
     $tab[5]['datatype'] = 'string';
     if ($CFG_GLPI['use_rich_text']) {
         $tab[6]['table'] = $this->getTable();
         $tab[6]['field'] = 'tag';
         $tab[6]['name'] = __('Tag');
         $tab[6]['datatype'] = 'text';
         $tab[6]['massiveaction'] = false;
     }
     $tab[7]['table'] = 'glpi_documentcategories';
     $tab[7]['field'] = 'completename';
     $tab[7]['name'] = __('Heading');
     $tab[7]['datatype'] = 'dropdown';
     $tab[80]['table'] = 'glpi_entities';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = __('Entity');
     $tab[80]['massiveaction'] = false;
     $tab[80]['datatype'] = 'dropdown';
     $tab[86]['table'] = $this->getTable();
     $tab[86]['field'] = 'is_recursive';
     $tab[86]['name'] = __('Child entities');
     $tab[86]['datatype'] = 'bool';
     $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[20]['table'] = $this->getTable();
     $tab[20]['field'] = 'sha1sum';
     $tab[20]['name'] = sprintf(__('%1$s (%2$s)'), __('Checksum'), __('SHA1'));
     $tab[20]['massiveaction'] = false;
     $tab[20]['datatype'] = 'string';
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     $tab[72]['table'] = 'glpi_documents_items';
     $tab[72]['field'] = 'id';
     $tab[72]['name'] = _x('quantity', 'Number of associated items');
     $tab[72]['forcegroupby'] = true;
     $tab[72]['usehaving'] = true;
     $tab[72]['datatype'] = 'count';
     $tab[72]['massiveaction'] = false;
     $tab[72]['joinparams'] = array('jointype' => 'child');
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     $tab += Notepad::getSearchOptionsToAdd();
     return $tab;
 }
示例#11
0
                if (!$item->can($_GET["id"], READ)) {
                    exit;
                }
            }
        }
    }
}
$notvalidoptions = array('_glpi_tab', '_itemtype', 'sort', 'order', 'withtemplate');
$options = $_GET;
foreach ($notvalidoptions as $key) {
    if (isset($options[$key])) {
        unset($options[$key]);
    }
}
if (isset($options['locked'])) {
    ObjectLock::setReadOnlyProfile();
}
CommonGLPI::displayStandardTab($item, $_GET['_glpi_tab'], $_GET["withtemplate"], $options);
if (isset($_GET['full_page_tab'])) {
    echo "<div class='center' id='debugajax'>";
    echo "<a href='" . htmlentities($_SERVER['REQUEST_URI']) . "' class='vsubmit'>Reload</a>";
    echo "</div>";
    // I think that we should display this warning, because tabs are not prepare
    // for being used full space ...
    if (!isset($_SESSION['glpi_warned_about_full_page_tab'])) {
        // Debug string : not really need translation.
        $msg = 'WARNING: full page tabs are only for debug/validation purpose !\\n';
        $msg .= 'Actions on this page may have undefined result.';
        echo "<script type='text/javascript' >\n";
        echo "alert('{$msg}')";
        echo "</script>";
示例#12
0
 /**
  * Get rights for an item _ may be overload by object
  *
  * @since version 0.85
  *
  * @param $interface   string   (defalt 'central')
  *
  * @return array of rights to display
  **/
 function getRights($interface = 'central')
 {
     $values = array(CREATE => __('Create'), READ => __('Read'), UPDATE => __('Update'), PURGE => array('short' => __('Purge'), 'long' => _x('button', 'Delete permanently')));
     $values += ObjectLock::getRightsToAdd(get_class($this), $interface);
     if ($this->maybeDeleted()) {
         $values[DELETE] = array('short' => __('Delete'), 'long' => _x('button', 'Put in dustbin'));
     }
     if ($this->usenotepad) {
         $values[READNOTE] = array('short' => __('Read notes'), 'long' => __("Read the item's notes"));
         $values[UPDATENOTE] = array('short' => __('Update notes'), 'long' => __("Update the item's notes"));
     }
     return $values;
 }
示例#13
0
 function getSearchOptions()
 {
     $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[3]['table'] = $this->getTable();
     $tab[3]['field'] = 'num';
     $tab[3]['name'] = _x('phone', 'Number');
     $tab[3]['datatype'] = 'string';
     $tab[4]['table'] = 'glpi_contracttypes';
     $tab[4]['field'] = 'name';
     $tab[4]['name'] = __('Type');
     $tab[4]['datatype'] = 'dropdown';
     $tab[5]['table'] = $this->getTable();
     $tab[5]['field'] = 'begin_date';
     $tab[5]['name'] = __('Start date');
     $tab[5]['datatype'] = 'date';
     $tab[5]['maybefuture'] = true;
     $tab[6]['table'] = $this->getTable();
     $tab[6]['field'] = 'duration';
     $tab[6]['name'] = __('Duration');
     $tab[6]['datatype'] = 'number';
     $tab[6]['max'] = 120;
     $tab[6]['unit'] = 'month';
     $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[20]['table'] = $this->getTable();
     $tab[20]['field'] = 'end_date';
     $tab[20]['name'] = __('End date');
     $tab[20]['datatype'] = 'date_delay';
     $tab[20]['datafields'][1] = 'begin_date';
     $tab[20]['datafields'][2] = 'duration';
     $tab[20]['searchunit'] = 'MONTH';
     $tab[20]['delayunit'] = 'MONTH';
     $tab[20]['maybefuture'] = true;
     $tab[20]['massiveaction'] = false;
     $tab[7]['table'] = $this->getTable();
     $tab[7]['field'] = 'notice';
     $tab[7]['name'] = __('Notice');
     $tab[7]['datatype'] = 'number';
     $tab[7]['max'] = 120;
     $tab[7]['unit'] = 'month';
     $tab[21]['table'] = $this->getTable();
     $tab[21]['field'] = 'periodicity';
     $tab[21]['name'] = __('Periodicity');
     $tab[21]['massiveaction'] = false;
     $tab[21]['datatype'] = 'number';
     $tab[21]['min'] = 12;
     $tab[21]['max'] = 60;
     $tab[21]['step'] = 12;
     $tab[21]['toadd'] = array(0 => Dropdown::EMPTY_VALUE, 1 => sprintf(_n('%d month', '%d months', 1), 1), 2 => sprintf(_n('%d month', '%d months', 2), 2), 3 => sprintf(_n('%d month', '%d months', 3), 3), 6 => sprintf(_n('%d month', '%d months', 6), 6));
     $tab[21]['unit'] = 'month';
     $tab[22]['table'] = $this->getTable();
     $tab[22]['field'] = 'billing';
     $tab[22]['name'] = __('Invoice period');
     $tab[22]['massiveaction'] = false;
     $tab[22]['datatype'] = 'number';
     $tab[22]['min'] = 12;
     $tab[22]['max'] = 60;
     $tab[22]['step'] = 12;
     $tab[22]['toadd'] = array(0 => Dropdown::EMPTY_VALUE, 1 => sprintf(_n('%d month', '%d months', 1), 1), 2 => sprintf(_n('%d month', '%d months', 2), 2), 3 => sprintf(_n('%d month', '%d months', 3), 3), 6 => sprintf(_n('%d month', '%d months', 6), 6));
     $tab[22]['unit'] = 'month';
     $tab[10]['table'] = $this->getTable();
     $tab[10]['field'] = 'accounting_number';
     $tab[10]['name'] = __('Account number');
     $tab[10]['datatype'] = 'string';
     $tab[23]['table'] = $this->getTable();
     $tab[23]['field'] = 'renewal';
     $tab[23]['name'] = __('Renewal');
     $tab[23]['massiveaction'] = false;
     $tab[23]['datatype'] = 'specific';
     $tab[23]['searchtype'] = array('equals', 'notequals');
     $tab[12]['table'] = $this->getTable();
     $tab[12]['field'] = 'expire';
     $tab[12]['name'] = __('Expiration');
     $tab[12]['datatype'] = 'date_delay';
     $tab[12]['datafields'][1] = 'begin_date';
     $tab[12]['datafields'][2] = 'duration';
     $tab[12]['searchunit'] = 'DAY';
     $tab[12]['delayunit'] = 'MONTH';
     $tab[12]['maybefuture'] = true;
     $tab[12]['massiveaction'] = false;
     $tab[13]['table'] = $this->getTable();
     $tab[13]['field'] = 'expire_notice';
     $tab[13]['name'] = __('Expiration date + notice');
     $tab[13]['datatype'] = 'date_delay';
     $tab[13]['datafields'][1] = 'begin_date';
     $tab[13]['datafields'][2] = 'duration';
     $tab[13]['datafields'][3] = 'notice';
     $tab[13]['searchunit'] = 'DAY';
     $tab[13]['delayunit'] = 'MONTH';
     $tab[13]['maybefuture'] = true;
     $tab[13]['massiveaction'] = false;
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     $tab[80]['table'] = 'glpi_entities';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = __('Entity');
     $tab[80]['massiveaction'] = false;
     $tab[80]['datatype'] = 'dropdown';
     $tab[59]['table'] = $this->getTable();
     $tab[59]['field'] = 'alert';
     $tab[59]['name'] = __('Email alarms');
     $tab[59]['datatype'] = 'specific';
     $tab[59]['searchtype'] = array('equals', 'notequals');
     $tab[86]['table'] = $this->getTable();
     $tab[86]['field'] = 'is_recursive';
     $tab[86]['name'] = __('Child entities');
     $tab[86]['datatype'] = 'bool';
     $tab[72]['table'] = 'glpi_contracts_items';
     $tab[72]['field'] = 'id';
     $tab[72]['name'] = _x('quantity', 'Number of items');
     $tab[72]['forcegroupby'] = true;
     $tab[72]['usehaving'] = true;
     $tab[72]['datatype'] = 'count';
     $tab[72]['massiveaction'] = false;
     $tab[72]['joinparams'] = array('jointype' => 'child');
     $tab[29]['table'] = 'glpi_suppliers';
     $tab[29]['field'] = 'name';
     $tab[29]['name'] = _n('Associated supplier', 'Associated suppliers', Session::getPluralNumber());
     $tab[29]['forcegroupby'] = true;
     $tab[29]['datatype'] = 'itemlink';
     $tab[29]['massiveaction'] = false;
     $tab[29]['joinparams'] = array('beforejoin' => array('table' => 'glpi_contracts_suppliers', 'joinparams' => array('jointype' => 'child')));
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     $tab += Notepad::getSearchOptionsToAdd();
     $tab['cost'] = __('Cost');
     $tab[11]['table'] = 'glpi_contractcosts';
     $tab[11]['field'] = 'totalcost';
     $tab[11]['name'] = __('Total cost');
     $tab[11]['datatype'] = 'decimal';
     $tab[11]['forcegroupby'] = true;
     $tab[11]['usehaving'] = true;
     $tab[11]['massiveaction'] = false;
     $tab[11]['joinparams'] = array('jointype' => 'child');
     $tab[11]['computation'] = "(SUM(TABLE.`cost`) / COUNT(TABLE.`id`))\n                                       * COUNT(DISTINCT TABLE.`id`)";
     $tab[41]['table'] = 'glpi_contractcosts';
     $tab[41]['field'] = 'cost';
     $tab[41]['name'] = _n('Cost', 'Costs', Session::getPluralNumber());
     $tab[41]['datatype'] = 'decimal';
     $tab[41]['forcegroupby'] = true;
     $tab[41]['massiveaction'] = false;
     $tab[41]['joinparams'] = array('jointype' => 'child');
     $tab[42]['table'] = 'glpi_contractcosts';
     $tab[42]['field'] = 'begin_date';
     $tab[42]['name'] = sprintf(__('%1$s - %2$s'), __('Cost'), __('Begin date'));
     $tab[42]['datatype'] = 'date';
     $tab[42]['forcegroupby'] = true;
     $tab[42]['massiveaction'] = false;
     $tab[42]['joinparams'] = array('jointype' => 'child');
     $tab[43]['table'] = 'glpi_contractcosts';
     $tab[43]['field'] = 'end_date';
     $tab[43]['name'] = sprintf(__('%1$s - %2$s'), __('Cost'), __('End date'));
     $tab[43]['datatype'] = 'date';
     $tab[43]['forcegroupby'] = true;
     $tab[43]['massiveaction'] = false;
     $tab[43]['joinparams'] = array('jointype' => 'child');
     $tab[44]['table'] = 'glpi_contractcosts';
     $tab[44]['field'] = 'name';
     $tab[44]['name'] = sprintf(__('%1$s - %2$s'), __('Cost'), __('Name'));
     $tab[44]['forcegroupby'] = true;
     $tab[44]['massiveaction'] = false;
     $tab[44]['joinparams'] = array('jointype' => 'child');
     $tab[44]['datatype'] = 'dropdown';
     $tab[45]['table'] = 'glpi_budgets';
     $tab[45]['field'] = 'name';
     $tab[45]['name'] = sprintf(__('%1$s - %2$s'), __('Cost'), __('Budget'));
     $tab[45]['datatype'] = 'dropdown';
     $tab[45]['forcegroupby'] = true;
     $tab[45]['massiveaction'] = false;
     $tab[45]['joinparams'] = array('beforejoin' => array('table' => 'glpi_contractcosts', 'joinparams' => array('jointype' => 'child')));
     return $tab;
 }
示例#14
0
 /**
  * Summary of setReadOnlyProfile
  * Switches current profile with read-only profile
  * Registers a shutdown function to be sure that even in case of die() calls,
  * the switch back will be done: to ensure correct reset of normal profile
  **/
 static function setReadOnlyProfile()
 {
     global $CFG_GLPI, $_SESSION;
     // to prevent double set ReadOnlyProfile
     if (!isset($_SESSION['glpilocksavedprofile'])) {
         if (isset($CFG_GLPI['lock_lockprofile'])) {
             if (!self::$shutdownregistered) {
                 // this is a security in case of a die that can prevent correct revert of profile
                 register_shutdown_function(array(__CLASS__, 'revertProfile'));
                 self::$shutdownregistered = true;
             }
             $_SESSION['glpilocksavedprofile'] = $_SESSION['glpiactiveprofile'];
             $_SESSION['glpiactiveprofile'] = $CFG_GLPI['lock_lockprofile'];
             // this mask is mandatory to prevent read of information
             // that are not permitted to view by active profile
             ProfileRight::getAllPossibleRights();
             foreach ($_SESSION['glpi_all_possible_rights'] as $key => $val) {
                 if (isset($_SESSION['glpilocksavedprofile'][$key])) {
                     $_SESSION['glpiactiveprofile'][$key] = intval($_SESSION['glpilocksavedprofile'][$key]) & (isset($CFG_GLPI['lock_lockprofile'][$key]) ? intval($CFG_GLPI['lock_lockprofile'][$key]) : 0);
                 }
             }
             // don't forget entities
             $_SESSION['glpiactiveprofile']['entities'] = $_SESSION['glpilocksavedprofile']['entities'];
         }
     }
 }
示例#15
0
 function getSearchOptions()
 {
     $tab = array();
     $tab['common'] = __('Characteristics');
     $tab[2]['table'] = $this->getTable();
     $tab[2]['field'] = 'id';
     $tab[2]['name'] = __('ID');
     $tab[2]['massiveaction'] = false;
     $tab[2]['datatype'] = 'number';
     $tab[4]['table'] = 'glpi_knowbaseitemcategories';
     $tab[4]['field'] = 'name';
     $tab[4]['name'] = __('Category');
     $tab[4]['datatype'] = 'dropdown';
     $tab[5]['table'] = $this->getTable();
     $tab[5]['field'] = 'date';
     $tab[5]['name'] = __('Date');
     $tab[5]['datatype'] = 'datetime';
     $tab[5]['massiveaction'] = false;
     $tab[6]['table'] = $this->getTable();
     $tab[6]['field'] = 'name';
     $tab[6]['name'] = __('Subject');
     $tab[6]['datatype'] = 'text';
     $tab[7]['table'] = $this->getTable();
     $tab[7]['field'] = 'answer';
     $tab[7]['name'] = __('Content');
     $tab[7]['datatype'] = 'text';
     $tab[7]['htmltext'] = true;
     $tab[8]['table'] = $this->getTable();
     $tab[8]['field'] = 'is_faq';
     $tab[8]['name'] = __('FAQ item');
     $tab[8]['datatype'] = 'bool';
     $tab[9]['table'] = $this->getTable();
     $tab[9]['field'] = 'view';
     $tab[9]['name'] = _n('View', 'Views', Session::getPluralNumber());
     $tab[9]['datatype'] = 'integer';
     $tab[9]['massiveaction'] = false;
     $tab[10]['table'] = $this->getTable();
     $tab[10]['field'] = 'begin_date';
     $tab[10]['name'] = __('Visibility start date');
     $tab[10]['datatype'] = 'datetime';
     $tab[11]['table'] = $this->getTable();
     $tab[11]['field'] = 'end_date';
     $tab[11]['name'] = __('Visibility end date');
     $tab[11]['datatype'] = 'datetime';
     $tab[19]['table'] = $this->getTable();
     $tab[19]['field'] = 'date_mod';
     $tab[19]['name'] = __('Last update');
     $tab[19]['datatype'] = 'datetime';
     $tab[19]['massiveaction'] = false;
     $tab[70]['table'] = 'glpi_users';
     $tab[70]['field'] = 'name';
     $tab[70]['name'] = __('User');
     $tab[70]['massiveaction'] = false;
     $tab[70]['datatype'] = 'dropdown';
     $tab[70]['right'] = 'all';
     $tab[80]['table'] = 'glpi_entities';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = __('Entity');
     $tab[80]['massiveaction'] = false;
     $tab[80]['datatype'] = 'dropdown';
     $tab[86]['table'] = $this->getTable();
     $tab[86]['field'] = 'is_recursive';
     $tab[86]['name'] = __('Child entities');
     $tab[86]['datatype'] = 'bool';
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     return $tab;
 }
示例#16
0
 function getSearchOptions()
 {
     $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;
     // implicit key==1
     $tab[1]['forcegroupby'] = true;
     $tab[2]['table'] = $this->getTable();
     $tab[2]['field'] = 'id';
     $tab[2]['name'] = __('ID');
     $tab[2]['massiveaction'] = false;
     // implicit field is id
     $tab[2]['datatype'] = 'number';
     $tab[4]['table'] = $this->getTable();
     $tab[4]['field'] = 'code';
     $tab[4]['name'] = __('Code');
     $tab[4]['massiveaction'] = false;
     $tab[4]['datatype'] = 'string';
     $tab[13]['table'] = $this->getTable();
     $tab[13]['field'] = 'name';
     $tab[13]['name'] = __('Father');
     $tab[13]['datatype'] = 'itemlink';
     $tab[13]['massiveaction'] = false;
     // Add virtual condition to relink table
     $tab[13]['joinparams'] = array('condition' => "AND 1=1");
     $tab[21]['table'] = $this->getTable();
     $tab[21]['field'] = 'content';
     $tab[21]['name'] = __('Description');
     $tab[21]['massiveaction'] = false;
     $tab[21]['datatype'] = 'text';
     $tab[3]['table'] = $this->getTable();
     $tab[3]['field'] = 'priority';
     $tab[3]['name'] = __('Priority');
     $tab[3]['searchtype'] = 'equals';
     $tab[3]['datatype'] = 'specific';
     $tab[14]['table'] = 'glpi_projecttypes';
     $tab[14]['field'] = 'name';
     $tab[14]['name'] = __('Type');
     $tab[14]['datatype'] = 'dropdown';
     $tab[12]['table'] = 'glpi_projectstates';
     $tab[12]['field'] = 'name';
     $tab[12]['name'] = _x('item', 'State');
     $tab[12]['datatype'] = 'dropdown';
     $tab[15]['table'] = $this->getTable();
     $tab[15]['field'] = 'date';
     $tab[15]['name'] = __('Creation date');
     $tab[15]['datatype'] = 'datetime';
     $tab[15]['massiveaction'] = false;
     $tab[5]['table'] = $this->getTable();
     $tab[5]['field'] = 'percent_done';
     $tab[5]['name'] = __('Percent done');
     $tab[5]['datatype'] = 'number';
     $tab[5]['unit'] = '%';
     $tab[5]['min'] = 0;
     $tab[5]['max'] = 100;
     $tab[5]['step'] = 5;
     $tab[6]['table'] = $this->getTable();
     $tab[6]['field'] = 'show_on_global_gantt';
     $tab[6]['name'] = __('Show on global GANTT');
     $tab[6]['datatype'] = 'bool';
     $tab[24]['table'] = 'glpi_users';
     $tab[24]['field'] = 'name';
     $tab[24]['linkfield'] = 'users_id';
     $tab[24]['name'] = __('Manager');
     $tab[24]['datatype'] = 'dropdown';
     $tab[24]['right'] = 'see_project';
     $tab[49]['table'] = 'glpi_groups';
     $tab[49]['field'] = 'completename';
     $tab[49]['linkfield'] = 'groups_id';
     $tab[49]['name'] = __('Manager group');
     $tab[49]['condition'] = '`is_manager`';
     $tab[49]['datatype'] = 'dropdown';
     $tab[7]['table'] = $this->getTable();
     $tab[7]['field'] = 'plan_start_date';
     $tab[7]['name'] = __('Planned start date');
     $tab[7]['datatype'] = 'datetime';
     $tab[8]['table'] = $this->getTable();
     $tab[8]['field'] = 'plan_end_date';
     $tab[8]['name'] = __('Planned end date');
     $tab[8]['datatype'] = 'datetime';
     $tab[17]['table'] = $this->getTable();
     $tab[17]['field'] = '_virtual_planned_duration';
     $tab[17]['name'] = __('Planned duration');
     $tab[17]['datatype'] = 'specific';
     $tab[17]['nosearch'] = true;
     $tab[17]['massiveaction'] = false;
     $tab[17]['nosort'] = true;
     $tab[9]['table'] = $this->getTable();
     $tab[9]['field'] = 'real_start_date';
     $tab[9]['name'] = __('Real start date');
     $tab[9]['datatype'] = 'datetime';
     $tab[10]['table'] = $this->getTable();
     $tab[10]['field'] = 'real_end_date';
     $tab[10]['name'] = __('Real end date');
     $tab[10]['datatype'] = 'datetime';
     $tab[18]['table'] = $this->getTable();
     $tab[18]['field'] = '_virtual_effective_duration';
     $tab[18]['name'] = __('Effective duration');
     $tab[18]['datatype'] = 'specific';
     $tab[18]['nosearch'] = true;
     $tab[18]['massiveaction'] = false;
     $tab[18]['nosort'] = true;
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     $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[80]['table'] = 'glpi_entities';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = __('Entity');
     $tab[80]['datatype'] = 'dropdown';
     $tab[86]['table'] = $this->getTable();
     $tab[86]['field'] = 'is_recursive';
     $tab[86]['name'] = __('Child entities');
     $tab[86]['datatype'] = 'bool';
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     $tab += Notepad::getSearchOptionsToAdd();
     return $tab;
 }
示例#17
0
 /**
  * Print the config form for display
  *
  * @return Nothing (display)
  **/
 function showFormDisplay()
 {
     global $CFG_GLPI;
     if (!self::canView()) {
         return false;
     }
     $canedit = Session::haveRight(self::$rightname, UPDATE);
     if ($canedit) {
         echo "<form name='form' action=\"" . Toolbox::getItemTypeFormURL(__CLASS__) . "\" method='post'>";
     }
     echo "<div class='center' id='tabsbody'>";
     echo "<table class='tab_cadre_fixe'>";
     echo "<tr><th colspan='4'>" . __('General setup') . "</th></tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . __('URL of the application') . "</td>";
     echo "<td colspan='3'><input type='text' name='url_base' size='80' value='" . $CFG_GLPI["url_base"] . "'>";
     echo "</td></tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td> " . __('Text in the login box') . "</td>";
     echo "<td colspan='3'>";
     echo "<textarea cols='70' rows='4' name='text_login'>" . $CFG_GLPI["text_login"] . "</textarea>";
     echo "</td></tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td width='30%'> " . __('Allow FAQ anonymous access') . "</td><td  width='20%'>";
     Dropdown::showYesNo("use_public_faq", $CFG_GLPI["use_public_faq"]);
     echo "</td><td width='30%'>" . __('Simplified interface help link') . "</td>";
     echo "<td><input size='22' type='text' name='helpdesk_doc_url' value='" . $CFG_GLPI["helpdesk_doc_url"] . "'></td>";
     echo "</tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . __('Default search results limit (page)') . "</td><td>";
     Dropdown::showNumber("list_limit_max", array('value' => $CFG_GLPI["list_limit_max"], 'min' => 5, 'max' => 200, 'step' => 5));
     echo "</td><td>" . __('Standard interface help link') . "</td>";
     echo "<td><input size='22' type='text' name='central_doc_url' value='" . $CFG_GLPI["central_doc_url"] . "'></td>";
     echo "</tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . __('Default characters limit (summary text boxes)') . "</td><td>";
     Dropdown::showNumber('cut', array('value' => $CFG_GLPI["cut"], 'min' => 50, 'max' => 500, 'step' => 50));
     echo "</td><td>" . __('Default url length limit') . "</td><td>";
     Dropdown::showNumber('url_maxlength', array('value' => $CFG_GLPI["url_maxlength"], 'min' => 20, 'max' => 80, 'step' => 5));
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_2'><td>" . __('Default decimals limit') . "</td><td>";
     Dropdown::showNumber("decimal_number", array('value' => $CFG_GLPI["decimal_number"], 'min' => 1, 'max' => 4));
     echo "</td><td>" . __('Default chart format') . "</td><td>";
     Dropdown::showFromArray("default_graphtype", array('png' => 'PNG', 'svg' => 'SVG'), array('value' => $CFG_GLPI["default_graphtype"]));
     echo "</td></tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . __("Translation of dropdowns") . "</td><td>";
     Dropdown::showYesNo("translate_dropdowns", $CFG_GLPI["translate_dropdowns"]);
     echo "</td>";
     echo "<td>" . __("Knowledge base translation") . "</td><td>";
     Dropdown::showYesNo("translate_kb", $CFG_GLPI["translate_kb"]);
     echo "</td></tr>";
     echo "<tr class='tab_bg_1'><td colspan='4' class='center b'>" . __('Dynamic display') . "</td></tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . __('Page size for dropdown (paging using scroll)') . "</td><td>";
     Dropdown::showNumber('dropdown_max', array('value' => $CFG_GLPI["dropdown_max"], 'min' => 0, 'max' => 200));
     echo "</td>";
     echo "<td>" . __('Autocompletion of text fields') . "</td><td>";
     Dropdown::showYesNo("use_ajax_autocompletion", $CFG_GLPI["use_ajax_autocompletion"]);
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . __("Don't show search engine in dropdowns if the number of items is less than") . "</td><td>";
     Dropdown::showNumber('ajax_limit_count', array('value' => $CFG_GLPI["ajax_limit_count"], 'min' => 1, 'max' => 200, 'step' => 1, 'toadd' => array(0 => __('Never'))));
     echo "<td colspan='2'></td>";
     echo "</td></tr>";
     echo "<tr class='tab_bg_1'><td colspan='4' class='center b'>" . __('Search engine') . "</td></tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . __('Items seen') . "</td><td>";
     $values = array(0 => __('No'), 1 => sprintf(__('%1$s (%2$s)'), __('Yes'), __('last criterion')), 2 => sprintf(__('%1$s (%2$s)'), __('Yes'), __('default criterion')));
     Dropdown::showFromArray('allow_search_view', $values, array('value' => $CFG_GLPI['allow_search_view']));
     echo "</td><td>" . __('Global search') . "</td><td>";
     if ($CFG_GLPI['allow_search_view']) {
         Dropdown::showYesNo('allow_search_global', $CFG_GLPI['allow_search_global']);
     } else {
         echo Dropdown::getYesNo(0);
     }
     echo "</td></tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . __('All') . "</td><td>";
     $values = array(0 => __('No'), 1 => sprintf(__('%1$s (%2$s)'), __('Yes'), __('last criterion')));
     Dropdown::showFromArray('allow_search_all', $values, array('value' => $CFG_GLPI['allow_search_all']));
     echo "</td><td colspan='2'></td></tr>";
     echo "<tr class='tab_bg_1'><td colspan='4' class='center b'>" . __('Item locks') . "</td></tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . __('Use locks') . "</td><td>";
     Dropdown::showYesNo("lock_use_lock_item", $CFG_GLPI["lock_use_lock_item"]);
     echo "</td><td>" . __('Profile to be used when locking items') . "</td><td>";
     if ($CFG_GLPI["lock_use_lock_item"]) {
         Profile::dropdown(array('name' => 'lock_lockprofile_id', 'display_emptychoice' => true, 'value' => $CFG_GLPI['lock_lockprofile_id']));
     } else {
         echo dropdown::getDropdownName(Profile::getTable(), $CFG_GLPI['lock_lockprofile_id']);
     }
     echo "</td></tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>" . __('List of items to lock') . "</td>";
     echo "<td  colspan=3>";
     Dropdown::showFromArray('lock_item_list', ObjectLock::getLockableObjects(), array('values' => $CFG_GLPI['lock_item_list'], 'width' => '100%', 'multiple' => true, 'readonly' => !$CFG_GLPI["lock_use_lock_item"]));
     echo "</td></tr>";
     if ($canedit) {
         echo "<tr class='tab_bg_2'>";
         echo "<td colspan='4' class='center'>";
         echo "<input type='submit' name='update' class='submit' value=\"" . _sx('button', 'Save') . "\">";
         echo "</td></tr>";
     }
     echo "</table></div>";
     Html::closeForm();
 }
示例#18
0
 /**
  * Get search function for the class
  *
  * @return array of search option
  **/
 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[13]['table'] = $this->getTable();
     $tab[13]['field'] = 'completename';
     $tab[13]['name'] = __('Father');
     $tab[13]['datatype'] = 'dropdown';
     $tab[13]['massiveaction'] = false;
     // Add virtual condition to relink table
     $tab[13]['joinparams'] = array('condition' => "AND 1=1");
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     if ($this->isEntityAssign()) {
         $tab[80]['table'] = 'glpi_entities';
         $tab[80]['field'] = 'completename';
         $tab[80]['name'] = __('Entity');
         $tab[80]['massiveaction'] = false;
         $tab[80]['datatype'] = 'dropdown';
     }
     if ($this->maybeRecursive()) {
         $tab[86]['table'] = $this->getTable();
         $tab[86]['field'] = 'is_recursive';
         $tab[86]['name'] = __('Child entities');
         $tab[86]['datatype'] = 'bool';
     }
     if ($this->isField('date_mod')) {
         $tab[19]['table'] = $this->getTable();
         $tab[19]['field'] = 'date_mod';
         $tab[19]['name'] = __('Last update');
         $tab[19]['datatype'] = 'datetime';
         $tab[19]['massiveaction'] = false;
     }
     if ($this->isField('date_creation')) {
         $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));
     return $tab;
 }
示例#19
0
 function getSearchOptions()
 {
     $tab = array();
     $tab['common'] = __('Characteristics');
     $tab[1]['table'] = $this->getTable();
     $tab[1]['field'] = 'name';
     $tab[1]['name'] = __('Surname');
     $tab[1]['datatype'] = 'itemlink';
     $tab[1]['massiveaction'] = false;
     $tab[11]['table'] = $this->getTable();
     $tab[11]['field'] = 'firstname';
     $tab[11]['name'] = __('First name');
     $tab[11]['datatype'] = 'string';
     $tab[2]['table'] = $this->getTable();
     $tab[2]['field'] = 'id';
     $tab[2]['name'] = __('ID');
     $tab[2]['massiveaction'] = false;
     $tab[2]['datatype'] = 'number';
     $tab[3]['table'] = $this->getTable();
     $tab[3]['field'] = 'phone';
     $tab[3]['name'] = __('Phone');
     $tab[3]['datatype'] = 'string';
     $tab[4]['table'] = $this->getTable();
     $tab[4]['field'] = 'phone2';
     $tab[4]['name'] = __('Phone 2');
     $tab[4]['datatype'] = 'string';
     $tab[10]['table'] = $this->getTable();
     $tab[10]['field'] = 'mobile';
     $tab[10]['name'] = __('Mobile phone');
     $tab[10]['datatype'] = 'string';
     $tab[5]['table'] = $this->getTable();
     $tab[5]['field'] = 'fax';
     $tab[5]['name'] = __('Fax');
     $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[82]['table'] = $this->getTable();
     $tab[82]['field'] = 'address';
     $tab[82]['name'] = __('Address');
     $tab[83]['datatype'] = 'text';
     $tab[84]['table'] = $this->getTable();
     $tab[84]['field'] = 'town';
     $tab[84]['name'] = __('City');
     $tab[84]['datatype'] = 'string';
     $tab[83]['table'] = $this->getTable();
     $tab[83]['field'] = 'postcode';
     $tab[83]['name'] = __('Postal code');
     $tab[83]['datatype'] = 'string';
     $tab[85]['table'] = $this->getTable();
     $tab[85]['field'] = 'state';
     $tab[85]['name'] = _x('location', 'State');
     $tab[85]['datatype'] = 'string';
     $tab[87]['table'] = $this->getTable();
     $tab[87]['field'] = 'country';
     $tab[87]['name'] = __('Country');
     $tab[87]['datatype'] = 'string';
     $tab[9]['table'] = 'glpi_contacttypes';
     $tab[9]['field'] = 'name';
     $tab[9]['name'] = __('Type');
     $tab[9]['datatype'] = 'dropdown';
     $tab[81]['table'] = 'glpi_usertitles';
     $tab[81]['field'] = 'name';
     $tab[81]['name'] = _x('person', 'Title');
     $tab[81]['datatype'] = 'dropdown';
     $tab[8]['table'] = 'glpi_suppliers';
     $tab[8]['field'] = 'name';
     $tab[8]['name'] = _n('Associated supplier', 'Associated suppliers', Session::getPluralNumber());
     $tab[8]['forcegroupby'] = true;
     $tab[8]['datatype'] = 'itemlink';
     $tab[8]['joinparams'] = array('beforejoin' => array('table' => 'glpi_contacts_suppliers', 'joinparams' => array('jointype' => 'child')));
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     $tab[80]['table'] = 'glpi_entities';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = __('Entity');
     $tab[80]['massiveaction'] = false;
     $tab[80]['datatype'] = 'dropdown';
     $tab[86]['table'] = $this->getTable();
     $tab[86]['field'] = 'is_recursive';
     $tab[86]['name'] = __('Child entities');
     $tab[86]['datatype'] = 'bool';
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     $tab += Notepad::getSearchOptionsToAdd();
     return $tab;
 }
示例#20
0
Session::checkLoginUser();
$ret = 0;
if (isset($_GET['unlock']) && isset($_GET["id"])) {
    // then we may have something to unlock
    $ol = new ObjectLock();
    if ($ol->getFromDB($_GET["id"]) && $ol->deleteFromDB(1)) {
        if (isset($_GET['force'])) {
            Log::history($ol->fields['items_id'], $ol->fields['itemtype'], array(0, '', ''), 0, Log::HISTORY_UNLOCK_ITEM);
        }
        $ret = 1;
    }
} else {
    if (isset($_GET['requestunlock']) && isset($_GET["id"])) {
        // the we must ask for unlock
        $ol = new ObjectLock();
        if ($ol->getFromDB($_GET["id"])) {
            NotificationEvent::raiseEvent('unlock', $ol);
            $ret = 1;
        }
    } else {
        if (isset($_GET['lockstatus']) && isset($_GET["id"])) {
            $ol = new ObjectLock();
            if ($ol->getFromDB($_GET["id"])) {
                $ret = 1;
                // found = still locked
            }
            // else will return 0 = not found
        }
    }
}
echo $ret;
示例#21
0
 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';
     return $tab;
 }
示例#22
0
 function getSearchOptions()
 {
     $tab = array();
     $tab['common'] = __('Characteristics');
     $tab[1]['table'] = $this->getTable();
     $tab[1]['field'] = 'name';
     $tab[1]['name'] = __('Title');
     $tab[1]['datatype'] = 'itemlink';
     $tab[1]['massiveaction'] = false;
     $tab[1]['forcegroupby'] = true;
     $tab[2]['table'] = 'glpi_users';
     $tab[2]['field'] = 'name';
     $tab[2]['name'] = __('Writer');
     $tab[2]['datatype'] = 'dropdown';
     $tab[2]['massiveaction'] = false;
     $tab[2]['right'] = 'all';
     $tab[3]['table'] = $this->getTable();
     $tab[3]['field'] = 'state';
     $tab[3]['name'] = __('Status');
     $tab[3]['datatype'] = 'specific';
     $tab[3]['massiveaction'] = false;
     $tab[3]['searchtype'] = array('equals', 'notequals');
     $tab[4]['table'] = $this->getTable();
     $tab[4]['field'] = 'text';
     $tab[4]['name'] = __('Description');
     $tab[4]['massiveaction'] = false;
     $tab[4]['datatype'] = 'text';
     $tab[4]['htmltext'] = true;
     $tab[5]['table'] = $this->getTable();
     $tab[5]['field'] = 'begin_view_date';
     $tab[5]['name'] = __('Visibility start date');
     $tab[5]['datatype'] = 'datetime';
     $tab[6]['table'] = $this->getTable();
     $tab[6]['field'] = 'end_view_date';
     $tab[6]['name'] = __('Visibility end date');
     $tab[6]['datatype'] = 'datetime';
     $tab[7]['table'] = $this->getTable();
     $tab[7]['field'] = 'is_planned';
     $tab[7]['name'] = __('Planning');
     $tab[7]['datatype'] = 'bool';
     $tab[7]['massiveaction'] = false;
     $tab[8]['table'] = $this->getTable();
     $tab[8]['field'] = 'begin';
     $tab[8]['name'] = __('Planning start date');
     $tab[8]['datatype'] = 'datetime';
     $tab[9]['table'] = $this->getTable();
     $tab[9]['field'] = 'end';
     $tab[9]['name'] = __('Planning end date');
     $tab[9]['datatype'] = 'datetime';
     $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;
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     return $tab;
 }
示例#23
0
 function getSearchOptions()
 {
     $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[4]['table'] = 'glpi_monitortypes';
     $tab[4]['field'] = 'name';
     $tab[4]['name'] = __('Type');
     $tab[4]['datatype'] = 'dropdown';
     $tab[40]['table'] = 'glpi_monitormodels';
     $tab[40]['field'] = 'name';
     $tab[40]['name'] = __('Model');
     $tab[40]['datatype'] = 'dropdown';
     $tab[31]['table'] = 'glpi_states';
     $tab[31]['field'] = 'completename';
     $tab[31]['name'] = __('Status');
     $tab[31]['datatype'] = 'dropdown';
     $tab[31]['condition'] = "`is_visible_monitor`";
     $tab[5]['table'] = $this->getTable();
     $tab[5]['field'] = 'serial';
     $tab[5]['name'] = __('Serial number');
     $tab[5]['datatype'] = 'string';
     $tab[6]['table'] = $this->getTable();
     $tab[6]['field'] = 'otherserial';
     $tab[6]['name'] = __('Inventory number');
     $tab[6]['datatype'] = 'string';
     $tab[7]['table'] = $this->getTable();
     $tab[7]['field'] = 'contact';
     $tab[7]['name'] = __('Alternate username');
     $tab[7]['datatype'] = 'string';
     $tab[8]['table'] = $this->getTable();
     $tab[8]['field'] = 'contact_num';
     $tab[8]['name'] = __('Alternate username number');
     $tab[8]['datatype'] = 'string';
     $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[19]['table'] = $this->getTable();
     $tab[19]['field'] = 'date_mod';
     $tab[19]['name'] = __('Last update');
     $tab[19]['datatype'] = 'datetime';
     $tab[19]['massiveaction'] = false;
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     $tab[11]['table'] = $this->getTable();
     $tab[11]['field'] = 'size';
     $tab[11]['name'] = __('Size');
     $tab[11]['datatype'] = 'number';
     $tab[41]['table'] = $this->getTable();
     $tab[41]['field'] = 'have_micro';
     $tab[41]['name'] = __('Microphone');
     $tab[41]['datatype'] = 'bool';
     $tab[42]['table'] = $this->getTable();
     $tab[42]['field'] = 'have_speaker';
     $tab[42]['name'] = __('Speakers');
     $tab[42]['datatype'] = 'bool';
     $tab[43]['table'] = $this->getTable();
     $tab[43]['field'] = 'have_subd';
     $tab[43]['name'] = __('Sub-D');
     $tab[43]['datatype'] = 'bool';
     $tab[44]['table'] = $this->getTable();
     $tab[44]['field'] = 'have_bnc';
     $tab[44]['name'] = 'BNC';
     $tab[44]['datatype'] = 'bool';
     $tab[45]['table'] = $this->getTable();
     $tab[45]['field'] = 'have_dvi';
     $tab[45]['name'] = __('DVI');
     $tab[45]['datatype'] = 'bool';
     $tab[46]['table'] = $this->getTable();
     $tab[46]['field'] = 'have_pivot';
     $tab[46]['name'] = __('Pivot');
     $tab[46]['datatype'] = 'bool';
     $tab[47]['table'] = $this->getTable();
     $tab[47]['field'] = 'have_hdmi';
     $tab[47]['name'] = __('HDMI');
     $tab[47]['datatype'] = 'bool';
     $tab[48]['table'] = $this->getTable();
     $tab[48]['field'] = 'have_displayport';
     $tab[48]['name'] = __('DisplayPort');
     $tab[48]['datatype'] = 'bool';
     $tab[23]['table'] = 'glpi_manufacturers';
     $tab[23]['field'] = 'name';
     $tab[23]['name'] = __('Manufacturer');
     $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[80]['table'] = 'glpi_entities';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = __('Entity');
     $tab[80]['massiveaction'] = false;
     $tab[80]['datatype'] = 'dropdown';
     $tab[82]['table'] = $this->getTable();
     $tab[82]['field'] = 'is_global';
     $tab[82]['name'] = __('Global management');
     $tab[82]['datatype'] = 'bool';
     $tab[82]['massiveaction'] = false;
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     $tab += Notepad::getSearchOptionsToAdd();
     return $tab;
 }
示例#24
0
 /** Display item with tabs
  *
  * @since version 0.85
  *
  * @param $options   array
  **/
 function display($options = array())
 {
     global $CFG_GLPI;
     if (isset($options['id']) && !$this->isNewID($options['id'])) {
         if (!$this->getFromDB($options['id'])) {
             Html::displayNotFoundError();
         }
     }
     // in case of lefttab layout, we couldn't see "right error" message
     if ($this->get_item_to_display_tab) {
         if (isset($_GET["id"]) && $_GET["id"] && !$this->can($_GET["id"], READ)) {
             html::displayRightError();
         }
     }
     // try to lock object
     // $options must contains the id of the object, and if locked by manageObjectLock will contains 'locked' => 1
     ObjectLock::manageObjectLock(get_class($this), $options);
     $this->showNavigationHeader($options);
     if (!self::isLayoutExcludedPage() && self::isLayoutWithMain()) {
         if (!isset($options['id'])) {
             $options['id'] = 0;
         }
         $this->showPrimaryForm($options);
     }
     $this->showTabsContent($options);
 }
示例#25
0
 function getSearchOptions()
 {
     $tab = array();
     $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[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[5]['table'] = $this->getTable();
     $tab[5]['field'] = 'begin_date';
     $tab[5]['name'] = __('Start date');
     $tab[5]['datatype'] = 'date';
     $tab[3]['table'] = $this->getTable();
     $tab[3]['field'] = 'end_date';
     $tab[3]['name'] = __('End date');
     $tab[3]['datatype'] = 'date';
     $tab[4]['table'] = $this->getTable();
     $tab[4]['field'] = 'value';
     $tab[4]['name'] = _x('price', 'Value');
     $tab[4]['datatype'] = 'decimal';
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     $tab[80]['table'] = 'glpi_entities';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = __('Entity');
     $tab[80]['massiveaction'] = false;
     $tab[80]['datatype'] = 'dropdown';
     $tab[86]['table'] = $this->getTable();
     $tab[86]['field'] = 'is_recursive';
     $tab[86]['name'] = __('Child entities');
     $tab[86]['datatype'] = 'bool';
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     $tab += Notepad::getSearchOptionsToAdd();
     return $tab;
 }
示例#26
0
 function getSearchOptions()
 {
     $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[3]['table'] = $this->getTable();
     $tab[3]['field'] = 'address';
     $tab[3]['name'] = __('Address');
     $tab[3]['datatype'] = 'text';
     $tab[10]['table'] = $this->getTable();
     $tab[10]['field'] = 'fax';
     $tab[10]['name'] = __('Fax');
     $tab[10]['datatype'] = 'string';
     $tab[11]['table'] = $this->getTable();
     $tab[11]['field'] = 'town';
     $tab[11]['name'] = __('City');
     $tab[11]['datatype'] = 'string';
     $tab[14]['table'] = $this->getTable();
     $tab[14]['field'] = 'postcode';
     $tab[14]['name'] = __('Postal code');
     $tab[14]['datatype'] = 'string';
     $tab[12]['table'] = $this->getTable();
     $tab[12]['field'] = 'state';
     $tab[12]['name'] = _x('location', 'State');
     $tab[12]['datatype'] = 'string';
     $tab[13]['table'] = $this->getTable();
     $tab[13]['field'] = 'country';
     $tab[13]['name'] = __('Country');
     $tab[13]['datatype'] = 'string';
     $tab[4]['table'] = $this->getTable();
     $tab[4]['field'] = 'website';
     $tab[4]['name'] = __('Website');
     $tab[4]['datatype'] = 'weblink';
     $tab[5]['table'] = $this->getTable();
     $tab[5]['field'] = 'phonenumber';
     $tab[5]['name'] = __('Phone');
     $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[9]['table'] = 'glpi_suppliertypes';
     $tab[9]['field'] = 'name';
     $tab[9]['name'] = __('Third party type');
     $tab[9]['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;
     if ($_SESSION["glpinames_format"] == User::FIRSTNAME_BEFORE) {
         $name1 = 'firstname';
         $name2 = 'name';
     } else {
         $name1 = 'name';
         $name2 = 'firstname';
     }
     $tab[8]['table'] = 'glpi_contacts';
     $tab[8]['field'] = 'completename';
     $tab[8]['name'] = _n('Associated contact', 'Associated contacts', Session::getPluralNumber());
     $tab[8]['forcegroupby'] = true;
     $tab[8]['datatype'] = 'itemlink';
     $tab[8]['massiveaction'] = false;
     $tab[8]['computation'] = "CONCAT(TABLE.`{$name1}`, ' ', TABLE.`{$name2}`)";
     $tab[8]['computationgroupby'] = true;
     $tab[8]['joinparams'] = array('beforejoin' => array('table' => 'glpi_contacts_suppliers', 'joinparams' => array('jointype' => 'child')));
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     $tab[80]['table'] = 'glpi_entities';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = __('Entity');
     $tab[80]['massiveaction'] = false;
     $tab[80]['datatype'] = 'dropdown';
     $tab[86]['table'] = $this->getTable();
     $tab[86]['field'] = 'is_recursive';
     $tab[86]['name'] = __('Child entities');
     $tab[86]['datatype'] = 'bool';
     $tab[29]['table'] = 'glpi_contracts';
     $tab[29]['field'] = 'name';
     $tab[29]['name'] = _n('Associated contract', 'Associated contracts', Session::getPluralNumber());
     $tab[29]['forcegroupby'] = true;
     $tab[29]['datatype'] = 'itemlink';
     $tab[29]['massiveaction'] = false;
     $tab[29]['joinparams'] = array('beforejoin' => array('table' => 'glpi_contracts_suppliers', 'joinparams' => array('jointype' => 'child')));
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     $tab += Notepad::getSearchOptionsToAdd();
     return $tab;
 }
示例#27
0
 function getSearchOptions()
 {
     global $CFG_GLPI;
     $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;
     // implicit key==1
     $tab[2]['table'] = $this->getTable();
     $tab[2]['field'] = 'id';
     $tab[2]['name'] = __('ID');
     $tab[2]['massiveaction'] = false;
     // implicit field is id
     $tab[2]['datatype'] = 'number';
     $tab += Location::getSearchOptionsToAdd();
     $tab[4]['table'] = 'glpi_computertypes';
     $tab[4]['field'] = 'name';
     $tab[4]['name'] = __('Type');
     $tab[4]['datatype'] = 'dropdown';
     $tab[40]['table'] = 'glpi_computermodels';
     $tab[40]['field'] = 'name';
     $tab[40]['name'] = __('Model');
     $tab[40]['datatype'] = 'dropdown';
     $tab[31]['table'] = 'glpi_states';
     $tab[31]['field'] = 'completename';
     $tab[31]['name'] = __('Status');
     $tab[31]['datatype'] = 'dropdown';
     $tab[31]['condition'] = "`is_visible_computer`";
     $tab[45]['table'] = 'glpi_operatingsystems';
     $tab[45]['field'] = 'name';
     $tab[45]['name'] = __('Operating system');
     $tab[45]['datatype'] = 'dropdown';
     $tab[46]['table'] = 'glpi_operatingsystemversions';
     $tab[46]['field'] = 'name';
     $tab[46]['name'] = __('Version of the operating system');
     $tab[46]['datatype'] = 'dropdown';
     $tab[41]['table'] = 'glpi_operatingsystemservicepacks';
     $tab[41]['field'] = 'name';
     $tab[41]['name'] = __('Service pack');
     $tab[41]['datatype'] = 'dropdown';
     $tab[42]['table'] = 'glpi_autoupdatesystems';
     $tab[42]['field'] = 'name';
     $tab[42]['name'] = __('Update Source');
     $tab[42]['datatype'] = 'dropdown';
     $tab[43]['table'] = $this->getTable();
     $tab[43]['field'] = 'os_license_number';
     $tab[43]['name'] = __('Serial of the operating system');
     $tab[43]['datatype'] = 'string';
     $tab[44]['table'] = $this->getTable();
     $tab[44]['field'] = 'os_licenseid';
     $tab[44]['name'] = __('Product ID of the operating system');
     $tab[44]['datatype'] = 'string';
     $tab[47]['table'] = $this->getTable();
     $tab[47]['field'] = 'uuid';
     $tab[47]['name'] = __('UUID');
     $tab[47]['datatype'] = 'string';
     $tab[5]['table'] = $this->getTable();
     $tab[5]['field'] = 'serial';
     $tab[5]['name'] = __('Serial number');
     $tab[5]['datatype'] = 'string';
     $tab[6]['table'] = $this->getTable();
     $tab[6]['field'] = 'otherserial';
     $tab[6]['name'] = __('Inventory number');
     $tab[6]['datatype'] = 'string';
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     $tab[7]['table'] = $this->getTable();
     $tab[7]['field'] = 'contact';
     $tab[7]['name'] = __('Alternate username');
     $tab[7]['datatype'] = 'string';
     $tab[8]['table'] = $this->getTable();
     $tab[8]['field'] = 'contact_num';
     $tab[8]['name'] = __('Alternate username number');
     $tab[8]['datatype'] = 'string';
     $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[19]['table'] = $this->getTable();
     $tab[19]['field'] = 'date_mod';
     $tab[19]['name'] = __('Last update');
     $tab[19]['datatype'] = 'datetime';
     $tab[19]['massiveaction'] = false;
     $tab[32]['table'] = 'glpi_networks';
     $tab[32]['field'] = 'name';
     $tab[32]['name'] = __('Network');
     $tab[32]['datatype'] = 'dropdown';
     $tab[33]['table'] = 'glpi_domains';
     $tab[33]['field'] = 'name';
     $tab[33]['name'] = __('Domain');
     $tab[33]['datatype'] = 'dropdown';
     $tab[23]['table'] = 'glpi_manufacturers';
     $tab[23]['field'] = 'name';
     $tab[23]['name'] = __('Manufacturer');
     $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[80]['table'] = 'glpi_entities';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = __('Entity');
     $tab[80]['datatype'] = 'dropdown';
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     $tab += Notepad::getSearchOptionsToAdd();
     $tab['periph'] = _n('Component', 'Components', Session::getPluralNumber());
     $items_device_joinparams = array('jointype' => 'itemtype_item', 'specific_itemtype' => 'Computer');
     $tab[17]['table'] = 'glpi_deviceprocessors';
     $tab[17]['field'] = 'designation';
     $tab[17]['name'] = __('Processor');
     $tab[17]['forcegroupby'] = true;
     $tab[17]['usehaving'] = true;
     $tab[17]['massiveaction'] = false;
     $tab[17]['datatype'] = 'string';
     $tab[17]['joinparams'] = array('beforejoin' => array('table' => 'glpi_items_deviceprocessors', 'joinparams' => $items_device_joinparams));
     $tab[36]['table'] = 'glpi_items_deviceprocessors';
     $tab[36]['field'] = 'frequency';
     $tab[36]['name'] = __('Processor frequency');
     $tab[36]['unit'] = __('MHz');
     $tab[36]['forcegroupby'] = true;
     $tab[36]['usehaving'] = true;
     $tab[36]['datatype'] = 'number';
     $tab[36]['width'] = 100;
     $tab[36]['massiveaction'] = false;
     $tab[36]['joinparams'] = $items_device_joinparams;
     $tab[36]['computation'] = "SUM(TABLE.`frequency`) / COUNT(TABLE.`id`)";
     $tab[10]['table'] = 'glpi_devicememories';
     $tab[10]['field'] = 'designation';
     $tab[10]['name'] = __('Memory type');
     $tab[10]['forcegroupby'] = true;
     $tab[10]['usehaving'] = true;
     $tab[10]['massiveaction'] = false;
     $tab[10]['datatype'] = 'string';
     $tab[10]['joinparams'] = array('beforejoin' => array('table' => 'glpi_items_devicememories', 'joinparams' => $items_device_joinparams));
     $tab[35]['table'] = 'glpi_items_devicememories';
     $tab[35]['field'] = 'size';
     $tab[35]['unit'] = __('Mio');
     $tab[35]['name'] = sprintf(__('%1$s (%2$s)'), __('Memory'), __('Mio'));
     $tab[35]['forcegroupby'] = true;
     $tab[35]['usehaving'] = true;
     $tab[35]['datatype'] = 'number';
     $tab[35]['width'] = 100;
     $tab[35]['massiveaction'] = false;
     $tab[35]['joinparams'] = $items_device_joinparams;
     $tab[35]['computation'] = "(SUM(TABLE.`size`) / COUNT(TABLE.`id`))\n                                    * COUNT(DISTINCT TABLE.`id`)";
     $tab[11]['table'] = 'glpi_devicenetworkcards';
     $tab[11]['field'] = 'designation';
     $tab[11]['name'] = _n('Network interface', 'Network interfaces', 1);
     $tab[11]['forcegroupby'] = true;
     $tab[11]['massiveaction'] = false;
     $tab[11]['datatype'] = 'string';
     $tab[11]['joinparams'] = array('beforejoin' => array('table' => 'glpi_items_devicenetworkcards', 'joinparams' => $items_device_joinparams));
     $tab[20]['table'] = 'glpi_items_devicenetworkcards';
     $tab[20]['field'] = 'mac';
     $tab[20]['name'] = __('MAC address');
     $tab[20]['forcegroupby'] = true;
     $tab[20]['massiveaction'] = false;
     $tab[20]['datatype'] = 'string';
     $tab[20]['joinparams'] = $items_device_joinparams;
     $tab[12]['table'] = 'glpi_devicesoundcards';
     $tab[12]['field'] = 'designation';
     $tab[12]['name'] = __('Soundcard');
     $tab[12]['forcegroupby'] = true;
     $tab[12]['massiveaction'] = false;
     $tab[12]['datatype'] = 'string';
     $tab[12]['joinparams'] = array('beforejoin' => array('table' => 'glpi_items_devicesoundcards', 'joinparams' => $items_device_joinparams));
     $tab[13]['table'] = 'glpi_devicegraphiccards';
     $tab[13]['field'] = 'designation';
     $tab[13]['name'] = __('Graphics card');
     $tab[13]['forcegroupby'] = true;
     $tab[13]['massiveaction'] = false;
     $tab[13]['datatype'] = 'string';
     $tab[13]['joinparams'] = array('beforejoin' => array('table' => 'glpi_items_devicegraphiccards', 'joinparams' => $items_device_joinparams));
     $tab[14]['table'] = 'glpi_devicemotherboards';
     $tab[14]['field'] = 'designation';
     $tab[14]['name'] = __('System board');
     $tab[14]['forcegroupby'] = true;
     $tab[14]['massiveaction'] = false;
     $tab[14]['datatype'] = 'string';
     $tab[14]['joinparams'] = array('beforejoin' => array('table' => 'glpi_items_devicemotherboards', 'joinparams' => $items_device_joinparams));
     $tab[15]['table'] = 'glpi_deviceharddrives';
     $tab[15]['field'] = 'designation';
     $tab[15]['name'] = __('Hard drive type');
     $tab[15]['forcegroupby'] = true;
     $tab[15]['usehaving'] = true;
     $tab[15]['massiveaction'] = false;
     $tab[15]['datatype'] = 'string';
     $tab[15]['joinparams'] = array('beforejoin' => array('table' => 'glpi_items_deviceharddrives', 'joinparams' => $items_device_joinparams));
     $tab[34]['table'] = 'glpi_items_deviceharddrives';
     $tab[34]['field'] = 'capacity';
     $tab[34]['name'] = __('Hard drive size');
     $tab[34]['unit'] = __('Mio');
     $tab[34]['forcegroupby'] = true;
     $tab[34]['usehaving'] = true;
     $tab[34]['datatype'] = 'number';
     $tab[34]['width'] = 1000;
     $tab[34]['massiveaction'] = false;
     $tab[34]['joinparams'] = $items_device_joinparams;
     $tab[34]['computation'] = "(SUM(TABLE.`capacity`) / COUNT(TABLE.`id`))\n                                       * COUNT(DISTINCT TABLE.`id`)";
     $tab[39]['table'] = 'glpi_devicepowersupplies';
     $tab[39]['field'] = 'designation';
     $tab[39]['name'] = __('Power supply');
     $tab[39]['forcegroupby'] = true;
     $tab[39]['usehaving'] = true;
     $tab[39]['massiveaction'] = false;
     $tab[39]['datatype'] = 'string';
     $tab[39]['joinparams'] = array('beforejoin' => array('table' => 'glpi_items_devicepowersupplies', 'joinparams' => $items_device_joinparams));
     $tab[95]['table'] = 'glpi_devicepcis';
     $tab[95]['field'] = 'designation';
     $tab[95]['name'] = __('Other component');
     $tab[95]['forcegroupby'] = true;
     $tab[95]['usehaving'] = true;
     $tab[95]['massiveaction'] = false;
     $tab[95]['datatype'] = 'string';
     $tab[95]['joinparams'] = array('beforejoin' => array('table' => 'glpi_items_devicepcis', 'joinparams' => $items_device_joinparams));
     $tab['disk'] = _n('Volume', 'Volumes', Session::getPluralNumber());
     $tab[156]['table'] = 'glpi_computerdisks';
     $tab[156]['field'] = 'name';
     $tab[156]['name'] = __('Volume');
     $tab[156]['forcegroupby'] = true;
     $tab[156]['massiveaction'] = false;
     $tab[156]['datatype'] = 'dropdown';
     $tab[156]['joinparams'] = array('jointype' => 'child');
     $tab[150]['table'] = 'glpi_computerdisks';
     $tab[150]['field'] = 'totalsize';
     $tab[150]['name'] = sprintf(__('%1$s (%2$s)'), __('Global size'), __('Mio'));
     $tab[150]['forcegroupby'] = true;
     $tab[150]['usehaving'] = true;
     $tab[150]['datatype'] = 'number';
     $tab[150]['width'] = 1000;
     $tab[150]['massiveaction'] = false;
     $tab[150]['joinparams'] = array('jointype' => 'child');
     $tab[151]['table'] = 'glpi_computerdisks';
     $tab[151]['field'] = 'freesize';
     $tab[151]['name'] = __('Free size');
     $tab[151]['forcegroupby'] = true;
     $tab[151]['datatype'] = 'number';
     $tab[151]['width'] = 1000;
     $tab[151]['massiveaction'] = false;
     $tab[151]['joinparams'] = array('jointype' => 'child');
     $tab[152]['table'] = 'glpi_computerdisks';
     $tab[152]['field'] = 'freepercent';
     $tab[152]['name'] = __('Free percentage');
     $tab[152]['forcegroupby'] = true;
     $tab[152]['datatype'] = 'decimal';
     $tab[152]['width'] = 2;
     $tab[152]['computation'] = "ROUND(100*TABLE.freesize/TABLE.totalsize)";
     $tab[152]['unit'] = '%';
     $tab[152]['massiveaction'] = false;
     $tab[152]['joinparams'] = array('jointype' => 'child');
     $tab[153]['table'] = 'glpi_computerdisks';
     $tab[153]['field'] = 'mountpoint';
     $tab[153]['name'] = __('Mount point');
     $tab[153]['forcegroupby'] = true;
     $tab[153]['massiveaction'] = false;
     $tab[153]['datatype'] = 'string';
     $tab[153]['joinparams'] = array('jointype' => 'child');
     $tab[154]['table'] = 'glpi_computerdisks';
     $tab[154]['field'] = 'device';
     $tab[154]['name'] = __('Partition');
     $tab[154]['forcegroupby'] = true;
     $tab[154]['massiveaction'] = false;
     $tab[154]['datatype'] = 'string';
     $tab[154]['joinparams'] = array('jointype' => 'child');
     $tab[155]['table'] = 'glpi_filesystems';
     $tab[155]['field'] = 'name';
     $tab[155]['name'] = __('File system');
     $tab[155]['forcegroupby'] = true;
     $tab[155]['massiveaction'] = false;
     $tab[155]['datatype'] = 'dropdown';
     $tab[155]['joinparams'] = array('beforejoin' => array('table' => 'glpi_computerdisks', 'joinparams' => array('jointype' => 'child')));
     $tab['virtualmachine'] = _n('Virtual machine', 'Virtual machines', Session::getPluralNumber());
     $tab[160]['table'] = 'glpi_computervirtualmachines';
     $tab[160]['field'] = 'name';
     $tab[160]['name'] = __('Virtual machine');
     $tab[160]['forcegroupby'] = true;
     $tab[160]['massiveaction'] = false;
     $tab[160]['datatype'] = 'dropdown';
     $tab[160]['joinparams'] = array('jointype' => 'child');
     $tab[161]['table'] = 'glpi_virtualmachinestates';
     $tab[161]['field'] = 'name';
     $tab[161]['name'] = __('State of the virtual machine');
     $tab[161]['forcegroupby'] = true;
     $tab[161]['massiveaction'] = false;
     $tab[161]['datatype'] = 'dropdown';
     $tab[161]['joinparams'] = array('beforejoin' => array('table' => 'glpi_computervirtualmachines', 'joinparams' => array('jointype' => 'child')));
     $tab[162]['table'] = 'glpi_virtualmachinesystems';
     $tab[162]['field'] = 'name';
     $tab[162]['name'] = __('Virtualization model');
     $tab[162]['forcegroupby'] = true;
     $tab[162]['massiveaction'] = false;
     $tab[162]['datatype'] = 'dropdown';
     $tab[162]['joinparams'] = array('beforejoin' => array('table' => 'glpi_computervirtualmachines', 'joinparams' => array('jointype' => 'child')));
     $tab[163]['table'] = 'glpi_virtualmachinetypes';
     $tab[163]['field'] = 'name';
     $tab[163]['name'] = __('Virtualization system');
     $tab[163]['datatype'] = 'dropdown';
     $tab[163]['forcegroupby'] = true;
     $tab[163]['massiveaction'] = false;
     $tab[163]['joinparams'] = array('beforejoin' => array('table' => 'glpi_computervirtualmachines', 'joinparams' => array('jointype' => 'child')));
     $tab[164]['table'] = 'glpi_computervirtualmachines';
     $tab[164]['field'] = 'vcpu';
     $tab[164]['name'] = __('Virtual machine processor number');
     $tab[164]['datatype'] = 'number';
     $tab[164]['forcegroupby'] = true;
     $tab[164]['massiveaction'] = false;
     $tab[164]['joinparams'] = array('jointype' => 'child');
     $tab[165]['table'] = 'glpi_computervirtualmachines';
     $tab[165]['field'] = 'ram';
     $tab[165]['name'] = __('Memory of virtual machines');
     $tab[165]['datatype'] = 'number';
     $tab[165]['unit'] = __('Mio');
     $tab[165]['forcegroupby'] = true;
     $tab[165]['massiveaction'] = false;
     $tab[165]['joinparams'] = array('jointype' => 'child');
     $tab[166]['table'] = 'glpi_computervirtualmachines';
     $tab[166]['field'] = 'uuid';
     $tab[166]['name'] = __('Virtual machine UUID');
     $tab[165]['datatype'] = 'string';
     $tab[166]['forcegroupby'] = true;
     $tab[166]['massiveaction'] = false;
     $tab[166]['joinparams'] = array('jointype' => 'child');
     return $tab;
 }
示例#28
0
 function getSearchOptions()
 {
     $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]['datatype'] = 'number';
     $tab[2]['massiveaction'] = false;
     $tab[34]['table'] = $this->getTable();
     $tab[34]['field'] = 'ref';
     $tab[34]['name'] = __('Reference');
     $tab[34]['datatype'] = 'string';
     $tab[4]['table'] = 'glpi_consumableitemtypes';
     $tab[4]['field'] = 'name';
     $tab[4]['name'] = __('Type');
     $tab[4]['datatype'] = 'dropdown';
     $tab[23]['table'] = 'glpi_manufacturers';
     $tab[23]['field'] = 'name';
     $tab[23]['name'] = __('Manufacturer');
     $tab[23]['datatype'] = 'dropdown';
     $tab[9]['table'] = 'glpi_consumableitems';
     $tab[9]['field'] = '_virtual';
     $tab[9]['linkfield'] = '_virtual';
     $tab[9]['name'] = _n('Consumable', 'Consumables', Session::getPluralNumber());
     $tab[9]['datatype'] = 'specific';
     $tab[9]['massiveaction'] = false;
     $tab[9]['nosearch'] = true;
     $tab[9]['nosort'] = true;
     $tab[9]['additionalfields'] = array('alarm_threshold');
     $tab[17]['table'] = 'glpi_consumables';
     $tab[17]['field'] = 'id';
     $tab[17]['name'] = __('Number of used consumables');
     $tab[17]['datatype'] = 'count';
     $tab[17]['forcegroupby'] = true;
     $tab[17]['usehaving'] = true;
     $tab[17]['massiveaction'] = false;
     $tab[17]['joinparams'] = array('jointype' => 'child', 'condition' => "AND NEWTABLE.`date_out` IS NOT NULL");
     $tab[19]['table'] = 'glpi_consumables';
     $tab[19]['field'] = 'id';
     $tab[19]['name'] = __('Number of new consumables');
     $tab[19]['datatype'] = 'count';
     $tab[19]['forcegroupby'] = true;
     $tab[19]['usehaving'] = true;
     $tab[19]['massiveaction'] = false;
     $tab[19]['joinparams'] = array('jointype' => 'child', 'condition' => "AND NEWTABLE.`date_out` IS NULL");
     $tab += Location::getSearchOptionsToAdd();
     $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[8]['table'] = $this->getTable();
     $tab[8]['field'] = 'alarm_threshold';
     $tab[8]['name'] = __('Alert threshold');
     $tab[8]['datatype'] = 'number';
     $tab[8]['toadd'] = array('-1' => __('Never'));
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     $tab[80]['table'] = 'glpi_entities';
     $tab[80]['field'] = 'completename';
     $tab[80]['name'] = __('Entity');
     $tab[80]['massiveaction'] = false;
     $tab[80]['datatype'] = 'dropdown';
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     $tab += Notepad::getSearchOptionsToAdd();
     return $tab;
 }
示例#29
0
 function getSearchOptions()
 {
     $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[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[2]['table'] = $this->getTable();
     $tab[2]['field'] = 'interface';
     $tab[2]['name'] = __("Profile's interface");
     $tab[2]['massiveaction'] = false;
     $tab[2]['datatype'] = 'specific';
     $tab[2]['searchtype'] = array('equals', 'notequals');
     $tab[3]['table'] = $this->getTable();
     $tab[3]['field'] = 'is_default';
     $tab[3]['name'] = __('Default profile');
     $tab[3]['datatype'] = 'bool';
     $tab[3]['massiveaction'] = false;
     $tab[118]['table'] = $this->getTable();
     $tab[118]['field'] = 'create_ticket_on_login';
     $tab[118]['name'] = __('Ticket creation form on login');
     $tab[118]['datatype'] = 'bool';
     $tab[16]['table'] = $this->getTable();
     $tab[16]['field'] = 'comment';
     $tab[16]['name'] = __('Comments');
     $tab[16]['datatype'] = 'text';
     // add objectlock search options
     $tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
     $tab['inventory'] = __('Assets');
     $tab[20]['table'] = 'glpi_profilerights';
     $tab[20]['field'] = 'rights';
     $tab[20]['name'] = _n('Computer', 'Computers', Session::getPluralNumber());
     $tab[20]['datatype'] = 'right';
     $tab[20]['rightclass'] = 'Computer';
     $tab[20]['rightname'] = 'computer';
     $tab[20]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'computer'");
     $tab[21]['table'] = 'glpi_profilerights';
     $tab[21]['field'] = 'rights';
     $tab[21]['name'] = _n('Monitor', 'Monitors', Session::getPluralNumber());
     $tab[21]['datatype'] = 'right';
     $tab[21]['rightclass'] = 'Monitor';
     $tab[21]['rightname'] = 'monitor';
     $tab[21]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'monitor'");
     $tab[22]['table'] = 'glpi_profilerights';
     $tab[22]['field'] = 'rights';
     $tab[22]['name'] = _n('Software', 'Software', Session::getPluralNumber());
     $tab[22]['datatype'] = 'right';
     $tab[22]['rightclass'] = 'Software';
     $tab[22]['rightname'] = 'software';
     $tab[22]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'software'");
     $tab[23]['table'] = 'glpi_profilerights';
     $tab[23]['field'] = 'rights';
     $tab[23]['name'] = _n('Network', 'Networks', Session::getPluralNumber());
     $tab[23]['datatype'] = 'right';
     $tab[23]['rightclass'] = 'Network';
     $tab[23]['rightname'] = 'networking';
     $tab[23]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'networking'");
     $tab[24]['table'] = 'glpi_profilerights';
     $tab[24]['field'] = 'rights';
     $tab[24]['name'] = _n('Printer', 'Printers', Session::getPluralNumber());
     $tab[24]['datatype'] = 'right';
     $tab[24]['rightclass'] = 'Printer';
     $tab[24]['rightname'] = 'printer';
     $tab[24]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'printer'");
     $tab[25]['table'] = 'glpi_profilerights';
     $tab[25]['field'] = 'rights';
     $tab[25]['name'] = _n('Device', 'Devices', Session::getPluralNumber());
     $tab[25]['datatype'] = 'right';
     $tab[25]['rightclass'] = 'Peripheral';
     $tab[25]['rightname'] = 'peripheral';
     $tab[25]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'peripheral'");
     $tab[26]['table'] = 'glpi_profilerights';
     $tab[26]['field'] = 'rights';
     $tab[26]['name'] = _n('Cartridge', 'Cartridges', Session::getPluralNumber());
     $tab[26]['datatype'] = 'right';
     $tab[26]['rightclass'] = 'Cartridge';
     $tab[26]['rightname'] = 'cartridge';
     $tab[26]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'cartridge'");
     $tab[27]['table'] = 'glpi_profilerights';
     $tab[27]['field'] = 'rights';
     $tab[27]['name'] = _n('Consumable', 'Consumables', Session::getPluralNumber());
     $tab[27]['datatype'] = 'right';
     $tab[27]['rightclass'] = 'Consumable';
     $tab[27]['rightname'] = 'consumable';
     $tab[27]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'consumable'");
     $tab[28]['table'] = 'glpi_profilerights';
     $tab[28]['field'] = 'rights';
     $tab[28]['name'] = _n('Phone', 'Phones', Session::getPluralNumber());
     $tab[28]['datatype'] = 'right';
     $tab[28]['rightclass'] = 'Phone';
     $tab[28]['rightname'] = 'phone';
     $tab[28]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'phone'");
     $tab[129]['table'] = 'glpi_profilerights';
     $tab[129]['field'] = 'rights';
     $tab[129]['name'] = __('Internet');
     $tab[129]['datatype'] = 'right';
     $tab[129]['rightclass'] = 'NetworkName';
     $tab[129]['rightname'] = 'internet';
     $tab[129]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'internet'");
     $tab['management'] = __('Management');
     $tab[30]['table'] = 'glpi_profilerights';
     $tab[30]['field'] = 'rights';
     $tab[30]['name'] = __('Contact') . " / " . __('Supplier');
     $tab[30]['datatype'] = 'right';
     $tab[30]['rightclass'] = 'Contact';
     $tab[30]['rightname'] = 'contact_entreprise';
     $tab[30]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'contact_enterprise'");
     $tab[31]['table'] = 'glpi_profilerights';
     $tab[31]['field'] = 'rights';
     $tab[31]['name'] = _n('Document', 'Documents', Session::getPluralNumber());
     $tab[31]['datatype'] = 'right';
     $tab[31]['rightclass'] = 'Document';
     $tab[31]['rightname'] = 'document';
     $tab[31]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'document'");
     $tab[32]['table'] = 'glpi_profilerights';
     $tab[32]['field'] = 'rights';
     $tab[32]['name'] = _n('Contract', 'Contracts', Session::getPluralNumber());
     $tab[32]['datatype'] = 'right';
     $tab[32]['rightclass'] = 'Contract';
     $tab[32]['rightname'] = 'contract';
     $tab[32]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'contract'");
     $tab[33]['table'] = 'glpi_profilerights';
     $tab[33]['field'] = 'rights';
     $tab[33]['name'] = __('Financial and administratives information');
     $tab[33]['datatype'] = 'right';
     $tab[33]['rightclass'] = 'Infocom';
     $tab[33]['rightname'] = 'infocom';
     $tab[33]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'infocom'");
     $tab[101]['table'] = 'glpi_profilerights';
     $tab[101]['field'] = 'rights';
     $tab[101]['name'] = __('Budget');
     $tab[101]['datatype'] = 'right';
     $tab[101]['rightclass'] = 'Budget';
     $tab[101]['rightname'] = 'budget';
     $tab[101]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'budget'");
     $tab['tools'] = __('Tools');
     $tab[34]['table'] = 'glpi_profilerights';
     $tab[34]['field'] = 'rights';
     $tab[34]['name'] = __('Knowledge base');
     $tab[34]['datatype'] = 'right';
     $tab[34]['rightclass'] = 'KnowbaseItem';
     $tab[34]['rightname'] = 'knowbase';
     $tab[34]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'knowbase'");
     $tab[36]['table'] = 'glpi_profilerights';
     $tab[36]['field'] = 'rights';
     $tab[36]['name'] = _n('Reservation', 'Reservations', Session::getPluralNumber());
     $tab[36]['datatype'] = 'right';
     $tab[36]['rightclass'] = 'ReservationItem';
     $tab[36]['rightname'] = 'reservation';
     $tab[36]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'reservation'");
     $tab[38]['table'] = 'glpi_profilerights';
     $tab[38]['field'] = 'rights';
     $tab[38]['name'] = _n('Report', 'Reports', Session::getPluralNumber());
     $tab[38]['datatype'] = 'right';
     $tab[38]['rightclass'] = 'Report';
     $tab[38]['rightname'] = 'reports';
     $tab[38]['nowrite'] = true;
     $tab[38]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'reports'");
     $tab['config'] = __('Setup');
     $tab[42]['table'] = 'glpi_profilerights';
     $tab[42]['field'] = 'rights';
     $tab[42]['name'] = _n('Dropdown', 'Dropdowns', Session::getPluralNumber());
     $tab[42]['datatype'] = 'right';
     $tab[42]['rightclass'] = 'DropdownTranslation';
     $tab[42]['rightname'] = 'dropdown';
     $tab[42]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'dropdown'");
     $tab[44]['table'] = 'glpi_profilerights';
     $tab[44]['field'] = 'rights';
     $tab[44]['name'] = _n('Component', 'Components', Session::getPluralNumber());
     $tab[44]['datatype'] = 'right';
     $tab[44]['rightclass'] = 'Item_Devices';
     $tab[44]['rightname'] = 'device';
     $tab[44]['noread'] = true;
     $tab[44]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'device'");
     $tab[106]['table'] = 'glpi_profilerights';
     $tab[106]['field'] = 'rights';
     $tab[106]['name'] = _n('Notification', 'Notifications', Session::getPluralNumber());
     $tab[106]['datatype'] = 'right';
     $tab[106]['rightclass'] = 'Notification';
     $tab[106]['rightname'] = 'notification';
     $tab[106]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'notification'");
     $tab[45]['table'] = 'glpi_profilerights';
     $tab[45]['field'] = 'rights';
     $tab[45]['name'] = __('Document type');
     $tab[45]['datatype'] = 'right';
     $tab[45]['rightclass'] = 'DocumentType';
     $tab[45]['rightname'] = 'typedoc';
     $tab[45]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'typedoc'");
     $tab[46]['table'] = 'glpi_profilerights';
     $tab[46]['field'] = 'rights';
     $tab[46]['name'] = _n('External link', 'External links', Session::getPluralNumber());
     $tab[46]['datatype'] = 'right';
     $tab[46]['rightclass'] = 'Link';
     $tab[46]['rightname'] = 'link';
     $tab[46]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'link'");
     $tab[47]['table'] = 'glpi_profilerights';
     $tab[47]['field'] = 'rights';
     $tab[47]['name'] = __('General setup');
     $tab[47]['datatype'] = 'right';
     $tab[47]['rightclass'] = 'Config';
     $tab[47]['rightname'] = 'config';
     $tab[47]['noread'] = true;
     $tab[47]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'config'");
     $tab[52]['table'] = 'glpi_profilerights';
     $tab[52]['field'] = 'rights';
     $tab[52]['name'] = __('Search result user display');
     $tab[52]['datatype'] = 'right';
     $tab[52]['rightclass'] = 'DisplayPreference';
     $tab[52]['rightname'] = 'search_config';
     $tab[52]['noread'] = true;
     $tab[52]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'search_config'");
     $tab[107]['table'] = 'glpi_profilerights';
     $tab[107]['field'] = 'rights';
     $tab[107]['name'] = _n('Calendar', 'Calendars', Session::getPluralNumber());
     $tab[107]['datatype'] = 'right';
     $tab[107]['rightclass'] = 'Calendar';
     $tab[107]['rightname'] = 'calendar';
     $tab[107]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'calendar'");
     $tab['admin'] = __('Administration');
     $tab[48]['table'] = 'glpi_profilerights';
     $tab[48]['field'] = 'rights';
     $tab[48]['name'] = __('Business rules for tickets');
     $tab[48]['datatype'] = 'right';
     $tab[48]['rightclass'] = 'RuleTicket';
     $tab[48]['rightname'] = 'rule_ticket';
     $tab[48]['nowrite'] = true;
     $tab[48]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'rule_ticket'");
     $tab[105]['table'] = 'glpi_profilerights';
     $tab[105]['field'] = 'rights';
     $tab[105]['name'] = __('Rules for assigning a ticket created through a mails receiver');
     $tab[105]['datatype'] = 'right';
     $tab[105]['rightclass'] = 'RuleMailCollector';
     $tab[105]['rightname'] = 'rule_mailcollector';
     $tab[105]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'rule_mailcollector'");
     $tab[49]['table'] = 'glpi_profilerights';
     $tab[49]['field'] = 'rights';
     $tab[49]['name'] = __('Rules for assigning a computer to an entity');
     $tab[49]['datatype'] = 'right';
     $tab[49]['rightclass'] = 'RuleImportComputer';
     $tab[49]['rightname'] = 'rule_import';
     $tab[49]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'rule_import'");
     $tab[50]['table'] = 'glpi_profilerights';
     $tab[50]['field'] = 'rights';
     $tab[50]['name'] = __('Authorizations assignment rules');
     $tab[50]['datatype'] = 'right';
     $tab[50]['rightclass'] = 'Rule';
     $tab[50]['rightname'] = 'rule_ldap';
     $tab[50]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'rule_ldap'");
     $tab[51]['table'] = 'glpi_profilerights';
     $tab[51]['field'] = 'rights';
     $tab[51]['name'] = __('Rules for assigning a category to a software');
     $tab[51]['datatype'] = 'right';
     $tab[51]['rightclass'] = 'RuleSoftwareCategory';
     $tab[51]['rightname'] = 'rule_softwarecategories';
     $tab[51]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'rule_softwarecategories'");
     $tab[90]['table'] = 'glpi_profilerights';
     $tab[90]['field'] = 'rights';
     $tab[90]['name'] = __('Software dictionary');
     $tab[90]['datatype'] = 'right';
     $tab[90]['rightclass'] = 'RuleDictionnarySoftware';
     $tab[90]['rightname'] = 'rule_dictionnary_software';
     $tab[90]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'rule_dictionnary_software'");
     $tab[91]['table'] = 'glpi_profilerights';
     $tab[91]['field'] = 'rights';
     $tab[91]['name'] = __('Dropdowns dictionary');
     $tab[91]['datatype'] = 'right';
     $tab[91]['rightclass'] = 'RuleDictionnaryDropdown';
     $tab[91]['rightname'] = 'rule_dictionnary_dropdown';
     $tab[91]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'rule_dictionnary_dropdown'");
     $tab[55]['table'] = 'glpi_profilerights';
     $tab[55]['field'] = 'rights';
     $tab[55]['name'] = self::getTypeName(Session::getPluralNumber());
     $tab[55]['datatype'] = 'right';
     $tab[55]['rightclass'] = 'Profile';
     $tab[55]['rightname'] = 'profile';
     $tab[55]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'profile'");
     $tab[56]['table'] = 'glpi_profilerights';
     $tab[56]['field'] = 'rights';
     $tab[56]['name'] = _n('User', 'Users', Session::getPluralNumber());
     $tab[56]['datatype'] = 'right';
     $tab[56]['rightclass'] = 'User';
     $tab[56]['rightname'] = 'user';
     $tab[56]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'user'");
     $tab[58]['table'] = 'glpi_profilerights';
     $tab[58]['field'] = 'rights';
     $tab[58]['name'] = _n('Group', 'Groups', Session::getPluralNumber());
     $tab[58]['datatype'] = 'right';
     $tab[58]['rightclass'] = 'Group';
     $tab[58]['rightname'] = 'group';
     $tab[58]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'group'");
     $tab[59]['table'] = 'glpi_profilerights';
     $tab[59]['field'] = 'rights';
     $tab[59]['name'] = _n('Entity', 'Entities', Session::getPluralNumber());
     $tab[59]['datatype'] = 'right';
     $tab[59]['rightclass'] = 'Entity';
     $tab[59]['rightname'] = 'entity';
     $tab[59]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'entity'");
     $tab[60]['table'] = 'glpi_profilerights';
     $tab[60]['field'] = 'rights';
     $tab[60]['name'] = __('Transfer');
     $tab[60]['datatype'] = 'right';
     $tab[60]['rightclass'] = 'Transfer';
     $tab[60]['rightname'] = 'transfer';
     $tab[60]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'transfer'");
     $tab[61]['table'] = 'glpi_profilerights';
     $tab[61]['field'] = 'rights';
     $tab[61]['name'] = _n('Log', 'Logs', Session::getPluralNumber());
     $tab[61]['datatype'] = 'right';
     $tab[61]['rightclass'] = 'Log';
     $tab[61]['rightname'] = 'logs';
     $tab[61]['nowrite'] = true;
     $tab[61]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'logs'");
     $tab[62]['table'] = 'glpi_profilerights';
     $tab[62]['field'] = 'rights';
     $tab[62]['name'] = __('Maintenance');
     $tab[62]['datatype'] = 'right';
     $tab[62]['rightclass'] = 'Backup';
     $tab[62]['rightname'] = 'backup';
     $tab[62]['noread'] = true;
     $tab[62]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'backup'");
     $tab['ticket'] = __('Assistance');
     $tab[102]['table'] = 'glpi_profilerights';
     $tab[102]['field'] = 'rights';
     $tab[102]['name'] = __('Create a ticket');
     $tab[102]['datatype'] = 'right';
     $tab[102]['rightclass'] = 'Ticket';
     $tab[102]['rightname'] = 'ticket';
     $tab[102]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'ticket'");
     $tab[108]['table'] = 'glpi_tickettemplates';
     $tab[108]['field'] = 'name';
     $tab[108]['name'] = __('Default ticket template');
     $tab[108]['datatype'] = 'dropdown';
     if (Session::isMultiEntitiesMode()) {
         $tab[108]['condition'] = '`entities_id` = 0 AND `is_recursive`';
     } else {
         $tab[108]['condition'] = '`entities_id` = 0';
     }
     $tab[103]['table'] = 'glpi_profilerights';
     $tab[103]['field'] = 'rights';
     $tab[103]['name'] = _n('Ticket template', 'Ticket templates', Session::getPluralNumber());
     $tab[103]['datatype'] = 'right';
     $tab[103]['rightclass'] = 'TicketTemplate';
     $tab[103]['rightname'] = 'tickettemplate';
     $tab[103]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'tickettemplate'");
     $tab[79]['table'] = 'glpi_profilerights';
     $tab[79]['field'] = 'rights';
     $tab[79]['name'] = __('Planning');
     $tab[79]['datatype'] = 'right';
     $tab[79]['rightclass'] = 'Planning';
     $tab[79]['rightname'] = 'planning';
     $tab[79]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'planning'");
     $tab[85]['table'] = 'glpi_profilerights';
     $tab[85]['field'] = 'rights';
     $tab[85]['name'] = __('Statistics');
     $tab[85]['datatype'] = 'right';
     $tab[85]['rightclass'] = 'Stat';
     $tab[85]['rightname'] = 'statistic';
     $tab[85]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'statistic'");
     $tab[119]['table'] = 'glpi_profilerights';
     $tab[119]['field'] = 'rights';
     $tab[119]['name'] = _n('Ticket cost', 'Ticket costs', Session::getPluralNumber());
     $tab[119]['datatype'] = 'right';
     $tab[119]['rightclass'] = 'TicketCost';
     $tab[119]['rightname'] = 'ticketcost';
     $tab[119]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'ticketcost'");
     $tab[86]['table'] = $this->getTable();
     $tab[86]['field'] = 'helpdesk_hardware';
     $tab[86]['name'] = __('Link with items for the creation of tickets');
     $tab[86]['massiveaction'] = false;
     $tab[86]['datatype'] = 'specific';
     $tab[87]['table'] = $this->getTable();
     $tab[87]['field'] = 'helpdesk_item_type';
     $tab[87]['name'] = __('Associable items to a ticket');
     $tab[87]['massiveaction'] = false;
     $tab[87]['datatype'] = 'specific';
     $tab[89]['table'] = 'glpi_profilerights';
     $tab[89]['field'] = 'rights';
     $tab[89]['name'] = __('See hardware of my groups');
     $tab[89]['datatype'] = 'bool';
     $tab[89]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'show_group_hardware'");
     $tab[100]['table'] = $this->getTable();
     $tab[100]['field'] = 'ticket_status';
     $tab[100]['name'] = __('Life cycle of tickets');
     $tab[100]['nosearch'] = true;
     $tab[100]['datatype'] = 'text';
     $tab[100]['massiveaction'] = false;
     $tab[110]['table'] = $this->getTable();
     $tab[110]['field'] = 'problem_status';
     $tab[110]['name'] = __('Life cycle of problems');
     $tab[110]['nosearch'] = true;
     $tab[110]['datatype'] = 'text';
     $tab[110]['massiveaction'] = false;
     $tab[112]['table'] = 'glpi_profilerights';
     $tab[112]['field'] = 'rights';
     $tab[112]['name'] = _n('Problem', 'Problems', Session::getPluralNumber());
     $tab[112]['datatype'] = 'right';
     $tab[112]['rightclass'] = 'Problem';
     $tab[112]['rightname'] = 'problem';
     $tab[112]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'problem'");
     $tab[111]['table'] = $this->getTable();
     $tab[111]['field'] = 'change_status';
     $tab[111]['name'] = __('Life cycle of changes');
     $tab[111]['nosearch'] = true;
     $tab[111]['datatype'] = 'text';
     $tab[111]['massiveaction'] = false;
     $tab[115]['table'] = 'glpi_profilerights';
     $tab[115]['field'] = 'rights';
     $tab[115]['name'] = _n('Change', 'Changes', Session::getPluralNumber());
     $tab[115]['datatype'] = 'right';
     $tab[115]['rightclass'] = 'Change';
     $tab[115]['rightname'] = 'change';
     $tab[115]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'change'");
     $tab['other'] = __('Other');
     $tab[4]['table'] = 'glpi_profilerights';
     $tab[4]['field'] = 'rights';
     $tab[4]['name'] = __('Update password');
     $tab[4]['datatype'] = 'bool';
     $tab[4]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'password_update'");
     $tab[63]['table'] = 'glpi_profilerights';
     $tab[63]['field'] = 'rights';
     $tab[63]['name'] = _n('Public reminder', 'Public reminders', Session::getPluralNumber());
     $tab[63]['datatype'] = 'right';
     $tab[63]['rightclass'] = 'Reminder';
     $tab[63]['rightname'] = 'reminder_public';
     $tab[63]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'reminder_public'");
     $tab[64]['table'] = 'glpi_profilerights';
     $tab[64]['field'] = 'rights';
     $tab[64]['name'] = _n('Public bookmark', 'Public bookmarks', Session::getPluralNumber());
     $tab[64]['datatype'] = 'right';
     $tab[64]['rightclass'] = 'Bookmark';
     $tab[64]['rightname'] = 'bookmark_public';
     $tab[64]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'bookmark_public'");
     $tab[120]['table'] = 'glpi_profilerights';
     $tab[120]['field'] = 'rights';
     $tab[120]['name'] = _n('Public RSS feed', 'Public RSS feeds', Session::getPluralNumber());
     $tab[120]['datatype'] = 'right';
     $tab[120]['rightclass'] = 'RSSFeed';
     $tab[120]['rightname'] = 'rssfeed_public';
     $tab[120]['joinparams'] = array('jointype' => 'child', 'condition' => "AND `NEWTABLE`.`name`= 'rssfeed_public'");
     return $tab;
 }
示例#30
0
 */
// here we are going to try to unlock the given object
// url should be of the form: 'http://.../.../unlockobject.php?unlock=1[&force=1]&id=xxxxxx'
// or url should be of the form 'http://.../.../unlockobject.php?requestunlock=1&id=xxxxxx'
// to send notification to locker of object
$AJAX_INCLUDE = 1;
include '../inc/includes.php';
header("Content-Type: text/html; charset=UTF-8");
Html::header_nocache();
Session::checkLoginUser();
$ret = 0;
if (isset($_GET['unlock']) && isset($_GET["id"])) {
    // then we may have something to unlock
    $ol = new ObjectLock();
    if ($ol->getFromDB($_GET["id"]) && $ol->deleteFromDB(1)) {
        if (isset($_GET['force'])) {
            Log::history($ol->fields['items_id'], $ol->fields['itemtype'], array(0, '', ''), 0, Log::HISTORY_UNLOCK_ITEM);
        }
        $ret = 1;
    }
} else {
    if (isset($_GET['requestunlock']) && isset($_GET["id"])) {
        // the we must ask for unlock
        $ol = new ObjectLock();
        if ($ol->getFromDB($_GET["id"])) {
            NotificationEvent::raiseEvent('unlock', $ol);
            $ret = 1;
        }
    }
}
echo $ret;