код Perl если пользователь такой ID компании

Запросы на решение проблем

Модератор: ykolesnikov

Ответить
wss
OTRS Новобранец
Сообщения: 113
Зарегистрирован: 11 июл 2018, 10:06
Благодарил (а): 9 раз
Поблагодарили: 2 раза

код Perl если пользователь такой ID компании

Сообщение wss » 27 фев 2020, 09:27

Здравствуйте. отрс 5 . Вообщем нужно условие на языке Perl на странице пользователя (авторизация через AD): Если пользователь принадлежит такой компании, то то-то, иначе то-то.

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: код Perl если пользователь такой ID компании

Сообщение alexus » 27 фев 2020, 22:41

С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

wss
OTRS Новобранец
Сообщения: 113
Зарегистрирован: 11 июл 2018, 10:06
Благодарил (а): 9 раз
Поблагодарили: 2 раза

Re: код Perl если пользователь такой ID компании

Сообщение wss » 03 мар 2020, 10:09

Спасибо. Но этого мало, как вставить на странице CustomerTicketMessage.tt perl-код ? Через [% Data. %] можно брать данные ? Пользователь на данной странице уже зарегистрированный, поэтому нужно узнать его компанию.

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

 my $Company = $CustomerUserObject->CustomerID(
        UserLogin => 'some-login', # вот в этой строке тоже не понятно как написать CUSTOMER_ID из  таблицы customer_user
        
    );

wss
OTRS Новобранец
Сообщения: 113
Зарегистрирован: 11 июл 2018, 10:06
Благодарил (а): 9 раз
Поблагодарили: 2 раза

Re: код Perl если пользователь такой ID компании

Сообщение wss » 17 мар 2020, 09:52

Не работает код в файле CustomerTicketMessage.tt

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

if ([% Env('CustomerID') %]== 'КУИ') {
  print('got a b');
}

else {
  print('hit the "else" clause');
}
в браузере выводит просто как текст if (ЦМИРиТ== 'КУИ') { print('got a b'); } else { print('hit the "else" clause'); }

Я так понимаю это условие нужно прописать в файле /opt/otrs/Kernel/System/CustomerCompany.pm или можно как-нить прямо в CustomerTicketMessage.tt сделать ?

alex.t
OTRS Новобранец
Сообщения: 30
Зарегистрирован: 29 апр 2018, 09:26
Благодарил (а): 1 раз
Поблагодарили: 9 раз

Re: код Perl если пользователь такой ID компании

Сообщение alex.t » 06 апр 2020, 11:42

Делайте в коде Perl проверку, например:

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

$TestCustomerData = $Ticket{CustomerID} eq 'КУИ' ? 'got a b' : 'hit the "else" clause';

        $LayoutObject->Block(
            Name => 'TestBlock',
            Data => {
                TestData => $TestCustomerData ,
            },
        ); 


В самом шаблоне tt добавьте блок:

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

[% RenderBlockStart("TestBlock") %]
    <p>[% Data.TestData %]</p>
[% RenderBlockEnd("TestBlock") %]

Ответить