请求跟踪器 - 更改队列颜色

时间:2016-03-29 16:44:13

标签: perl rt

我想在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>

看起来像这样:

Priority shows up red

除了Queue之外的大多数其他字段也适用。应用于队列时,它根本没有结果:

<%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>

我觉得我遗漏了一些关于Queue的其他参数,但是如果是这样的话,我不能让我的生活理解结构。在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

经过多次试验和错误后,我发现了这个问题!队列引用队列的内部编号,QueueName引用表中的实际字符串。此外,您必须通过&#34; QueueObj&#34;获取Name属性。这是工作区:

<%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>