Фильтр для уведомлений

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

Модератор: ykolesnikov

Ответить
root
OTRS Новобранец
Сообщения: 12
Зарегистрирован: 22 апр 2016, 15:50
Поблагодарили: 1 раз

Фильтр для уведомлений

Сообщение root » 22 апр 2016, 16:06

Добрый день,
Можно как-то фильтровать уведомления, т.е. отправлять их не для всех?
Например, не отправлять уведомление о создании новой заявки клиенту, который отправил заявку с адреса myname@example.com
Нашел фильтр для уведомлений:
Изображение
В поле Клиент, видимо, можно вписать только тех получателей которым нужно отправлять уведомления.
Варианты вида !myname@example.com, <>myname@example.com, <>myname@example.com, т.е. "для всех, кроме" не работают :(

Подскажите, что еще можно придумать, как фильтровать отправку уведомлений?
Prod: OTRS 6.0.24 on CentOS 7.7.1908 x64 Linux with MariaDB 5.5.64

paver
OTRS Мастер
Сообщения: 507
Зарегистрирован: 22 апр 2015, 06:45
Откуда: Томск
Благодарил (а): 7 раз
Поблагодарили: 45 раз

Re: Фильтр для уведомлений

Сообщение paver » 25 апр 2016, 09:01

root писал(а):Варианты вида !myname@example.com, <>myname@example.com, <>myname@example.com, т.е. "для всех, кроме" не работают :(
А так?
!(myname@example.com)
--
OTRS 6.0.22

root
OTRS Новобранец
Сообщения: 12
Зарегистрирован: 22 апр 2016, 15:50
Поблагодарили: 1 раз

Re: Фильтр для уведомлений

Сообщение root » 27 апр 2016, 13:46

Не срабатывает :x
Уведомление перестаёт приходить всем, не зависимо от того с какого адреса пришла заявка.
Prod: OTRS 6.0.24 on CentOS 7.7.1908 x64 Linux with MariaDB 5.5.64

Alex Pelikh
OTRS Новобранец
Сообщения: 44
Зарегистрирован: 16 мар 2016, 18:22

Re: Фильтр для уведомлений

Сообщение Alex Pelikh » 27 апр 2016, 14:14

какая у вас версия OTRS?

По идее, клиент в данном поле отбирается по логину, а не по email
Если клиент в системе не забит, то его email должен быть идентификатором компании, а не клиента
OTRS 5.0.10, Percona 5.7
Customized KIX4OTRS
Ubuntu 14.04
PentahoBI 7.0

root
OTRS Новобранец
Сообщения: 12
Зарегистрирован: 22 апр 2016, 15:50
Поблагодарили: 1 раз

Re: Фильтр для уведомлений

Сообщение root » 04 май 2016, 15:53

Версия: 5.0.2
Клиент в системе есть, но всё равно, если указываю !(myname) - уведомление перестает работать для всех.
Prod: OTRS 6.0.24 on CentOS 7.7.1908 x64 Linux with MariaDB 5.5.64

Alex Pelikh
OTRS Новобранец
Сообщения: 44
Зарегистрирован: 16 мар 2016, 18:22

Re: Фильтр для уведомлений

Сообщение Alex Pelikh » 04 май 2016, 19:52

На самом деле как я вижу решение, которое будет работать не только для одного клиента, а в принципе:

Создаете динамическое поле "Не уведомлять о заявках" (ну или что-то в этом духе) и пишете туда значения формата 0 и 1
Настраиваете фильтр уведомлений, чтобы заявки выбирались только "Не уведомлять" = 0
Настраиваете первый post-master фильтр:
from:EMAILADRESS:mail@example.com
X-OTRS-DynamicField(не уведомлять) Установить значение:1 (это позволит на всех входящих заявках с данного адреса сразу ставить единицу)
Настраиваете второй post-master фильтр:
from:EMAILADRESS:!(mail@example.com)
X-OTRS-DynamicField(не уведомлять) Установить значение:0 (это позволит на всех входящих заявках НЕ с данного адреса сразу ставить ноль)

При необходимости добавить клиента в список не уведомляемых - просто добавляете еще 1 условие в каждый фильтр from:EMAILADRESS:mail2@example.com

Костыли - но работать должно.
На истину не претендую, возможно кто-то подскажет более красивое решение
OTRS 5.0.10, Percona 5.7
Customized KIX4OTRS
Ubuntu 14.04
PentahoBI 7.0

root
OTRS Новобранец
Сообщения: 12
Зарегистрирован: 22 апр 2016, 15:50
Поблагодарили: 1 раз

Re: Фильтр для уведомлений

Сообщение root » 05 май 2016, 18:04

Пробую настроить, но OTRS не даёт сохранить 0 в поле.
Изображение
Изображение
Изображение

Если указываю false, unchecked или "0", получаю ошибки:

Message: Value false is invalid for Checkbox fields!
Message: Value Unchecked is invalid for Checkbox fields!
Message: Value "0" is invalid for Checkbox fields!
Prod: OTRS 6.0.24 on CentOS 7.7.1908 x64 Linux with MariaDB 5.5.64

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: Фильтр для уведомлений

Сообщение ykolesnikov » 05 май 2016, 18:12

попробуйте "Yes" или "No" в разных вариантах написания, хотя, для checkbox обычно выставляются значения о и 1.
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

root
OTRS Новобранец
Сообщения: 12
Зарегистрирован: 22 апр 2016, 15:50
Поблагодарили: 1 раз

Re: Фильтр для уведомлений

Сообщение root » 05 май 2016, 18:40

Аналогично, ошибка:
Message: Value No is invalid for Checkbox fields!

Нашел вот что в Kernel/System/DynamicField/Driver/Checkbox.pm:

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

sub ValueSet {
    my ( $Self, %Param ) = @_;

    # check value for just 1 or 0
    if ( defined $Param{Value} && !$Param{Value} ) {
        $Param{Value} = 0;
    }
    elsif ( $Param{Value} && $Param{Value} !~ m{\A [0|1]? \z}xms ) {
        $Kernel::OM->Get('Kernel::System::Log')->Log(
            Priority => 'error',
            Message  => "Value $Param{Value} is invalid for Checkbox fields!",
        );
        return;
    }

    my $Success = $Kernel::OM->Get('Kernel::System::DynamicFieldValue')->ValueSet(
        FieldID  => $Param{DynamicFieldConfig}->{ID},
        ObjectID => $Param{ObjectID},
        Value    => [
            {
                ValueInt => $Param{Value},
            },
        ],
        UserID => $Param{UserID},
    );

    return $Success;
}

sub ValueValidate {
    my ( $Self, %Param ) = @_;

    # check value for just 1 or 0
    if ( defined $Param{Value} && !$Param{Value} ) {
        $Param{Value} = 0;
    }
    elsif ( $Param{Value} && $Param{Value} !~ m{\A [0|1]? \z}xms ) {
        $Kernel::OM->Get('Kernel::System::Log')->Log(
            Priority => 'error',
            Message  => "Value $Param{Value} is invalid for Checkbox fields!",
        );
        return;
    }

    my $Success = $Kernel::OM->Get('Kernel::System::DynamicFieldValue')->ValueValidate(
        Value => {
            ValueInt => $Param{Value},
        },
        UserID => $Param{UserID}
    );

    return $Success;
}
Судя по комментарию "# check value for just 1 or 0" значения должны быть 0 или 1 :)
Prod: OTRS 6.0.24 on CentOS 7.7.1908 x64 Linux with MariaDB 5.5.64

Alex Pelikh
OTRS Новобранец
Сообщения: 44
Зарегистрирован: 16 мар 2016, 18:22

Re: Фильтр для уведомлений

Сообщение Alex Pelikh » 10 май 2016, 14:59

Попробуйте тип поля "Текст", вместо Checkbox
OTRS 5.0.10, Percona 5.7
Customized KIX4OTRS
Ubuntu 14.04
PentahoBI 7.0

root
OTRS Новобранец
Сообщения: 12
Зарегистрирован: 22 апр 2016, 15:50
Поблагодарили: 1 раз

Re: Фильтр для уведомлений

Сообщение root » 16 май 2016, 13:22

Тогда придется вместо чекбокса вписывать 0\1 в поле, что не очень удобно :geek:
Prod: OTRS 6.0.24 on CentOS 7.7.1908 x64 Linux with MariaDB 5.5.64

Ответить