
We are trying to enable a customer interface, but since we have many
customers, we only want customers from Client A to see tickets in Client
A's queues.
We have read Chapter 10 carefully, and modified Config.pm according to
the documentation, using a database backend. We searched the list
archives as well. All we changed from the defaults in the documentation
was we added two extra fields to the customer table.
When we go to
https://<otrswebserver>/otrs/index.pl?Action=AdminCustomerUserGroup
and click on the Customer User <-> Groups link, we get an error "Sorry!,
feature not activ!"
The create customer user web interface works fine, but without the
groups functionality, the customer user sees all of our clients' queues
in the To: field when composing a new ticket. That's no good for us!
Here is the relevant section of our Config.pm; what did we do wrong?
Thanks!
# ShowCustomerInfo*
# (show customer user info on Compose (Phone and Email), Zoom and
Queue view)
# Added by L. Mark Stone 29 April 2004. See Chapter 10 of the
documentation.
$Self->{ShowCustomerInfoCompose} = 1;
$Self->{ShowCustomerInfoZoom} = 1;
$Self->{ShowCustomerInfoQueue} = 0;
# This is the auth. module againt the otrs db
$Self->{'Customer::AuthModule'} =
'Kernel::System::CustomerAuth::DB';
# CustomerUser
# (customer user database backend and settings)
$Self->{CustomerUser} = {
Name => 'Database Source',
Module => 'Kernel::System::CustomerUser::DB',
Params => {
# if you want to use an external database, add the
# required settings
# DSN => 'DBI:odbc:yourdsn',
# DSN => 'DBI:mysql:database=customerdb;host=customerdbhost',
# User => '',
# Password => '',
Table => 'customer_user',
},
# customer uniq id
CustomerKey => 'login',
# customer #
CustomerID => 'customer_id',
CustomerValid => 'valid_id',
CustomerUserListFields => ['login', 'first_name', 'last_name',
'company', 'email'],
CustomerUserSearchFields => ['login', 'last_name',
'customer_id'],
CustomerUserPostMasterSearchFields => ['email'],
CustomerUserNameFields => ['salutation', 'first_name',
'last_name'],
Map => [
# note: Login, Email and CustomerID needed!
# var, frontend, storage, shown, required, storage-type,
http-link
[ 'UserSalutation', 'Salutation', 'salutation', 1, 0, 'var'
],
[ 'UserFirstname', 'Firstname', 'first_name', 1, 1, 'var' ],
[ 'UserLastname', 'Lastname', 'last_name', 1, 1, 'var' ],
[ 'UserLogin', 'Login', 'login', 1, 1, 'var' ],
[ 'UserPassword', 'Password', 'pw', 0, 1, 'var' ],
# [ 'UserEmail', 'Email', 'email', 0, 1, 'var' ],
[ 'UserPhone', 'Phone', 'phone', 1, 1, 'var' ],
[ 'UserCompany', 'Company', 'company', 1, 0, 'var' ],
[ 'UserEmail', 'Email', 'email', 1, 1, 'var',
'$Env{"CGIHandle"}?Action=\
AgentCompose&ResponseID=1&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}' ],
[ 'UserCustomerID', 'CustomerID', 'customer_id', 0, 1, 'var'
],
[ 'UserComment', 'Comment', 'comment', 1, 0, 'var' ],
[ 'ValidID', 'Valid', 'valid_id', 0, 1, 'int' ],
],
};
# CustomerGroupSupport (0 = compat. to OTRS 1.1 or lower)
# (if this is 1, then you need to set the group <-> customer user
# relations (ro/rw)!
http://host/otrs/index.pl?Action=AdminCustomerUserGroup
# otherway, each user is ro/rw in each group!)
$Self->{CustomerGroupSupport} = 1;
# CustomerGroupAlwaysGroups
# (if CustomerGroupSupport is true and you don't want to manage
# each customer user for this groups, then put the groups
# for all customer user in there)
# $Self->{CustomerGroupAlwaysGroups} = ['users', 'info'];
# --------------------------------------------------- #
# login and logout settings #
# --------------------------------------------------- #
# CustomerPanelLoginURL
# (If this is anything other than '', then it is assumed to be the
# URL of an alternate login screen which will be used in place of
# the default one.)
$Self->{CustomerPanelLoginURL} = '';
# $Self->{CustomerPanelLoginURL} =
'http://host.example.com/cgi-bin/login.pl';
# CustomerPanelLogoutURL
# (If this is anything other than '', it is assumed to be the URL
# of an alternate logout page which users will be sent to when they
# logout.)
$Self->{CustomerPanelLogoutURL} = '';
# $Self->{CustomerPanelLogoutURL} =
'http://host.example.com/cgi-bin/login.pl';
# CustomerPanelLostPassword
# (use lost passowrd feature)
$Self->{CustomerPanelLostPassword} = 1;
# CustomerPanelCreateAccount
# (use create cutomer account self feature)
$Self->{CustomerPanelCreateAccount} = 1;
# CustomerPriority
# (If the customer can set the ticket priority)
$Self->{CustomerPriority} = 1;
# CustomerDefaultPriority
# (default priority of new customer tickets)
$Self->{CustomerDefaultPriority} = '3 normal';
# CustomerNextScreenAfterNewTicket
# $Self->{CustomerNextScreenAfterNewTicket} = 'CustomerZoom';
$Self->{CustomerNextScreenAfterNewTicket} =
'CustomerTicketOverView';
# CustomerPanelSelectionType
# (To: seection type. Queue => show all queues, SystemAddress =>
show all system
# addresses;) [Queue|SystemAddress]
$Self->{CustomerPanelSelectionType} = 'Queue';
# $Self->{CustomerPanelSelectionType} = 'SystemAddress';
# CustomerPanelSelectionString
# (String for To: selection.)
# use this for CustomerPanelSelectionType = Queue
# $Self->{CustomerPanelSelectionString} = 'Queue: <Queue> -
<QueueComment>';
$Self->{CustomerPanelSelectionString} = '<Queue>';
# use this for CustomerPanelSelectionType = SystemAddress
# $Self->{CustomerPanelSelectionString} = '<Realname> <<Email>> -
Queue: <Queue> - <QueueComment>';
# CustomerPanelOwnSelection
# (If this is in use, "just this selection is valid" for the
CustomMessage.)
# $Self->{CustomerPanelOwnSelection} = {
# # QueueID => String
# '1' => 'First Queue!',
# '2' => 'Second Queue!',
# };
# --------------------------------------------------- #
# notification email about new password #
# --------------------------------------------------- #
$Self->{CustomerPanelSubjectLostPassword} = 'New OTRS Password!';
$Self->{CustomerPanelBodyLostPassword} = "
Hi