Moin nochmal :-)

Hat irgendeiner zu dieser Problemstellung vielleicht noch eine Idee?
Ich würde gern hier firmenintern von RT zu OTRS wechseln, aber solange
ich unsere Kunden Datenbank nicht sauber ans OTRS anbinden kann, fehlt
mir hier ein Ausschlusskriterium dazu ...



Am 20. März 2009 18:44 schrieb Frank Altpeter <frank.altpe...@gmail.com>:
> Moin!
>
> Ich habe da ein kleines Problem bei der Anbindung unserer KundenDB ans
> OTRS, und nach einigem Probieren wusste ich nicht mehr weiter und
> hoffe hier auf einen  kleinen Hint...
>
> Zustand: OTRS 2.3.3 auf Gentoo Linux, MySQL KundenDB.
>
> Zuerst habe ich die Datei Kernel/System/CustomerUser/DB.pm patchen
> müssen, da diese keine erweiterte WHERE klausel erlaubt, aber das nur
> am Rande:
>
> --- Kernel/System/CustomerUser/DB.pm.orig       2009-03-20 17:00:25.000000000 
> +0100
> +++ Kernel/System/CustomerUser/DB.pm    2009-03-20 17:02:30.000000000 +0100
> @@ -265,6 +265,12 @@
>             . " IN (" . join( ', ',
> $Self->{ValidObject}->ValidIDsGet() ) . ") ";
>     }
>
> +    # Add missing CustomerUserValidFilter option
> +    if ( $Self->{CustomerUserMap}->{CustomerUserValidFilter} ) {
> +        $SQL .= " AND "
> +            . $Self->{CustomerUserMap}->{CustomerUserValidFilter};
> +    }
> +
>     # check cache
>     if ( $Self->{CacheObject} ) {
>         my $Users = $Self->{CacheObject}->Get(
>
>
>
> Damit habe ich die Option (die ich ansonsten nur für LDAP gefunden hatte):
>
> CustomerUserValidFilter => 'Erreichbarkeiten.ID =
> Ansprechpartner.Nummer AND Erreichbarkeiten.Art="E"',
>
>
> So, somit wird mir nun, basierend auf meiner CustomerUser1
> Konfiguration ein Query gebaut, das so aussieht:
>
>
> SELECT Ansprechpartner.Nummer , Ansprechpartner.Anrede,
> Ansprechpartner.Vorname, Ansprechpartner.Name,
> Erreichbarkeiten.Anschluss FROM Erreichbarkeiten,Ansprechpartner WHERE
> ((LOWER(Ansprechpartner.Vorname) LIKE LOWER('%customername%') OR
> LOWER(Ansprechpartner.Name) LIKE LOWER('%customername%') OR
> LOWER(Erreichbarkeiten.Anschluss) LIKE LOWER('%customername%')) )  AND
> Erreichbarkeiten.ID = Ansprechpartner.Nummer AND
> Erreichbarkeiten.Art="E" LIMIT 50;
>
>
> Wenn ich das in der mysql console ausführe, erhalte ich genau ein result:
>
> +--------+--------+---------+------+------------------+
> | Nummer | Anrede | Vorname | Name | Anschluss        |
> +--------+--------+---------+------+------------------+
> |    293 | G      | Vorname  | Customername | m...@customername.de |
> +--------+--------+---------+------+------------------+
> 1 row in set (0.00 sec)
>
>
> Wenn ich die Suche jetzt innerhalb von OTRS Kunden-Benutzer Verwaltung
> ausführe, bekomme ich als Resultat ebenfalls nur ein result,
> allerdings wird statt der Emailadresse eine Telefonnummer angezeigt,
> die mit diesem Datensatz gar nichts zu tun hat.
>
> Wenn ich den query generisch halte (z.b. nach "name" suche), dann
> erhalte ich beispielsweise 20 Treffer, wobei auch wieder alle Einträge
> diese eine Telefonnummer anzeigen, statt der jeweiligen Mailadresse.
>
> Das korrekte SQL Statement konnte ich über den OTRS debug log output
> verifizieren. Und wenn ich den SQL string aus diesem output in meine
> mysql console kopiere, kommt das korrekte Ergebnis - nur innerhalb vom
> OTRS nicht ...
>
>
> Hat einer eine Idee, was hier mein Problem sein könnte?
>
>
>
> --
> Le deagh dhùraghd,
>
>        Frank Altpeter
>
>
> There is no way to happiness. Happiness is the way.
>    -- Buddha
>



-- 
Le deagh dhùraghd,

        Frank Altpeter


There is no way to happiness. Happiness is the way.
    -- Buddha
---------------------------------------------------------------------
OTRS mailing list: otrs-de - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/otrs-de
To unsubscribe: http://lists.otrs.org/mailman/listinfo/otrs-de

NEU! ENTERPRISE SUBSCRIPTION - JETZT informieren und buchen!
http://www.otrs.com/de/support/enterprise-subscription/

Antwort per Email an