Необязательное обязательное...

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

Модератор: ykolesnikov

Ответить
mukexa
OTRS Новобранец
Сообщения: 148
Зарегистрирован: 30 апр 2013, 19:08
Откуда: Украина, Киев.
Поблагодарили: 1 раз

Необязательное обязательное...

Сообщение mukexa » 20 июн 2013, 16:28

Приветствую!
Опять таки, вдохновившись одним из постов взялся решать свои задачи.
1 Убрать "обязательность" с поля Email клиентов. У наших клиентов порой интернета нету, потому об адресе электронной почты даже говорить не стоит.
2 В компаниях наоборот, нужно добавить.
Итак с задачами разобрались. Приступим к реализации...
1. Убираем email required field клиентов
- правим MAP-массив.
Было:

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

[ 'UserEmail',      'Email',      'email',      1, 1, 'var', '', 0 ],
Стало:

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

[ 'UserEmail',      'Email',      'email',      1, 0, 'var', '', 0 ],
- правим AdminCustomerUser.pm
Было:

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

        # show required flag
        if ( $Entry->[4] ) {
           $Param{RequiredClass}          = 'Validate_Required';
          $Param{RequiredLabelClass}     = 'Mandatory';
            $Param{RequiredLabelCharacter} = '*';
        }
        else {
            $Param{RequiredClass}          = '';
            $Param{RequiredLabelClass}     = '';
            $Param{RequiredLabelCharacter} = '';
        }
Стало:

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

        # show required flag
        #if ( $Entry->[4] ) {
        #   $Param{RequiredClass}          = 'Validate_Required';
         # $Param{RequiredLabelClass}     = 'Mandatory';
         #   $Param{RequiredLabelCharacter} = '*';
        #}
        #else {
            $Param{RequiredClass}          = '';
            $Param{RequiredLabelClass}     = '';
            $Param{RequiredLabelCharacter} = '';
        #}
2. Добавить поле Email аналогично "номеру комнаты" из документации. Потому объяснять думаю лишнее. Напомню лишь, что не стоит забывать об "required" в МАР-массиве

Очищаем кеш, если переносились файлы в Custom, то перезагружаем службу "Apache".
Удачи!
OTRS 5s, Ubuntu 12.04

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

Re: Необязательное обязательное...

Сообщение alexus » 28 июн 2013, 20:08

А зачем так сложно?
достаточно просто в Config.pm сделать так, как вы написали.
mukexa писал(а):Было:
КОД: ВЫДЕЛИТЬ ВСЕ
[ 'UserEmail',      'Email',      'email',      1, 1, 'var', '', 0 ],

Стало:
КОД: ВЫДЕЛИТЬ ВСЕ
[ 'UserEmail',      'Email',      'email',      1, 0, 'var', '', 0 ],
С уважением,
Алексей Юсов

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? Спросите меня как!

mukexa
OTRS Новобранец
Сообщения: 148
Зарегистрирован: 30 апр 2013, 19:08
Откуда: Украина, Киев.
Поблагодарили: 1 раз

Re: Необязательное обязательное...

Сообщение mukexa » 28 июн 2013, 21:09

Шел от сложно к простому, наверное...
Пробовал этот вариант, но почему то не получалось(кеш, кривые руки). А вот сейчас именно так как Вы описали получается, а как хотелось возразить. Приношу свои извинения, кому пришлось править лишний код! Посути то что я предложил:
Стало:

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

        # show required flag
        #if ( $Entry->[4] ) {
        #   $Param{RequiredClass}          = 'Validate_Required';
         # $Param{RequiredLabelClass}     = 'Mandatory';
         #   $Param{RequiredLabelCharacter} = '*';
        #}
        #else {
            $Param{RequiredClass}          = '';
            $Param{RequiredLabelClass}     = '';
            $Param{RequiredLabelCharacter} = '';
        #}
отменяет вообще все обязательные поля.
Практика конечно круто, но стыдно что сразу разместил в "Howtos"... :oops:

