Для того, чтобы иметь эту возможность необходимо следующее.
1. Создать файл CustomerUserEditLink.pm и поместить его в Custom/Kernel/Output/HTML (если каталог не существует, нужно создать его), после чего перезапустить веб-сервер
Код: Выделить всё
package Kernel::Output::HTML::CustomerUserEditLink;
use strict;
use warnings;
use vars qw($VERSION);
$VERSION = qw($Revision: 1.20 $) [1];
sub new {
my ( $Type, %Param ) = @_;
# allocate new hash for object
my $Self = {};
bless( $Self, $Type );
# get needed objects
for (
qw(ConfigObject LogObject DBObject LayoutObject TicketObject MainObject EncodeObject UserID)
)
{
$Self->{$_} = $Param{$_} || die "Got no $_!";
}
return $Self;
}
sub Run {
my ( $Self, %Param ) = @_;
# build url
my $login=$Self->{DBObject}->QueryStringEscape( QueryString => $Param{Data}->{UserLogin} );
my $Action = $Param{Config}->{Action};
my $Subaction = $Param{Config}->{Subaction};
my $URL = $Self->{LayoutObject}->{Baselink} . "Action=$Action;Subaction=$Subaction";
$URL .= ';ID=' . $Self->{LayoutObject}->LinkEncode($login);
my $CSSClass = $Param{Config}->{CSSClass};
# generate block
$Self->{LayoutObject}->Block(
Name => 'CustomerItemRow',
Data => {
%{ $Param{Config} },
CSSClass => $CSSClass,
URL => $URL,
},
);
return 1;
}
1;
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<otrs_config version="1.0" init="Application">
<CVS>$Id: Ticket_custom.xml,v 1.000 2012/06/16 16:00:00 mg Exp $</CVS>
<ConfigItem Name="Frontend::CustomerUser::Item###EditCustomer" Required="0" Valid="1">
<Description Translatable="1"></Description>
<Group>Ticket</Group>
<SubGroup>Frontend::Customer</SubGroup>
<Setting>
<Hash>
<Item Key="Module">Kernel::Output::HTML::CustomerUserEditLink</Item>
<Item Key="CSS">Core.Agent.CustomerUser.OpenTicket.css</Item>
<Item Key="CSSClass">NoOpenTicket</Item>
<Item Key="Target">_blank</Item>
<Item Key="Text" Translatable="1">Edit customer</Item>
<Item Key="Action">AdminCustomerUser</Item>
<Item Key="Subaction">Change</Item>
</Hash>
</Setting>
</ConfigItem>
</otrs_config>
Ссылка на редактирование появится в поле Информация о клиенте (пример на скриншоте)