
Hallo Zusammen Wir würden gerne unsere bestehnde User Datenbank an OTRS anbinden. Ich hab die Dokumentation auf der Page angeschaut und ein bisschen in den Archiven rumgeschnüffelt. Voarb eines, es wär wirklich Hilfreich, wenn man in der Dokumentation ein kleines Beispiel zeigen könnte. Naja.. auf jedenfall häng ich folgendermassen fest. Die CustomUser defintion hab ich mal versucht so gut wie möglich auszufüllen (1). Ich verwende die gleichen MySQL-Zugangsdaten, greiffe aber auf eine andere Tabelle zu (psa.clients (2)). Die nötigen Änderungen an den Spaltennamen im Config.pm hab ich gemacht. Apache frisch gestartet, soweit mal okay. Wenn ich jetzt auf die CustomerUser Seite gehe (wo man die CustomerUser erfasssen/editiern kann) liefert er mir eine leere Liste. Im error_log find ich dann folgende Fehlermeldung: | [Fri Jan 2 22:07:19 2004] null: DBD::mysql::st execute failed: Unknown column 'customer_id' in 'field list' at /opt/otrs/bin/cgi-bin/../../Kernel/System/DB.pm line 226. | ERROR: OTRS-CGI-10 Perl: 5.6.1 OS: linux Time: Fri Jan 2 22:07:19 2004 | | Message: Unknown column 'customer_id' in 'field list', SQL: 'SELECT id, login, customer_id FROM clients ' | | Traceback (28830): | Module: Kernel::System::DB::GetTableData (v1.26.2.1) Line: 283 | Module: Kernel::System::CustomerUser::DB::CustomerUserList (v1.14.2.2) Line: 202 | Module: Kernel::System::CustomerUser::CustomerUserList (v1.15) Line: 62 | Module: Kernel::Modules::AdminCustomerUser::Run (v1.7 ) Line: 174 | Module: Apache::ROOTsupport_2espeedpc_2ech::otrs::index_2epl::handler (v1.58) Line: 608 | Module: (eval) (v2.01) Line: 149 | Module: Apache::Registry::handler (v2.01) Line: 149 | | [Fri Jan 2 22:07:19 2004] null: DBD::mysql::st fetchrow_array failed: fetch() without execute() at /opt/otrs/bin/cgi-bin/../../Kernel/System/DB.pm line 248. Hobala?? customer_id ... wie kommt der jetzt auf das? Ein rascher Blick ins /opt/otrs/Kernel/System/CustomerUser/DB.pm zeigt dann auch: | 199 # -- | 200 # get data | 201 # -- | 202 my %Users = $Self->{DBObject}->GetTableData( | 203 What => "$Self->{CustomerKey}, login, customer_id ", | 204 Table => $Self->{CustomerTable}, | 205 Clamp => 1, | 206 Valid => $Valid, | 207 ); Hmmm... hier ist 'login' und 'customer_id' hardcoded. Ja, meine Frage is nun.. was mach ich falsch? Muss ich irgendwo noch ein Flag setzen? Oder sogar eine Spalte zur clients Tabelle hinzfügen? Schon mal vielen Dank. Gruss Reto Schüttel (1) | $Self->{CustomerUser} = { | Module => 'Kernel::System::CustomerUser::DB', | Params => { | DSN => 'DBI:mysql:database=psa;host=localhost', | User => $Self->{DatabaseUser}, | Password => $Self->{DatabasePw}, | Table => 'clients', | }, | # customer uniq id | CustomerKey => 'id', | # customer # | CustomerID => 'login', | CustomerUserListFields => ['login', 'cname', 'pname', 'email'], | CustomerUserSearchFields => ['login', 'name', 'login'], | CustomerUserPostMasterSearchFields => ['email'], | CustomerUserNameFields => ['pname'], | ReadOnly => 1, | Map => [ | # note: Login, Email and CustomerID needed! | # var, frontend, storage, shown, required, storage-type, http-link | [ 'UserCompany', 'Company', 'cname', 1, 0, 'var' ], | [ 'UserName', 'Name', 'pname', 1, 1, 'var' ], | [ 'UserPhone', 'Phone', 'phone', 1, 1, 'var' ], | [ 'UserLogin', 'Login', 'login', 1, 1, 'var' ], | [ 'UserPassword', 'Password', 'pw', 0, 1, 'var' ], | [ 'UserEmail', 'Email', 'email', 0, 1, 'var', '$Env{"CGIHandle"}?Action=AgentCompose&ResponseID=1&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}' ], | [ 'UserCustomerID', 'CustomerID', 'login', 0, 1, 'var' ], | ], | }; (2) | mysql> desc clients; | +----------+----------------------+------+-----+---------+----------------+ | | Field | Type | Null | Key | Default | Extra | | +----------+----------------------+------+-----+---------+----------------+ | | id | int(10) unsigned | | PRI | NULL | auto_increment | | | cr_date | date | YES | | NULL | | | | cname | varchar(255) | YES | | NULL | | | | pname | varchar(255) | | UNI | | | | | login | varchar(20) | | UNI | | | | | passwd | varchar(20) | | | | | | | status | enum('false','true') | | | true | | | | phone | varchar(255) | YES | | NULL | | | | fax | varchar(255) | YES | | NULL | | | | email | varchar(255) | YES | | NULL | | | | address | varchar(255) | YES | | NULL | | | | city | varchar(255) | YES | | NULL | | | | state | varchar(255) | YES | | NULL | | | | pcode | varchar(10) | YES | | NULL | | | | country | char(2) | YES | | NULL | | | | mpc_user | varchar(255) | YES | | NULL | | | | mpc_pass | varchar(255) | YES | | NULL | | | | locale | char(3) | | | en | | | +----------+----------------------+------+-----+---------+----------------+ | 18 rows in set (0.00 sec)