Добавить поля в карточку пользователя клиента
Модератор: ykolesnikov
Добавить поля в карточку пользователя клиента
версия OTRS: 4.0.13
Хочется добавить несколько дополнительных полей в карточки пользователей клиента.
Как это можно сделать?
Спасибо.
Хочется добавить несколько дополнительных полей в карточки пользователей клиента.
Как это можно сделать?
Спасибо.
OTRS 5.0.11, CentOS 7
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Добавить поля в карточку пользователя клиента
В мануале об этом прямо написано, осталось небольшое усилие, найти
С уважением Юрий Колесников
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: Добавить поля в карточку пользователя клиента
Юрий, я честно старался это найти, но нашел информацию только о динамических полях для заявок и заметок.ykolesnikov писал(а):В мануале об этом прямо написано, осталось небольшое усилие, найти
Буду благодарен за помощь.
OTRS 5.0.11, CentOS 7
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Добавить поля в карточку пользователя клиента
Внимательно почитайте этот раздел.
http://otrs.github.io/doc/manual/admin/ ... tomer-data
http://otrs.github.io/doc/manual/admin/ ... tomer-data
С уважением Юрий Колесников
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: Добавить поля в карточку пользователя клиента
Я добавил столбец к базе данных в нужную таблицу.
Но далее я не понимаю вот этот момент:
Я вижу массив в Kernel/Config/Default.pm, но как я понял, он будет затираться все время.
в файл Kernel/Config.pm данного раздела нет и при попытке скопировать его из Default.pm я получаю InternalServerError при обновлении страницы в OTRS.
Как правильно добавлять дополнительные строки в Kernel/Config.pm?
Но далее я не понимаю вот этот момент:
Код: Выделить всё
Теперь добавьте новый столбец в MAP-масив в Kernel/Config.pm, как это показано в нижеприведенном сценарии.
# var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
[...]
[ 'UserRoom', 'Room', 'room', 0, 1, 'var', '', 0 ],
Сценарий: Добавление поля "комната" в файл Kernel/Config.pm file.
Всю эту информацию о клиенте можно также отредактировать воспользовавшись ссылкой Клиенты в интерфейсе агента.
в файл Kernel/Config.pm данного раздела нет и при попытке скопировать его из Default.pm я получаю InternalServerError при обновлении страницы в OTRS.
Как правильно добавлять дополнительные строки в Kernel/Config.pm?
OTRS 5.0.11, CentOS 7
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Добавить поля в карточку пользователя клиента
Добавить в Config.pm надо раздел Мар для клиента целиком из Defaults.pm с добавленной строкой.
P.S. Добавьте себе в профиле подпись, например как у меня, для разных версий OTRS и ОС могут быть иногда отличия.
P.S. Добавьте себе в профиле подпись, например как у меня, для разных версий OTRS и ОС могут быть иногда отличия.
С уважением Юрий Колесников
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: Добавить поля в карточку пользователя клиента
Я добавил поле "auth_method"
Вот содержимое моего Config.pm
Все попытки вставить что-либо в этот файл приводят к Internal Server Error.
Вставлять я пытался блок MAP целиком.
Код: Выделить всё
MariaDB [otrs]> describe customer_user;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| login | varchar(200) | NO | UNI | NULL | |
| email | varchar(150) | NO | | NULL | |
| customer_id | varchar(150) | NO | | NULL | |
| pw | varchar(64) | YES | | NULL | |
| title | varchar(50) | YES | | NULL | |
| first_name | varchar(100) | NO | | NULL | |
| last_name | varchar(100) | NO | | NULL | |
| phone | varchar(150) | YES | | NULL | |
| fax | varchar(150) | YES | | NULL | |
| mobile | varchar(150) | YES | | NULL | |
| street | varchar(150) | YES | | NULL | |
| zip | varchar(200) | YES | | NULL | |
| city | varchar(200) | YES | | NULL | |
| country | varchar(200) | YES | | NULL | |
| comments | varchar(250) | YES | | NULL | |
| valid_id | smallint(6) | NO | MUL | NULL | |
| create_time | datetime | NO | | NULL | |
| create_by | int(11) | NO | MUL | NULL | |
| change_time | datetime | NO | | NULL | |
| change_by | int(11) | NO | MUL | NULL | |
| auth_method | varchar(250) | YES | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
22 rows in set (0.01 sec)
Код: Выделить всё
#
# -->> Most OTRS configuration should be done via the OTRS web interface
# and the SysConfig. Only for some configuration, such as database
# credentials and customer data source changes, you should edit this
# file. For changes do customer data sources you can copy the definitions
# from Kernel/Config/Defaults.pm and paste them in this file.
# Config.pm will not be overwritten when updating OTRS.
# --
package Kernel::Config;
use strict;
use warnings;
use utf8;
sub Load {
my $Self = shift;
# ---------------------------------------------------- #
# database settings #
# ---------------------------------------------------- #
# The database host
$Self->{'DatabaseHost'} = '127.0.0.1';
# The database name
$Self->{'Database'} = "otrs";
# The database user
$Self->{'DatabaseUser'} = "otrs";
# The password of database user. You also can use bin/otrs.Console.pl Maint::Database::PasswordCrypt
# for crypted passwords
$Self->{'DatabasePw'} = 'R4e3w2q1';
# The database DSN for MySQL ==> more: "perldoc DBD::mysql"
$Self->{'DatabaseDSN'} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost}";
# The database DSN for PostgreSQL ==> more: "perldoc DBD::Pg"
# if you want to use a local socket connection
# $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};";
# if you want to use a TCP/IP connection
# $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};host=$Self->{DatabaseHost};";
# The database DSN for Microsoft SQL Server - only supported if OTRS is
# installed on Windows as well
# $Self->{DatabaseDSN} = "DBI:ODBC:driver={SQL Server};Database=$Self->{Database};Server=$Self->{DatabaseHost},1433";
# The database DSN for Oracle ==> more: "perldoc DBD::oracle"
# $Self->{DatabaseDSN} = "DBI:Oracle://$Self->{DatabaseHost}:1521/$Self->{Database}";
#
# $ENV{ORACLE_HOME} = '/path/to/your/oracle';
# $ENV{NLS_DATE_FORMAT} = 'YYYY-MM-DD HH24:MI:SS';
# $ENV{NLS_LANG} = 'AMERICAN_AMERICA.AL32UTF8';
# ---------------------------------------------------- #
# fs root directory
# ---------------------------------------------------- #
$Self->{Home} = '/opt/otrs';
# ---------------------------------------------------- #
# insert your own config settings "here" #
# config settings taken from Kernel/Config/Defaults.pm #
# ---------------------------------------------------- #
# $Self->{SessionUseCookie} = 0;
# $Self->{CheckMXRecord} = 0;
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# data inserted by installer #
# ---------------------------------------------------- #
# $DIBI$
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# #
# end of your own config options!!! #
# #
# ---------------------------------------------------- #
# ---------------------------------------------------- #
}
# ---------------------------------------------------- #
# needed system stuff (don't edit this) #
# ---------------------------------------------------- #
use base qw(Kernel::Config::Defaults);
# -----------------------------------------------------#
1;
Вставлять я пытался блок MAP целиком.
Код: Выделить всё
Map => [
# note: Login, Email and CustomerID needed!
# var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target, link class(es)
[ 'UserTitle', Translatable('Title or salutation'), 'title', 1, 0, 'var', '', 0 ],
[ 'UserFirstname', Translatable('Firstname'), 'first_name', 1, 1, 'var', '', 0 ],
[ 'UserLastname', Translatable('Lastname'), 'last_name', 1, 1, 'var', '', 0 ],
[ 'UserLogin', Translatable('Username'), 'login', 1, 1, 'var', '', 0 ],
[ 'UserPassword', Translatable('Password'), 'pw', 0, 0, 'var', '', 0 ],
[ 'UserEmail', Translatable('Email'), 'email', 1, 1, 'var', '', 0 ],
[ 'UserCustomerID', Translatable('CustomerID'), 'customer_id', 0, 1, 'var', '', 0 ],
[ 'UserPhone', Translatable('Phone'), 'phone', 1, 0, 'var', '', 0 ],
[ 'UserFax', Translatable('Fax'), 'fax', 1, 0, 'var', '', 0 ],
[ 'UserMobile', Translatable('Mobile'), 'mobile', 1, 0, 'var', '', 0 ],
[ 'UserStreet', Translatable('Street'), 'street', 1, 0, 'var', '', 0 ],
[ 'UserZip', Translatable('Zip'), 'zip', 1, 0, 'var', '', 0 ],
[ 'UserCity', Translatable('City'), 'city', 1, 0, 'var', '', 0 ],
[ 'UserCountry', Translatable('Country'), 'country', 1, 0, 'var', '', 0 ],
[ 'UserComment', Translatable('Comment'), 'comments', 1, 0, 'var', '', 0 ],
[ 'ValidID', Translatable('Valid'), 'valid_id', 0, 1, 'int', '', 0 ],
[ 'auth_method', Translatable('auth_method'), 'auth_method', 1, 0, 'var', '', 0 ],
],
OTRS 5.0.11, CentOS 7
Re: Добавить поля в карточку пользователя клиента
Как он узнает, что надо этот раздел брать именно из Config.pm, а не из Defaults.pm?
OTRS 5.0.11, CentOS 7
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Добавить поля в карточку пользователя клиента
Потому, что если Вы потрудитесь почитать мануал, то узнаете много нового, в том числе и порядок применения конфигурационных файлов в OTRS.
С уважением Юрий Колесников
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: Добавить поля в карточку пользователя клиента
Действительно.ykolesnikov писал(а):Потому, что если Вы потрудитесь почитать мануал, то узнаете много нового, в том числе и порядок применения конфигурационных файлов в OTRS.
Итак, на текущий момент я получаю Internal Server Error и в логе я вижу следующую ошибку.
[Tue Aug 02 15:36:22.269739 2016] [:error] [pid 2647] Undefined subroutine &Kernel::Config::Translatable called at /opt/otrs//Kernel/Config.pm line 76.\n
Строка 76 - это начало "Map"
Причем, если блок Map брать без изменения и просто скопировать, то ошибка точно такая же.
OTRS 5.0.11, CentOS 7
Re: Добавить поля в карточку пользователя клиента
Я убрал "translatable" из всех полей и ошибка ушла.
Но, поле в карточке пользователя так и не появилось.
Но, поле в карточке пользователя так и не появилось.
OTRS 5.0.11, CentOS 7
Re: Добавить поля в карточку пользователя клиента
Разобрался. Надо было в Config.pm весь блок копировать со строки: "$Self->{CustomerUser} = {"
OTRS 5.0.11, CentOS 7
Re: Добавить поля в карточку пользователя клиента
Юрий, спасибо.
Вы мне очень помогли!
Вы мне очень помогли!
OTRS 5.0.11, CentOS 7
Re: Добавить поля в карточку пользователя клиента
Остался вопрос с "Translatable"
Вероятно, надо скопировать еще какой-то блок.
Вероятно, надо скопировать еще какой-то блок.
OTRS 5.0.11, CentOS 7