Раскраска списка тикетов(и других списков) по статусу


#1

Здравствуйте.

Помогите, пожалуйста, найти функцию, которая создает список активных тикетов. Собираюсь ее научить подкрашивать создаваемый элемент списка в соответствующий цвет исходя из статуса тикета.(Для удобства восприятия).
Может есть более верные подходы для решения данного вопроса?
Спасибо.


#2

Добрый день.

Есть. Тикеты уже подкрашиваются, но не от статусов, а в зависимости от сроков tto и ttr. При достижении 75% они желтеют, а при 100% - краснеют. На мой взгляд это правильно, поскольку полезнее видеть в списке инцидентов те, у которых подходит или уже превышен срок решения, чем новогоднюю ёлку из разноцветных статусов. Настройте таймеры, и будет всё красиво и, главное, полезно!

Допускаю, что мое мнение может не оказать влияния на жгучее желание ваших биг боссов добавить красок в повседневную рутину)) поэтому вот как можно изменить логику подсвечивания:

        <method id="GetHilightClass">
          <static>false</static>
          <access>public</access>
          <type>Overload-cmdbAbstractObject</type>
          <code><![CDATA[  public function GetHilightClass()
  {
    $highlight = HILIGHT_CLASS_NONE;
    if($this->GetState() != 'closed')
    {
      switch($this->GetState()) {
        case 'state1':
          $highlight = HILIGHT_CLASS_OK;
          break;
        case 'state2':
          $highlight = HILIGHT_CLASS_WARNING;
          break;
        case 'state3':
          $highlight = HILIGHT_CLASS_CRITICAL;
          break;
      }
    }
    return $highlight;
  }
        ]]></code>
        </method>

Это стандартный метод, можете переопределить его в нужном классе. Константы HILIGHT_CLASS_NONE и другие отвечают за подсветку нужным цветом объектов в таблице.


#3

Большое спасибо. Сделал, что хотел.


#4

Добрый день, подскажите по какой причине может не работать раскраска и просчет TTO TTR. cron запущен TTO TTR заданы и привязаны к SLA и к договорам.