З.Ы. И тут ошибся. Поле останется обязательным и после комментирования выше указанных строк. Только не будет "*" и красивого сообщения об обязательности(определяется в .dtl), а будет стандартное "Это поле обязательно". При том как уже говорил не будет на всех обязательных полях страницы.
OTRS 5s, Ubuntu 12.04

Siyet
OTRS Новобранец
Сообщения: 62
Зарегистрирован: 26 июн 2013, 16:56

Re: Необязательное обязательное...

Сообщение Siyet » 11 июл 2013, 14:49

Есть один косяк, и никак не могу с ним разобраться:
В создании новой телефонной заявки агентом, если ты выбираешь клиента с отсутствующим email через автодополнение, то он хотябы отображает имя, фамилию. Если же для поиска клиента использовать всплывающее окно управления клиентами, то происходит ошибка (если email null) или просто клиент не прикрепляеться, при этом его сведения справа отображаются.
OTRS 3.2.8, Ubuntu 12.04, Apache, PostgreSQL

Siyet
OTRS Новобранец
Сообщения: 62
Зарегистрирован: 26 июн 2013, 16:56

Re: Необязательное обязательное...

Сообщение Siyet » 15 июл 2013, 10:47

И клиента без Email всеравно не создает(((
OTRS 3.2.8, Ubuntu 12.04, Apache, PostgreSQL

mukexa
OTRS Новобранец
Сообщения: 148
Зарегистрирован: 30 апр 2013, 19:08
Откуда: Украина, Киев.
Поблагодарили: 1 раз

Re: Необязательное обязательное...

Сообщение mukexa » 30 июл 2013, 21:38

Клиента вроде как создаёт. Возможно проблемы потому что база PostgreSQL. У Вас вроде были с этим(null) проблемы(или я что-то напутал, не судите строго).
По поводу:
Если же для поиска клиента использовать всплывающее окно управления клиентами, то происходит ошибка (если email null) или просто клиент не прикрепляеться, при этом его сведения справа отображаются.
в файле AgentTicketPhone.dtl есть строка:

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

    Core.Agent.CustomerSearch.AddTicketCustomer( 'FromCustomer', "$QData{"Email"}", "$QData{"Customer"}", true );
если заменить хотя бы на:

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

    Core.Agent.CustomerSearch.AddTicketCustomer( 'FromCustomer', "$QData{"Customer"}", "$QData{"Customer"}", true );
то нормально прикрепляет. Только если добавлять через "автопоиск" то используется "Заголовок" клиента, если через окно, то "Логин".
Искал откуда оно берёт $QData{"Customer"} так и не нашел, думал заменить на что-то другое.

Можно эту тему как-то убрать из ветки "Howtos"?
OTRS 5s, Ubuntu 12.04

skyf
OTRS Новобранец
Сообщения: 10
Зарегистрирован: 31 июл 2013, 11:16

Re: Необязательное обязательное...

Сообщение skyf » 31 июл 2013, 11:24

А такой номер не проходит?
Да, надо указывать почту noemail @ noemail . noemail
alexus » 25 мар 2013, 12:24 ---> viewtopic.php?f=2&t=873#p8674
OTRS 3.2.9
Win Server 2003 R2

mukexa
OTRS Новобранец
Сообщения: 148
Зарегистрирован: 30 апр 2013, 19:08
Откуда: Украина, Киев.
Поблагодарили: 1 раз

Re: Необязательное обязательное...

Сообщение mukexa » 31 июл 2013, 14:31

А почему бы и нет. Лишь отключить проверку MX и дублей.
Если отключить дубли, то можно допилять чтобы брался е-майл компании. Тут рассматривался вариант отказаться от них вообще, но видать "шкурка вычинки не стоит".
OTRS 5s, Ubuntu 12.04

Siyet
OTRS Новобранец
Сообщения: 62
Зарегистрирован: 26 июн 2013, 16:56

Re: Необязательное обязательное...

Сообщение Siyet » 31 июл 2013, 16:15

Собственно, соседняя темаviewtopic.php?f=4&t=1890t=1890
OTRS 3.2.8, Ubuntu 12.04, Apache, PostgreSQL

Ответить