【问题标题】:How to color tickets in a Trac report by component?如何按组件在 Trac 报告中为工单着色?
【发布时间】:2016-12-01 16:55:35
【问题描述】:

在 Trac (1.2) 中,我想创建一个报告,其中包含按修改时间排序的所有工单,其中颜色应指示组件(或是否已关闭)。

我认为将__color__ 设置为component 可以解决问题,但报告后面的报告将所有有效票证显示为白色:

SELECT 
  DISTINCT 
   component AS __color__,
   (CASE status 
      WHEN 'closed' THEN 'color: #777; background: #ddd; border-color: #ccc;'
    END) AS __style__,
   id AS ticket, summary, component, milestone, status, resolution, 
   t.time AS created, changetime AS modified,
   priority AS _priority, reporter AS _reporter, cc AS _cc
  FROM ticket t
  LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority'
  LEFT JOIN ticket_change tc ON id = tc.ticket
  ORDER BY
    changetime DESC

如何根据票证所指的组件更改颜色?

【问题讨论】:

    标签: trac


    【解决方案1】:

    __color__ 只能用于值为 1 到 5 的枚举,请参阅documentation。你可以这样做:

    (CASE component 
       WHEN 'component1' THEN 'background: #ff5733;'
       WHEN 'component2' THEN 'background: #3339ff;'
       WHEN 'component3' THEN 'background: #e9ff33;'
     END) AS __style__,
    

    【讨论】:

      【解决方案2】:

      受@RjOllos 回答的启发,我选择使用case 语句设置__color__

      (CASE component
         WHEN 'COMPONENT1' THEN 1
         WHEN 'COMPONENT2' THEN 2
         WHEN 'COMPONENT3a' THEN 4
         WHEN 'COMPONENT3b' THEN 4
         WHEN 'COMPONENT4' THEN 5
         ELSE 3
       END) AS __color__,
      

      这样做的好处是行保持交替的颜色。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-09
        • 1970-01-01
        • 1970-01-01
        • 2020-12-29
        • 2011-10-22
        • 2020-11-13
        • 2021-04-25
        • 1970-01-01
        相关资源
        最近更新 更多