首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OTRS工单的初始创建者

OTRS工单的初始创建者
EN

Stack Overflow用户
提问于 2014-09-16 01:31:26
回答 1查看 984关注 0票数 1

在OTRS (版本3.1、3.2或3.3)中,是否可以在客户概述(CustomerTicketOverview.dtl)或详细信息(CustomerTicketZoom.dtl)页面中显示工单的初始创建者?例如,如果我作为代理创建了一个票证,我希望显示代理的名称,否则,如果是客户创建了该票证,我将显示客户的名称。

我试过这个:

代码语言:javascript
复制
$Text{"$QData{"FromRealname","60"}"}

它似乎总是打印上次回复票据的用户的名称。如果工单是新的,则它包含客户的名称(如果是客户创建的)或如果它是电话工单,否则,如果它是电子邮件工单,它似乎包含与队列一起分配的电子邮件地址的名称。

代码语言:javascript
复制
$Text{"$Data{"CreatedBy"}"}

它似乎包含创建票证的人的id。有什么办法可以做到我想要的吗?

EN

回答 1

Stack Overflow用户

发布于 2014-09-22 00:31:51

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

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

代码语言:javascript
复制
    # 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插入的数据块将检查创建者是否为!= UserID 1,如果创建者不是代理,则这是OTRS用于创建票证的本地管理员帐户。如果它的!= 1 OTRS执行查找并将真实姓名保存在var中。在此之后,将呈现创建者dtl:块。

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

并插入新块(围绕L#:190 -在所有者块之后):

代码语言:javascript
复制
<!-- dtl:block:Creator -->
                    <li><span class="Key">$Text{"Creator"}:</span> $QData{"CreatorName"}</li>
<!-- dtl:block:Creator -->

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25853592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档