ich habe mein Backend so eingerichtet dass ich einerseits Kundenbenutzer anlege und den jeweiligen Firmen zuordne via CustomerUserID.
Nun haben wir aber auch Partner die später Tickets von versch. Firmen einsehen können sollen.
Dafür habe ich das Feld CustomerUserIDs freigeschalten.
Leider aktualisiert mir das OTRS nicht die Kundenangaben in der TicketKundeninfo nicht. Auch die Auswahlmöglichkeit kann ich nicht für die CutomerUserIDs nutzen.
Hier mal die Usertabelle meiner DB (com_customers):
und hier die Firmentabelle meiner DB (com_companies):
Und hier der UserTeil aus meiner Config.pm:
Code: Select all
# ------------------------------------------------------------------------------------------------------------ #
# ----------------------------------- eigenes AccountBackend anbinden ---------------------------------------- #
# ------------------------------------------------------------------------------------------------------------ #
# CustomerUser (Accountdatenbank & Einstellungen)
$Self->{CustomerUser1} = {
Name => 'Accountdaten',
Module => 'Kernel::System::CustomerUser::DB',
Params => {
# MySQL Tabelle
Table => 'com_customers',
# Wenn hier auf 1 gestellt wird, wird die Performance auf großen DBs schlechter.
CaseSensitive => 0,
},
# Eindeutige Kunden-Identifizierer
CustomerKey => 'cust_login',
# Einstellungen #
CustomerID => 'cust_nr',
CustomerValid => 'valid_id',
CustomerUserListFields => ['cust_first_name', 'cust_last_name', 'cust_email'],
CustomerUserSearchFields => ['cust_login', 'cust_last_name', 'cust_nr'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['cust_email'],
CustomerUserNameFields => ['cust_title','cust_first_name','cust_last_name'],
CustomerUserEmailUniqCheck => 1,
# Einschalten der CompanySupport Funktion
CustomerCompanySupport => 1,
# show not own tickets in customer panel, CompanyTickets
# CustomerUserExcludePrimaryCustomerID => 0,
# Automatische Logins erzeugen
# AutoLoginCreation => 0,
# AutoLoginCreationPrefix => 'auto',
# Admin kann Benutzereinstellungen ändern
# AdminSetPreferences => 1,
# cache time to live in sec. - cache any database queries
# CacheTTL => 0,
# Definiert die Quelle als Readonly (Können also keine neuen User angelegt werden)
# ReadOnly => 1,
# ------------------------------------------------- Feldmapping ------------------------------------------------- #
Map => [
# Info: Login, Email & ID sind zwingend benötigt!
# Parameter shown (1=always, 2=lite)
# var, frontend, storage, shown, required, storage-type, http-link, readonly, http-link-target
[ 'UserTitle', 'Title', 'cust_title', 1, 0, 'var', '', 0 ],
[ 'UserFirstname', 'Firstname', 'cust_first_name', 1, 1, 'var', '', 0 ],
[ 'UserLastname', 'Lastname', 'cust_last_name', 1, 1, 'var', '', 0 ],
[ 'UserLogin', 'Username', 'cust_login', 1, 1, 'var', '', 0 ],
[ 'UserPassword', 'Password', 'cust_pw', 0, 0, 'var', '', 0 ],
[ 'UserEmail', 'Email', 'cust_email', 1, 1, 'var', '$Env{"CGIHandle"}?Action=AgentTicketCompose&ResponseID=1&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}', 0 ],
[ 'UserCustomerID', 'CustomerID', 'cust_nr', 0, 1, 'var', '', 0 ],
[ 'UserCustomerIDs', 'CustomerIDs', 'cust_ids', 1, 0, 'var', '', 0 ],
[ 'UserType', 'Type', 'cust_type', 1, 1, 'var', '', 0 ],
[ 'UserFunction', 'Function', 'cust_function', 2, 0, 'var', '', 0 ],
[ 'UserBranch', 'Branch', 'cust_branch', 1, 0, 'var', '', 0 ],
[ 'UserPhone', 'Phone', 'cust_phone', 1, 0, 'var', '', 0 ],
[ 'UserFax', 'Fax', 'cust_fax', 1, 0, 'var', '', 0 ],
[ 'UserMobile', 'Mobile', 'cust_mobile', 1, 0, 'var', '', 0 ],
[ 'UserStreet', 'Street', 'cust_street', 2, 0, 'var', '', 0 ],
[ 'UserZip', 'Zip', 'cust_zip', 2, 0, 'var', '', 0 ],
[ 'UserCity', 'City', 'cust_city', 2, 0, 'var', '', 0 ],
[ 'UserCountry', 'Country', 'cust_country', 2, 0, 'var', '', 0 ],
[ 'UserComment', 'Comment', 'cust_comments', 1, 0, 'var', '', 0 ],
[ 'ValidID', 'Valid', 'valid_id', 1, 1, 'int', '', 0 ]
],
# --------------------------------------- Standard Auswahl --------------------------------------------- #
Selections => {
UserTitle => {
'Herr' => 'Herr',
'Frau' => 'Frau',
'Dr.' => 'Dr.',
'Prof.' => 'Prof.'
},
UserCountry => {
'DE' => 'Deutschland',
'CH' => 'Schweiz',
'AT' => 'Österreich',
'PL' => 'Polen',
'ES' => 'Spanien',
'IT' => 'Italien',
'FR' => 'Frankreich'
},
UserType => {
'K' => '1 Kunde',
'P' => '2 Partner',
'I' => '3 Intern'
},
UserFunction => {
'Support-Mitarbeiter' => '1 Support-Mitarbeiter',
'IT-Mitarbeiter' => '2 IT-Mitarbeiter',
'IT-Leiter' => '3 IT-Leiter',
'Entwickler' => '4 Entwickler',
'Geschäftsführer' => '5 Geschäftsführer',
'extern' => '6 extern',
'sonstige' => '7 sonstige'
},
UserBranch => {
'' => '',
'Buchs SG' => 'Buchs SG'
},
},
};
# ---------------------------------------- Ende Accountdaten Backend ----------------------------------------- #
Und nun noch der FirmenTeil aus der Config.pm:
Code: Select all
# ------------------------------------------------------------------------------------------------------------ #
# -------------------------------------- eigenes FirmenBackend anbinden -------------------------------------- #
# ------------------------------------------------------------------------------------------------------------ #
# CustomerCompany (Firmendatenbank & Einstellungen)
$Self->{CustomerCompany} = {
Name => 'Firmendaten',
#Module => 'Kernel::System::CustomerCompany::DB',
Params => {
# MySQL Tabelle
Table => 'com_companies',
# Wenn hier auf 1 gestellt wird, wird die Performance auf großen DBs schlechter.
CaseSensitive => 0,
},
# Eindeutiger Firmen-Identifizierer
CustomerCompanyKey => 'comp_nr',
# Einstellungen #
CustomerCompanyValid => 'valid_id',
CustomerCompanyListFields => ['comp_name', 'comp_nr', 'valid_id'],
CustomerCompanySearchFields => ['comp_name', 'comp_nr', 'comp_url'],
CustomerCompanySearchPrefix => '',
CustomerCompanySearchSuffix => '*',
CustomerCompanySearchListLimit => 250,
CacheTTL => 0,
# ------------------------------------------------- Feldmapping ------------------------------------------------- #
Map => [
# Parameter shown (1=always, 2=lite)
# var, frontend, storage, shown, required, storage-type, http-link, readonly, http-link-target
[ 'CustomerID', 'CustomerID', 'comp_nr', 1, 1, 'var', '', 0 ],
[ 'CustomerCompanyName', 'Name', 'comp_name', 1, 1, 'var', '', 0 ],
[ 'CustomerCompanyType', 'Type', 'comp_type', 1, 1, 'var', '', 0 ],
[ 'CustomerCompanyAddSuff1', 'AddSuff1', 'comp_addresssuffix1', 2, 0, 'var', '', 0 ],
[ 'CustomerCompanyAddSuff2', 'AddSuff2', 'comp_addresssuffix2', 2, 0, 'var', '', 0 ],
[ 'CustomerCompanyStreet', 'Street', 'comp_street', 2, 1, 'var', '', 0 ],
[ 'CustomerCompanyZip', 'Zip', 'comp_zip', 2, 1, 'var', '', 0 ],
[ 'CustomerCompanyCity', 'City', 'comp_city', 2, 1, 'var', '', 0 ],
[ 'CustomerCompanyCountry', 'Country', 'comp_country', 2, 1, 'var', '', 0 ],
[ 'CustomerCompanyPostBox', 'PostBox', 'comp_postbox', 2, 0, 'var', '', 0 ],
[ 'CustomerCompanyPhone', 'Phone', 'comp_tel', 1, 1, 'var', '', 0 ],
[ 'CustomerCompanyFax', 'Fax', 'comp_fax', 2, 0, 'var', '', 0 ],
[ 'CustomerCompanyMail', 'EMail', 'comp_email', 1, 1, 'var', '', 0 ],
[ 'CustomerCompanyURL', 'URL', 'comp_url', 2, 0, 'var', '', 0 ],
[ 'CustomerCompanyReferenz', 'Referenz', 'comp_referenz', 2, 1, 'var', '', 0 ],
[ 'CustomerCompanyComment', 'Comment', 'comp_comments', 2, 0, 'var', '', 0 ],
[ 'ValidID', 'Valid', 'valid_id', 1, 1, 'int', '', 0 ]
],
# --------------------------------------- Standard Auswahl --------------------------------------------- #
Selections => {
CustomerCompanyType => {
'K' => 'Kunde (Endkunde)',
'P' => 'Partner',
'I' => 'Intern'
},
CustomerCompanyCountry => {
'DE' => 'Deutschland',
'CH' => 'Schweiz',
'AT' => 'Österreich',
'PL' => 'Polen',
'ES' => 'Spanien',
'IT' => 'Italien',
'FR' => 'Frankreich'
},
CustomerCompanyReferenz => {
'2' => 'Nein',
'1' => 'Ja'
},
},
};
# ---------------------------------------- Ende Firmendaten Backend ----------------------------------------- #
Nebenbei tät mich auch die Definition der folgenden Attribute interessieren:
Code: Select all
CustomerUserListFields => ['cust_first_name', 'cust_last_name', 'cust_email'],
CustomerUserSearchFields => ['cust_login', 'cust_last_name', 'cust_nr'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['cust_email'],
CustomerUserNameFields => ['cust_title','cust_first_name','cust_last_name'],
Außerdem kann ich bei der Zuweisung eines Kunden innerhalb eines Tickets nicht nach der Nummer suchen und es wird keine Vervollständigung angezeigt.
Das wäre auch schön.
Könnt Ihr mir bitte helfen? Ich möchte mit dem System diese Woche live gehen.
Danke Nexter