Обязательные поля "Тип", "Сервис", "Уровень обслуживания"

Только для готовых решений! Пожалуйста, не используйте для вопросов и обсуждений!

Модератор: ykolesnikov

Ответить
petrovsky
OTRS Новобранец
Сообщения: 21
Зарегистрирован: 16 ноя 2010, 13:52

Обязательные поля "Тип", "Сервис", "Уровень обслуживания"

Сообщение petrovsky » 16 мар 2011, 16:30

Чтобы сделать поля "Тип", "Сервис", "Уровень обслуживания" в заявке обязательными для заполнения заказчиком, необходимо в файле
Kernel/Modules/CustomerTicketMessage.pm добавить строку

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

Class        => "Validate_RequiredDropdown ",
Было

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

# types
    ....................... Cut .......................
        $Param{TypeStrg} = $Self->{LayoutObject}->BuildSelection(
            Data         => \%Type,
            Name         => 'TypeID',
            SelectedID   => $Param{TypeID},
            PossibleNone => 1,
            Sort         => 'AlphanumericValue',
            Translation  => 0,
    );
    ....................... Cut .......................
С нашими изменениями

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

# types
     ....................... Cut .......................
        $Param{TypeStrg} = $Self->{LayoutObject}->BuildSelection(
            Data         => \%Type,
            Name         => 'TypeID',
            SelectedID   => $Param{TypeID},
            PossibleNone => 1,
            Sort         => 'AlphanumericValue',
            Translation  => 0,
            Class        => "Validate_RequiredDropdown ",
    );
     ....................... Cut .......................
Аналогично для #services. Для SLA ищем в том же #services блок

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

$Param{SLAStrg} = $Self->{LayoutObject}->BuildSelection(
и добавляем туда нашу строку.

ЗЫ Один момент: по идее поля, обязательные для заполнения, выделяются символом звездочки. В нашем случае при попытке завести заявку, оставив поля не заполнеными, они выделятся красным цветом.

оригинал http://forums.otrs.org/viewtopic.php?f=60&t=7070

sergey
OTRS Новобранец
Сообщения: 1
Зарегистрирован: 08 сен 2011, 18:22

Re: Обязательные поля "Тип", "Сервис", "Уровень обслуживания

Сообщение sergey » 09 сен 2011, 11:51

А звездочку нужно добавить в соответствующем .dtl файле. А если добавить

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

<div id="XXXError" class="TooltipErrorMessage" ><p>$Text{"This field is required."}</p></div>
<div id="XXXServerError" class="TooltipErrorMessage NoJavaScriptMessage$QData{"QueueInvalid"}" ><p>$Text{"This field is required."}</p></div>
где XXX - id соответствующего поля. Для типа - TypeID,
то кроме подсветки красным метки, еще и тултипы - это поле обязательно - появятся

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

Re: Обязательные поля "Тип", "Сервис", "Уровень обслуживания

Сообщение ykolesnikov » 27 дек 2011, 10:18

Добрый день!
1. Править нужно реально в оригинальном .pm файле или в его копии в какой-то кастомной папке? и где она тогда должна находиться?
2.А здесь случайно не ошибка? Вторая строка действительно нужна для добавления подсказки. Там, судя по тексту что-то про неверную очередь.
3. Можно привести пример вывода звёздочки для Сервиса в интерфейсе клиента?
Спасибо.
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

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

Re: Обязательные поля "Тип", "Сервис", "Уровень обслуживания

Сообщение ykolesnikov » 28 дек 2011, 14:34

ykolesnikov писал(а):Добрый день!
1. Править нужно реально в оригинальном .pm файле или в его копии в какой-то кастомной папке? и где она тогда должна находиться?
Остается в силе
ykolesnikov писал(а):2.А здесь случайно не ошибка? Вторая строка действительно нужна для добавления подсказки? Там, судя по тексту что-то про неверную очередь.
Конечно, нужно менять на свое в соответствии с тем, что правится
ykolesnikov писал(а):3. Можно привести пример вывода звёздочки для Сервиса в интерфейсе клиента?
Спасибо.
Ниже мой пример

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

                    <label for="ServiceID" class="Mandatory">
                        <span class="Marker">*</span>
                        $Text{"Service"}:
                    </label>
                    $Data{"ServiceStrg"}
                    <div id="ServiceIDError" class="TooltipErrorMessage" ><p>$Text{"This field is required."}</p></div>
                    <div id="ServiceIDServerError" class="TooltipErrorMessage NoJavaScriptMessage$QData{"ServiceInvalid"}" ><p>$Text{"This field is required."}</p></div>
                    <div class="Clear"></div>
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая

Ответить