/**
* @since version 0.84
*
* @param $field
* @param $name (default '')
* @param $values (default '')
* @param $options array
**/
static function getSpecificValueToSelect($field, $name = '', $values = '', array $options = array())
{
global $DB;
if (!is_array($values)) {
$values = array($field => $values);
}
$options['display'] = false;
switch ($field) {
case 'use_licenses_alert':
case 'use_contracts_alert':
case 'use_infocoms_alert':
$options['name'] = $name;
$options['value'] = $values[$field];
return Alert::dropdownYesNo($options);
case 'cartridges_alert_repeat':
case 'consumables_alert_repeat':
$options['name'] = $name;
$options['value'] = $values[$field];
return Alert::dropdown($options);
case 'send_contracts_alert_before_delay':
case 'send_infocoms_alert_before_delay':
case 'send_licenses_alert_before_delay':
$options['unit'] = 'day';
$options['never_string'] = __('No');
return Alert::dropdownIntegerNever($name, $values[$field], $options);
case 'use_reservations_alert':
$options['unit'] = 'hour';
return Alert::dropdownIntegerNever($name, $values[$field], $options);
case 'notclosed_delay':
$options['unit'] = 'hour';
return Alert::dropdownIntegerNever($name, $values[$field], $options);
case 'auto_assign_mode':
$options['name'] = $name;
$options['value'] = $values[$field];
return self::dropdownAutoAssignMode($options);
case 'tickettype':
$options['value'] = $values[$field];
$options['toadd'] = array(self::CONFIG_PARENT => __('Inheritance of the parent entity'));
return Ticket::dropdownType($name, $options);
case 'autofill_buy_date':
case 'autofill_order_date':
case 'autofill_delivery_date':
case 'autofill_use_date':
$tab[0] = __('No autofill');
$tab[self::CONFIG_PARENT] = __('Inheritance of the parent entity');
foreach (getAllDatasFromTable('glpi_states') as $state) {
$tab[Infocom::ON_STATUS_CHANGE . '_' . $state['id']] = sprintf(__('Fill when shifting to state %s'), $state['name']);
}
$tab[Infocom::COPY_WARRANTY_DATE] = __('Copy the start date of warranty');
if ($field != 'autofill_buy_date') {
$tab[Infocom::COPY_BUY_DATE] = __('Copy the date of purchase');
if ($field != 'autofill_order_date') {
$tab[Infocom::COPY_ORDER_DATE] = __('Copy the order date');
if ($field != 'autofill_delivery_date') {
$options[Infocom::COPY_DELIVERY_DATE] = __('Copy the delivery date');
}
}
}
$options['value'] = $values[$field];
return Dropdown::showFromArray($name, $tab, $options);
case 'autofill_warranty_date':
$tab = array(0 => __('No autofill'), Infocom::COPY_BUY_DATE => __('Copy the date of purchase'), Infocom::COPY_ORDER_DATE => __('Copy the order date'), Infocom::COPY_DELIVERY_DATE => __('Copy the delivery date'), self::CONFIG_PARENT => __('Inheritance of the parent entity'));
$options['value'] = $values[$field];
return Dropdown::showFromArray($name, $tab, $options);
case 'inquest_config':
$typeinquest = array(self::CONFIG_PARENT => __('Inheritance of the parent entity'), 1 => __('Internal survey'), 2 => __('External survey'));
$options['value'] = $values[$field];
return Dropdown::showFromArray($name, $typeinquest, $options);
case 'default_contract_alert':
$options['name'] = $name;
$options['value'] = $values[$field];
return Contract::dropdownAlert($options);
case 'default_infocom_alert':
$options['name'] = $name;
$options['value'] = $values[$field];
return Infocom::dropdownAlert($options);
case 'entities_id_software':
$options['toadd'] = array(self::CONFIG_NEVER => __('No change of entity'));
// Keep software in PC entity
$options['toadd'][self::CONFIG_PARENT] = __('Inheritance of the parent entity');
return self::dropdown($options);
}
return parent::getSpecificValueToSelect($field, $name, $values, $options);
}