Страница 1 из 1

Autocomple для поля CustomerID

Добавлено: 10 янв 2016, 12:23
dim0n
Имеем хелпдеск с большим количеством внешних клиентов.
При выключенной функции CustomerCompanySupport, неудобно заполнять CustomerID, сделаем авто-дополнение поля CustomerID в форме редактирования пользователей клиентов.
- Копируем файл /otrs/Kernel/Output/HTML/Templates/Standart/AdminCustomerUser.tt в папку Custom с сохранением путей.
- Добавляем в конец шаблона AdminCustomerUser.tt следующий код:

Код: Выделить всё

[% WRAPPER JSOnDocumentComplete %]
<script type="text/javascript">//<![CDATA[
Core.UI.Autocomplete.Init($("#UserCustomerID"), function (Request, Response) {
                var URL = Core.Config.Get('Baselink'), Data = {
                    Action: 'AgentCustomerInformationCenterSearch',
                    Subaction: 'SearchCustomerID',
                    Term: Request.term,
                    MaxResults: Core.UI.Autocomplete.GetConfig('MaxResultsDisplayed')
                };

                $("#UserCustomerID").data('AutoCompleteXHR', Core.AJAX.FunctionCall(URL, Data, function (Result) {
                    var ValueData = [];
                    $("#CustomerID").removeData('AutoCompleteXHR');
                    $.each(Result, function () {
                        ValueData.push({
                            label: this.Label,
                            value: this.Value
                        });
                    });
                    Response(ValueData);
                }));
        }, function (Event, UI) {
                    $("#UserCustomerID").val(UI.item.value);
        }, 'CustomerSearch');
//]]></script>
[% END %]
PS: проверялось на OTRS 5, но не вижу причин по которым бы оно не работало на OTRS 4
PPS: не являюсь JavaScript кодером, если можно сделать красивше - поправьте.