Отслеживание запросов - изменение цвета очереди
Я хотел бы изменить таблицу заявок в RT, чтобы иметь собственный цвет "Очередь". Я использую это руководство в качестве ссылки:
http://requesttracker.wikia.com/wiki/ShowStatusInColor
... который работает. Следующий код в обратном вызове обновит все поля "Приоритет" на красный:
<%INIT>
# Set the priority color.
sub PriorityInColor {
my $Ticket = shift;
my $priority = $Ticket->Priority;
my $colors = "#FF0000";
$priority = "<div style=\"color: $colors;\">$priority</div>";
return \"<b>$priority</b>";
}
$COLUMN_MAP->{Priority}->{value} = \&PriorityInColor;
</%INIT>
<%ARGS>
$COLUMN_MAP => undef
</%ARGS>
Выглядит так:
Это также верно для большинства других полей, кроме Очереди. Применительно к очереди это не дает никакого результата:
<%INIT>
# Set the queue color.
sub QueueInColor {
my $Ticket = shift;
my $queue = $Ticket->Queue;
my $colors = "#FF0000";
$queue = "<div style=\"color: $colors;\">$queue</div>";
return \"<b>$queue</b>";
}
$COLUMN_MAP->{Queue}->{value} = \&QueueInColor;
</%INIT>
<%ARGS>
$COLUMN_MAP => undef
</%ARGS>
Я чувствую, что мне не хватает некоторых дополнительных аргументов для очереди, но я не могу по жизни понять смысл структуры, если это так. Заранее благодарю за любую помощь!
1 ответ
После еще нескольких проб и ошибок я обнаружил проблему! Очередь ссылается на внутренний номер очереди, QueueName ссылается на фактическую строку в таблице. Кроме того, вы должны вызвать имя через "QueueObj", чтобы получить атрибут имени. Вот рабочий блок:
<%INIT>
# Set the queue color.
sub QueueInColor {
my $Ticket = shift;
my $queue = $Ticket->QueueObj->Name;
my $colors = "#FF0000";
$queue = "<div style=\"color: $colors;\">$queue</div>";
return \"<b>$queue</b>";
}
$COLUMN_MAP->{QueueName}->{value} = \&QueueInColor;
</%INIT>
<%ARGS>
$COLUMN_MAP => undef
</%ARGS>