grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026. -------------------------------------------------------------------------- */ /** @file * @brief */ if (!defined('GLPI_ROOT')) { die("Sorry. You can't access this file directly"); } /** * SLA Class **/ class SLA extends CommonDBTM { // From CommonDBTM public $dohistory = true; static protected $forward_entity_to = array('SLT'); static $rightname = 'sla'; static function getTypeName($nb=0) { // Acronymous, no plural return __('SLA'); } /** * Force calendar of the SLA if value -1: calendar of the entity * * @param $calendars_id calendars_id of the ticket **/ function setTicketCalendar($calendars_id) { if ($this->fields['calendars_id'] == -1 ) { $this->fields['calendars_id'] = $calendars_id; } } function defineTabs($options=array()) { $ong = array(); $this->addDefaultFormTab($ong); $this->addStandardTab('SLT', $ong, $options); $this->addStandardTab('Log', $ong, $options); return $ong; } function cleanDBonPurge() { $slt = new SLT(); $slt->cleanDBonItemDelete('SLA', $this->fields['id']); } /** * Print the sla form * * @param $ID integer ID of the item * @param $options array of possible options: * - target filename : where to go when done. * - withtemplate boolean : template or basic item * *@return boolean item found **/ function showForm($ID, $options=array()) { $rowspan = 2; $this->initForm($ID, $options); $this->showFormHeader($options); echo ""; echo "".__('Name').""; echo ""; Html::autocompletionTextField($this, "name", array('value' => $this->fields["name"])); echo "".__('Comments').""; echo " "; echo ""; echo "".__('Calendar').""; echo ""; Calendar::dropdown(array('value' => $this->fields["calendars_id"], 'emptylabel' => __('24/7'), 'toadd' => array('-1' => __('Calendar of the ticket')))); echo ""; $this->showFormButtons($options); return true; } 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[4]['table'] = 'glpi_calendars'; $tab[4]['field'] = 'name'; $tab[4]['name'] = __('Calendar'); $tab[4]['datatype'] = 'dropdown'; return $tab; } /** * @see CommonGLPI::getMenuContent() * * @since version 9.1 **/ static function getMenuContent() { $menu = array(); if (Config::canUpdate()) { $menu['title'] = self::getTypeName(1); $menu['page'] = '/front/sla.php'; $menu['links']['search'] = '/front/sla.php'; $menu['links']['add'] = '/front/sla.form.php'; $menu['options']['slt']['title'] = SLT::getTypeName(1); $menu['options']['slt']['page'] = '/front/slt.php'; $menu['options']['slt']['links']['search'] = '/front/slt.php'; $menu['options']['slalevel']['title'] = SlaLevel::getTypeName(Session::getPluralNumber()); $menu['options']['slalevel']['page'] = '/front/slalevel.php'; $menu['options']['slalevel']['links']['search'] = '/front/slalevel.php'; } if (count($menu)) { return $menu; } return false; } }