
На примере: OTRS 6.0.5
Проблема: Каждому, новому, клиенту отображаются сервисы по умолчанию - до тех пор пока у клиента не определён хотя-бы один сервис, после отображаются только назначенные клиенту сервисы.
Задача: Отображать всем клиентам "сервисы по умолчанию" - вне зависимости от того назначены ли им "персональные" сервисы + назначенный персональный список.
Решение:
1. Скопировать файл: Kernel/System/Service.pm в Custom/Kernel/System/
2. В скопированном файле, в строке 1015 произвести изменение:
Оригинал:
Код: Выделить всё
elsif ( $Param{CustomerUserLogin} ) {
$SQL .= " scu.customer_user_login = '$Param{CustomerUserLogin}'";
}
Код: Выделить всё
elsif ( $Param{CustomerUserLogin} ) {
$SQL .= " (scu.customer_user_login = '$Param{CustomerUserLogin}' OR scu.customer_user_login = '<DEFAULT>')";
}
Код: Выделить всё
--- Kernel/System/Service.pm 2018-03-13 14:35:33.171185187 +0200
+++ Custom/Kernel/System/Service.pm 2018-03-13 14:32:19.000000000 +0200
@@ -1012,7 +1012,7 @@
$SQL .= " scu.service_id = $Param{ServiceID}";
}
elsif ( $Param{CustomerUserLogin} ) {
- $SQL .= " scu.customer_user_login = '$Param{CustomerUserLogin}'";
+ $SQL .= " (scu.customer_user_login = '$Param{CustomerUserLogin}' OR scu.customer_user_login = '<DEFAULT>')";
}
$DBObject->Prepare( SQL => $SQL );