Использование ACL
Модератор: ykolesnikov
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
Вопрос с отображением в агентском интерфейсе так и висит.
Появился еще один.
У меня клиент не вводит приоритет, нет у него этого атрибута в форме. Но, хотелось бы в зависимости от категории заявки (Dynamic field), для одной из них (категорий) установить приоритет "5 - безотлагательный".
Не работает.
При вводе телефонной заявки агентом - там поле для ввода приоритета в наличии - все работает.
Какие здесь еще есть грабли, или это в принципе невозможно если поле в форме ввода отсутствует?
Появился еще один.
У меня клиент не вводит приоритет, нет у него этого атрибута в форме. Но, хотелось бы в зависимости от категории заявки (Dynamic field), для одной из них (категорий) установить приоритет "5 - безотлагательный".
Не работает.
При вводе телефонной заявки агентом - там поле для ввода приоритета в наличии - все работает.
Какие здесь еще есть грабли, или это в принципе невозможно если поле в форме ввода отсутствует?
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
Re: Использование ACL
Юрий,
когда столкнулась с аналогичной задачей - пришла к выводу, что при помощи ACL это сделать нельзя, поэтому вносила изменения в код модулей.
когда столкнулась с аналогичной задачей - пришла к выводу, что при помощи ACL это сделать нельзя, поэтому вносила изменения в код модулей.
Re: Использование ACL
Добрый день!
Пишу ACL, чтобы ограничить доступные для выбора типы заявок, но система не воспринимает написанные по-русски, работает только для типа RfC.
Попробовала вариант с decode_utf8, описанный выше в этой теме, не помогает.
Подскажите пожалуйста, в чем моя ошибка и что можно сделать?
Благодарю заранее.
Пишу ACL, чтобы ограничить доступные для выбора типы заявок, но система не воспринимает написанные по-русски, работает только для типа RfC.
Попробовала вариант с decode_utf8, описанный выше в этой теме, не помогает.
Подскажите пожалуйста, в чем моя ошибка и что можно сделать?
Благодарю заранее.
Re: Использование ACL
catty,
проверьте, что Вы верно задаете ACL и соблюдаете регистр символов.
use Encode;
$Self->{TicketAcl}->{'MyTest'} = {
Properties => {
Frontend => {
Action => ['CustomerTicketMessage'],
},
},
Possible => {
Ticket => {
Type => ['Incident','RfC', decode_utf8('МойТип')],
}
},
}
успешно работает.
проверьте, что Вы верно задаете ACL и соблюдаете регистр символов.
use Encode;
$Self->{TicketAcl}->{'MyTest'} = {
Properties => {
Frontend => {
Action => ['CustomerTicketMessage'],
},
},
Possible => {
Ticket => {
Type => ['Incident','RfC', decode_utf8('МойТип')],
}
},
}
успешно работает.
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
Код: Выделить всё
$Self->{TicketAcl}->{'490 ACL-Customer-Types'} = {
Properties => {
Frontend => {
Action => ['CustomerTicketMessage']
},
},
Possible => {
Ticket => {
Type => ['01....Инцидент',
'03....Инцидент::Авария',
'02....Инцидент::Запрос на обслуживание',
'04....Запрос на Изменение(RfC)'
],
},
},
};
Я свои пишу в Notepad++. Там есть принудительная перекодировка файла в UTF-8 и после этого не пишу никаких Decode.
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
Re: Использование ACL
Anna,
для чистоты эксперимента скопировала ваш код - RfC выводит, МойТип нет (тип специально добавила).
Юрий, Notepad++ тоже не помог...
Не знаю, что и делать...
для чистоты эксперимента скопировала ваш код - RfC выводит, МойТип нет (тип специально добавила).
Юрий, Notepad++ тоже не помог...
Не знаю, что и делать...
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
А рестарт Apache?
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
Re: Использование ACL
Anna, Юрий, спасибо вам большое!
Попробовала сегодня на свежую голову - все получилось (использовала и Notepad++ и decode одновременно).
Думаю, дело может быть также в версии системы (смотрела на тестовой 3.1.0, она воспринимает русский без дополнительных ухищрений - достаточно сохранить в utf-8).
Попробовала сегодня на свежую голову - все получилось (использовала и Notepad++ и decode одновременно).
Думаю, дело может быть также в версии системы (смотрела на тестовой 3.1.0, она воспринимает русский без дополнительных ухищрений - достаточно сохранить в utf-8).
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
Доброе утро!
Ум - хорошо- два сапога - пара.
Ум - хорошо- два сапога - пара.
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
Re: Использование ACL
а у меня не идетcatty писал(а):Anna, Юрий, спасибо вам большое!
Попробовала сегодня на свежую голову - все получилось (использовала и Notepad++ и decode одновременно).
Думаю, дело может быть также в версии системы (смотрела на тестовой 3.1.0, она воспринимает русский без дополнительных ухищрений - достаточно сохранить в utf-8).
...
Ticket =>
{
Type => ['Incident', 'Проблема'],
},
...
выводит только Incident. Так и не понял, какое решение верно?
ЗЫ Версия 3.1.1
FreeBSD 9.1, OTRS 3.2.2
Re: Использование ACL
Верны все, что правильны!
А если серьезно, убедитесь, что текст ACL сохранен в UTF-8, попробуйте использовать и decode.
Кроме того убедитесь в правильности написания наименования типа - всё должно быть абсолютно идентично, регистр, пробелы... что и в конфигах.
Удачи!
А если серьезно, убедитесь, что текст ACL сохранен в UTF-8, попробуйте использовать и decode.
Кроме того убедитесь в правильности написания наименования типа - всё должно быть абсолютно идентично, регистр, пробелы... что и в конфигах.
Удачи!
С уважением
Ю. Колесников
OTRS 3.3.1, ITSM 3.3.1, SUSE 12, MySQL5
Ю. Колесников
OTRS 3.3.1, ITSM 3.3.1, SUSE 12, MySQL5
Re: Использование ACL
как-то странно, сегодня на свежую голову (и неделю) заработал способ через np++, а с декодом вообще OTRS не запустилась при вкл компаyuri0001 писал(а):Верны все, что правильны!
А если серьезно, убедитесь, что текст ACL сохранен в UTF-8, попробуйте использовать и decode.
Кроме того убедитесь в правильности написания наименования типа - всё должно быть абсолютно идентично, регистр, пробелы... что и в конфигах.
Удачи!
спасибо!
FreeBSD 9.1, OTRS 3.2.2
Re: Использование ACL
Можно ли при помощи ACL реализовать следующее:
В зависимости от логина(группы) агент видит только определенные заявки
Например: логин - atest видит заявки 'Аппаратная часть',' Приложения' и т.д.
В зависимости от логина(группы) агент видит только определенные заявки
Например: логин - atest видит заявки 'Аппаратная часть',' Приложения' и т.д.
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
Если еще актуально.
Основные "переменные" для Properties & Possible показаные в главе 18 английского мануала по 3.1 (Preference) -http://doc.otrs.org/3.1/en/html/ch18s03.html. Не все, но достаточно, чтобы понять что ACL опираются на атрибуты заявки или действия (Actions) OTRS.
Исходя из этого и надо их (ACL) формулировать. Если они есть, можно, как минимум, пробовать.
Т.е. если ваши понятия - "Приложения"... соотносятся с атрибутами заявки однозначно (Очередь, Динамическое поле, ...), наверное, можно.
Основные "переменные" для Properties & Possible показаные в главе 18 английского мануала по 3.1 (Preference) -http://doc.otrs.org/3.1/en/html/ch18s03.html. Не все, но достаточно, чтобы понять что ACL опираются на атрибуты заявки или действия (Actions) OTRS.
Исходя из этого и надо их (ACL) формулировать. Если они есть, можно, как минимум, пробовать.
Т.е. если ваши понятия - "Приложения"... соотносятся с атрибутами заявки однозначно (Очередь, Динамическое поле, ...), наверное, можно.
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
Re: Использование ACL
Юрий,
в этой ветке есть кусок построения JSON:
и буквально за пару строк до него - построение html-вывода динамических полей
В нем разработчики забыли поставить PossibleNone:
В коде страницы AgentTicketPhone есть веткаС двумя последующими ACL для динамических полей - наблюдается разница в работе для клиента и агента
Для клиента работает отлично, а для агента - во второе (зависимое) поле сразу подставляется первое допустимое значение из списка - вместо прочерка как у клиента и что более правильно.
Код: Выделить всё
elsif ( $Self->{Subaction} eq 'AJAXUpdate' ) {
Код: Выделить всё
my $JSON = $Self->{LayoutObject}->BuildSelectionJSON(
В нем разработчики забыли поставить PossibleNone:
Код: Выделить всё
# add dynamic field to the list of fields to update
push(
@DynamicFieldAJAX,
{
Name => 'DynamicField_' . $DynamicFieldConfig->{Name},
Data => $PossibleValues,
SelectedID => $DynamicFieldValues{ $DynamicFieldConfig->{Name} },
Translation => $DynamicFieldConfig->{Config}->{TranslatableValues} || 0,
Max => 100,
# ---
# ANNA
# ---
PossibleNone => 1,
# ---
}
);
}
Re: Использование ACL
Добрый вечер!
Спасибо, Анна, попробую завтра.
Спасибо, Анна, попробую завтра.
С уважением
Ю. Колесников
OTRS 3.3.1, ITSM 3.3.1, SUSE 12, MySQL5
Ю. Колесников
OTRS 3.3.1, ITSM 3.3.1, SUSE 12, MySQL5
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
Доброе утро!
1. Вы имели в виду AgentTicketPhone .dtl или .pm модуль?
2. Если .pm, то его можно/надо править по месту или как .dtl в кастомную папку и там править? Где тогда эта папка должна располагаться?
UPD. Да, нашел в .pm, второй вопрос остается. С .dtl все проверено, там в кастомную папку и все нормально. В .pm еще правок не делал, не хочется налетать на грабли.
1. Вы имели в виду AgentTicketPhone .dtl или .pm модуль?
2. Если .pm, то его можно/надо править по месту или как .dtl в кастомную папку и там править? Где тогда эта папка должна располагаться?
UPD. Да, нашел в .pm, второй вопрос остается. С .dtl все проверено, там в кастомную папку и все нормально. В .pm еще правок не делал, не хочется налетать на грабли.
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
Заменил в оригинальном модуле, проверил, все работает.
Большое спасибо за помощь и поддержку.
Немного напрягает, что теперь надо помнить о правках при апгрейдах.
Достойно занесения в раздел HOWTOS
Большое спасибо за помощь и поддержку.
Немного напрягает, что теперь надо помнить о правках при апгрейдах.
Достойно занесения в раздел HOWTOS
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
Re: Использование ACL
Юрий,
чтобы не терять изменения при обновлении, файлы .pm нужно копировать в папку Custom и править там. Для нашего случая
в /Custom/Kernel/Modules/
А правильнее даже так написать в коде:
чтобы не терять изменения при обновлении, файлы .pm нужно копировать в папку Custom и править там. Для нашего случая
в /Custom/Kernel/Modules/
А правильнее даже так написать в коде:
Код: Выделить всё
# ---
# ANNA
# ---
PossibleNone => $DynamicFieldConfig->{Config}->{PossibleNone},
# ---
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
Спасибо, Анна, еще вопрос от тупого.
/Custom/Kernel/Modules/ - это явно линуксовый путь в котором я ничего не понимаю.
Для .dtl файлов у меня заведена кастомная папка внутри Kernel/Output/HTML - там есть Standard и моя Cmirit.
В свете этого кастомная папка для .pm файлов должна иметь то же имя и указываться в настройках или еще как?
/Custom/Kernel/Modules/ - это явно линуксовый путь в котором я ничего не понимаю.
Для .dtl файлов у меня заведена кастомная папка внутри Kernel/Output/HTML - там есть Standard и моя Cmirit.
В свете этого кастомная папка для .pm файлов должна иметь то же имя и указываться в настройках или еще как?
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
Re: Использование ACL
Юрий,
в каталоге установки OTRS на одном уровне с папкой Kernel есть папка Custom.
В ней есть README.txt, в нем описано, что это за папка и как с ней работать:
1) создать в папке Custom папку Kernel, в папке Customer/Kernel - папку Modules
2) скопировать в папку Custom/Kernel/Modules файл AgentTicketPhone.pm
3) внести необходимые изменения именно в него
в каталоге установки OTRS на одном уровне с папкой Kernel есть папка Custom.
В ней есть README.txt, в нем описано, что это за папка и как с ней работать:
То есть, если Вы хотите внести изменения в код файла Kernel/Modules/AgentTicketPhone.pm, то Вам нужноIn case you need to modify already existing framework file for customizations,
do this in the $OTRS_HOME/Custom/ directory.
Example:
You need to modify Kernel/System/Service.pm to add an customization, copy
Kernel/System/Service.pm to Custom/Kernel/System/Service.pm and modify it.
This module will get used.
1) создать в папке Custom папку Kernel, в папке Customer/Kernel - папку Modules
2) скопировать в папку Custom/Kernel/Modules файл AgentTicketPhone.pm
3) внести необходимые изменения именно в него
Re: Использование ACL
О.К. Спасибо большое. Теперь все понятно.
С уважением
Ю. Колесников
OTRS 3.3.1, ITSM 3.3.1, SUSE 12, MySQL5
Ю. Колесников
OTRS 3.3.1, ITSM 3.3.1, SUSE 12, MySQL5
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
P.S.
В моей виндусовой инсталляции такой папки не оказалось. Но создал в соответствии с рекомендациями такую структуру и все работает. Еще раз спасибо.
С наступающим праздником Победы!
В моей виндусовой инсталляции такой папки не оказалось. Но создал в соответствии с рекомендациями такую структуру и все работает. Еще раз спасибо.
С наступающим праздником Победы!
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
Re: Использование ACL
Коллеги,
нужна помощь и разъяснение насчет ACL.
Есть группа клиентов по умолчанию - "users" и есть особая группа - "users-dev". Для "users" нужно оставить только один тип заявки при создании новой - "Incident". Для "users-dev" - добавляется еще один тип - "Development". Все это касается именно создания заявки через клиентскую панель. Пытаюсь решить через ACL. Завожу 2 списка:
В результате, не важно относится клиент к группе "users-dev" или нет, выводится только тип - "Incident".
Помогите, пожалуйста. Если невозможно настроить при помощи ACL, подскажите, где похардкодить.
нужна помощь и разъяснение насчет ACL.
Есть группа клиентов по умолчанию - "users" и есть особая группа - "users-dev". Для "users" нужно оставить только один тип заявки при создании новой - "Incident". Для "users-dev" - добавляется еще один тип - "Development". Все это касается именно создания заявки через клиентскую панель. Пытаюсь решить через ACL. Завожу 2 списка:
Код: Выделить всё
$Self->{TicketAcl}->{'ACL-Customer-Ticket-Std'} = {
Properties => {
Frontend => {
Action => ['CustomerTicketMessage'],
},
CustomerUser => {
# ...
Group_rw => [
'users',
],
# ...
},
},
Possible => {
Ticket => {
Type => ['Incident'],
},
},
};
$Self->{TicketAcl}->{'ACL-Customer-Ticket-Dev'} = {
Properties => {
Frontend => {
Action => ['CustomerTicketMessage'],
},
CustomerUser => {
# ...
Group_rw => [
'users-dev',
],
},
},
Possible => {
Ticket => {
Type => ['Incident','Development'],
},
},
};
Помогите, пожалуйста. Если невозможно настроить при помощи ACL, подскажите, где похардкодить.