Hallo,
ich hatte das gleiche gesucht wie ihr und auch nur die paar Hinweise in der Hilfe gefunden.
Hab etwas probiert und habs ans laufen gebracht.
Hab das ganze in meinem
Blog dokumentiert, ist aber auf englisch deshalb nochmal Kurzfassung:
1. in der Config.pm das Attribut zum LDAP Mapping hinzufügen, das LDAP-Attribut ist hier departmentNumber.
Codeausschnitt:
Code: Select all
$Self->{CustomerUser1} = {
...
Map => [
# var, frontend, storage, shown, required, storage-type
...
[ 'UserCostCenter', 'CostCenter', 'departmentNumber', 0, 0, 'var' ],
],
2. Dynamische Feld für Ticket vom Typ Text anlegen, mein Feld heißt CostCenter
3. Einstellen wo das Dynamische Feld angezeigt werden soll, hier Freie Felder, Agenten und Kunden Ticket Zoom:
Code: Select all
$Self->{'Ticket::Frontend::AgentTicketFreeText'}->{'DynamicField'} = {
'CostCenter' => '1',
};
$Self->{'Ticket::Frontend::AgentTicketZoom'}->{'DynamicField'} = {
'CostCenter' => '1',
};
$Self->{'Ticket::Frontend::CustomerTicketZoom'}->{'DynamicField'} = {
'CostCenter' => '1',
};
Wenn ihr schon eine Einstellung für die Anzeige der Dynamischen Felder habt müsst ihr diese Editieren und nicht einfach meinen Code zusätzlich einfügen. Ansonsten zieht nur die Einstellung die in der Config.pm als letztes kommt.
4. Modul zum speichern der Daten aktivieren:
Code: Select all
$Self->{'Ticket::EventModulePost'}->{'930-DynamicFieldFromCustomerUser'} = {
'Event' => '(TicketCreate|TicketCustomerUpdate)',
'Module' => 'Kernel::System::Ticket::Event::DynamicFieldFromCustomerUser'
};
5. Mapping der Kundendaten ins Dynamische Feld, hier wird der var Wert des LDAP Mappings mit dem Namen des Dynamisen Felds verknüpft:
Code: Select all
$Self->{'DynamicFieldFromCustomerUser::Mapping'} = {
'UserCostCenter' => 'CostCenter'
};
Das wars schon...
Zum testen reicht es einen Kunden zu ändern oder halt ein neues Ticket anlegen.
Hoffe das Hilft euch weiter...
Stephan