OTRS票证的初始创建者

时间:2014-09-15 17:31:26

标签: themes otrs

在OTRS(版本3.1,3.2或3.3)中是否可以在客户概览(CustomerTicketOverview.dtl)或详细信息(CustomerTicketZoom.dtl)页面中显示故障单的初始创建者?例如,如果我创建一个故障单作为代理,我想显示代理名称,否则如果客户创建了该故障单,那么我想显示客户名称。

我试过了:

$Text{"$QData{"FromRealname","60"}"}

似乎总是打印最后一位受访者的姓名。如果票证是新的,则它包含客户的名称(如果客户创建它或者是电话票证),否则如果是电子票证,则它似乎包含分配给队列的电子邮件地址的名称。 / p>

$Text{"$Data{"CreatedBy"}"}

似乎包含创建故障单的人员的ID。有什么办法可以做我想要的吗?

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。但是您必须进行查找以将UserID转换为“可读”名称。

首先,将Kernel / Modules / CustomerTicketZoom.pm复制到Custom / Kernel / Modules / CustomerTicketZoom.pm 然后像这样修改_mask方法(L#:1000左右):

    # ticket owner
if ( $Self->{Config}->{AttributesView}->{Owner} ) {
    my $OwnerName = $Self->{AgentUserObject}->UserName(
        UserID => $Param{OwnerID},
    );
    $Self->{LayoutObject}->Block(
        Name => 'Owner',
        Data => { OwnerName => $OwnerName },
    );
}
####### this is the new part #######
# ticket creator
if ( $Param{CreateBy} != 1 ) {

    #1 is the default account if a ticket is created by a customer
    my $CreatorName = $Self->{AgentUserObject}->UserName(
        UserID => $Param{CreateBy},
    );
    $Self->{LayoutObject}->Block(
        Name => 'Creator',
        Data => { CreatorName => $CreatorName },
    );

}
####### this is the end of the new part #######    
# ticket responsible
if (
    $Self->{ConfigObject}->Get('Ticket::Responsible')
    &&
    $Self->{Config}->{AttributesView}->{Responsible}
    )
{
    my $ResponsibleName = $Self->{AgentUserObject}->UserName(
        UserID => $Param{ResponsibleID},
    );
    $Self->{LayoutObject}->Block(
        Name => 'Responsible',
        Data => { ResponsibleName => $ResponsibleName },
    );
}

# check if ticket is normal or process ticket

我使用了OTRS 3.3.8 + ITSM,因此您的行号可能会有所不同。 ne inserted Block检查创建者是否是!= UserID 1,如果创建者不是代理,则是OTRS用于创建票证的本地管理员帐户。如果其!= 1 OTRS执行查找,则在var中保存实名。在此之后,创建者dtl:block被渲染。

第二部分: 修改模板文件: 将原始文件从Kernel / Output / HTML / Standard / CustomerTicketZoom.dtl复制到: 定制/核心/ OUTPUT / HTML /标准/ CustomerTicketZoom.dtl

并插入一个新块(在L#:190左右 - 在所有者块之后):

<!-- dtl:block:Creator -->
                    <li><span class="Key">$Text{"Creator"}:</span> $QData{"CreatorName"}</li>
<!-- dtl:block:Creator -->

应用更改后,应正确显示创建者。