код Perl если пользователь такой ID компании
Модератор: ykolesnikov
-
- OTRS Новобранец
- Сообщения: 113
- Зарегистрирован: 11 июл 2018, 10:06
- Благодарил (а): 9 раз
- Поблагодарили: 2 раза
код Perl если пользователь такой ID компании
Здравствуйте. отрс 5 . Вообщем нужно условие на языке Perl на странице пользователя (авторизация через AD): Если пользователь принадлежит такой компании, то то-то, иначе то-то.
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: код Perl если пользователь такой ID компании
С уважением,
Алексей Юсов
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? Спросите меня как!
Алексей Юсов
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? Спросите меня как!
-
- OTRS Новобранец
- Сообщения: 113
- Зарегистрирован: 11 июл 2018, 10:06
- Благодарил (а): 9 раз
- Поблагодарили: 2 раза
Re: код Perl если пользователь такой ID компании
Спасибо. Но этого мало, как вставить на странице CustomerTicketMessage.tt perl-код ? Через [% Data. %] можно брать данные ? Пользователь на данной странице уже зарегистрированный, поэтому нужно узнать его компанию.
Код: Выделить всё
my $Company = $CustomerUserObject->CustomerID(
UserLogin => 'some-login', # вот в этой строке тоже не понятно как написать CUSTOMER_ID из таблицы customer_user
);
-
- OTRS Новобранец
- Сообщения: 113
- Зарегистрирован: 11 июл 2018, 10:06
- Благодарил (а): 9 раз
- Поблагодарили: 2 раза
Re: код Perl если пользователь такой ID компании
Не работает код в файле CustomerTicketMessage.tt
в браузере выводит просто как текст if (ЦМИРиТ== 'КУИ') { print('got a b'); } else { print('hit the "else" clause'); }
Я так понимаю это условие нужно прописать в файле /opt/otrs/Kernel/System/CustomerCompany.pm или можно как-нить прямо в CustomerTicketMessage.tt сделать ?
Код: Выделить всё
if ([% Env('CustomerID') %]== 'КУИ') {
print('got a b');
}
else {
print('hit the "else" clause');
}
Я так понимаю это условие нужно прописать в файле /opt/otrs/Kernel/System/CustomerCompany.pm или можно как-нить прямо в CustomerTicketMessage.tt сделать ?
-
- OTRS Новобранец
- Сообщения: 30
- Зарегистрирован: 29 апр 2018, 09:26
- Благодарил (а): 1 раз
- Поблагодарили: 9 раз
Re: код Perl если пользователь такой ID компании
Делайте в коде Perl проверку, например:
В самом шаблоне tt добавьте блок:
Код: Выделить всё
$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") %]