OTRS. Отображаем IP и HOSTNAME в заявке

Часто, при получении заявки, агенту необходима дополнительная информация о клиенте: ip адрес и/или hostname компьютера. Это особенно актуально, при осуществлении удаленной технической поддержки, когда решить проблему можно подключившись к компьютеру пользователя.

По умолчанию в OTRS4 такой возможности нет, но это довольно легко исправить. Понятно, что речь идет только о заявках созданных через веб интерфейс пользователя и не относится к заявкам созданным при помощи email или самим агентом.

Для начала нам надо создать два динамических поля — одно для ip адреса

динамическое поле ip

а одно для hostname

динамическое поле hostname

Здесь самое важно в полях «значения по умолчанию» $Env{«REMOTE_HOST»} и $Env{«REMOTE_ADDR»}

Затем активировать отображения этих поле в «Редактировать настройки конфигурации in Ticket → Frontend::Customer::Ticket::ViewNew»

отображение динамического поля

и в настройки конфигурации in Ticket → Frontend::Agent::Ticket::ViewZoom — поставить — 1.

отображение viewZoom

Далее правим файл Kernal/Output/HTML/Templates/Custom/Customer.Ticket.Message.tt

Дописываем сразу после [% RenderBlockEnd(«DynamicField») %]: кусок кода для отображения IP:

[% WRAPPER JSOnDocumentComplete %]
<script type="text/javascript">
$(function() {
var ip = '[% Env("REMOTE_ADDR") | html %]';
$('#DynamicField_IPADDR').parent().addClass( 'Hidden' );
$('#LabelDynamicField_IPADDR').parent().addClass( 'Hidden' );
$('#DynamicField_IPADDR').val(ip);
});
</script>
[% END %]

И сразу после него для отображения Hostname:

[% WRAPPER JSOnDocumentComplete %]
<script type="text/javascript">
$(function() {
var host = '[% Env("REMOTE_HOST") | html %]';
$('#DynamicField_hostname').parent().addClass( 'Hidden' );
$('#LabelDynamicField_hostname').parent().addClass( 'Hidden' );
$('#DynamicField_hostname').val(host);
});
</script>
[% END %]

Выглядит это так:

код для hostame и ip

Для того, чтобы отображалась Env(«REMOTE_HOST») необходимо включить  такую возможность у вебсервера :

Для веб сервера Apache2 необходимо включить опцию HostnameLookups. По умолчанию она отключена для снижения нагрузки на DNS сервер.

Меняем в файле /etc/apache2/apache2.conf опцию «HostnameLookups Off» на «HostnameLookups On». Перезагружаем вебсервер:

apache2ctl restart

После проделанного у меня вот такой результат:

включенные hostname и ip результат

Vladimir

Добавить комментарий