Hello,
You can assign a ticket to a customer. However in the queue view
you can click on the customers number. I'd like to see information
about the customer, and rather not a customer login prompt.
I don't know, what are you thinking? Discussion welcome :-)
PS: I know this is only a first hack and the output page isn't very
pretty (because I didn't look at the dtl thingy yet)
--
Regards,
Wiktor Wodecki
diff -burN OpenTRS.orig/Kernel/Config.pm OpenTRS/Kernel/Config.pm
--- OpenTRS.orig/Kernel/Config.pm Thu Dec 5 13:06:04 2002
+++ OpenTRS/Kernel/Config.pm Thu Dec 5 13:09:11 2002
@@ -475,7 +475,7 @@
# ----------------------------------------------------#
# external customer db settings #
# ----------------------------------------------------#
- $Self->{CustomerDBLink} = 'http://yourhost/customer.pl?CID=$Data{"CustomerID"}';
+ $Self->{CustomerDBLink} =
+'http://yourhost/customer_view.pl?CID=$Data{"CustomerID"}';
# $Self->{CustomerDBLink} = '';
# ----------------------------------------------------#
diff -burN OpenTRS.orig/Kernel/System/CustomerUser.pm
OpenTRS/Kernel/System/CustomerUser.pm
--- OpenTRS.orig/Kernel/System/CustomerUser.pm Thu Dec 5 12:33:55 2002
+++ OpenTRS/Kernel/System/CustomerUser.pm Thu Dec 5 14:50:30 2002
@@ -96,6 +96,46 @@
return (%Data, %Preferences);
}
# --
+sub CustomerUserDataGetForView {
+ my $Self = shift;
+ my %Param = @_;
+ my $CustomerID = $Param{CustomerID};
+ my %Data;
+ # --
+ # get inital data
+ # --
+ my $SQL = "SELECT login, email, customer_id, pw, salutation, ".
+ " first_name, last_name, comment, valid_id ".
+ " FROM " .
+ " customer_user " .
+ " WHERE customer_id=$CustomerID";
+ $Self->{DBObject}->Prepare(SQL => $SQL);
+ while (my @RowTmp = $Self->{DBObject}->FetchrowArray()) {
+ $Data{UserLogin} = $RowTmp[0];
+ $Data{UserEmail} = $RowTmp[1];
+ $Data{UserCustomerID} = $RowTmp[2];
+ $Data{UserPw} = $RowTmp[3];
+ $Data{UserSalutation} = $RowTmp[4];
+ $Data{UserFirstname} = $RowTmp[5];
+ $Data{UserLastname} = $RowTmp[6];
+ $Data{UserComment} = $RowTmp[7];
+ $Data{ValidID} = $RowTmp[8];
+ }
+ # --
+ # check data
+ # --
+ if (! exists $Data{CustomerID} && ! $CustomerID) {
+ $Self->{LogObject}->Log(
+ Priority => 'notice',
+ Message => "Panic! No Data for customer: '$CustomerID'!!!",
+ );
+ return;
+ }
+
+ # return data
+ return (%Data);
+}
+# --
sub CustomerUserAdd {
my $Self = shift;
my %Param = @_;
diff -burN OpenTRS.orig/bin/cgi-bin/customer_view.pl
OpenTRS/bin/cgi-bin/customer_view.pl
--- OpenTRS.orig/bin/cgi-bin/customer_view.pl Thu Jan 1 01:00:00 1970
+++ OpenTRS/bin/cgi-bin/customer_view.pl Thu Dec 5 15:14:06 2002
@@ -0,0 +1,145 @@
+#!/usr/bin/perl -w
+# --
+# customer_view.pl - view customer data
+# Copyright (C) 2002 Wiktor Wodecki <[EMAIL PROTECTED]>
+#
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# --
+
+# use ../../ as lib location
+use FindBin qw($Bin);
+
+use lib "$Bin/../..";
+
+use strict;
+
+use vars qw($VERSION @INC);
+$VERSION = '$Revision: 0.5 $';
+$VERSION =~ s/^.*:\s(\d+\.\d+)\s.*$/$1/;
+
+# --
+# 0=off;1=on;
+# --
+my $Debug = 0;
+
+# --
+# check @INC for mod_perl (add lib path for "require module"!)
+# --
+$ENV{MOD_PERL} && push (@INC, "$Bin/../..");
+
+# --
+# all framework needed modules
+# (if you use mod_perl with startup.pl, drop this "use Kernel::.." and add
+# this to your startup.pl)
+# --
+use Kernel::Config;
+use Kernel::Config::ModulesCustomerPanel;
+use Kernel::System::Log;
+use Kernel::System::WebRequest;
+use Kernel::System::DB;
+use Kernel::System::AuthSession;
+use Kernel::System::CustomerAuth;
+use Kernel::System::CustomerUser;
+use Kernel::System::Permission;
+
+# --
+# create common framework objects 1/3
+# --
+my %CommonObject = ();
+$CommonObject{ConfigObject} = Kernel::Config->new();
+$CommonObject{LogObject} = Kernel::System::Log->new(
+ LogPrefix => $CommonObject{ConfigObject}->Get('CGILogPrefix'),
+ %CommonObject,
+);
+# --
+# debug info
+# --
+if ($Debug) {
+ $CommonObject{LogObject}->Log(
+ Priority => 'debug',
+ Message => 'Global handle started...',
+ );
+}
+# --
+# create common framework objects 2/3
+# --
+$CommonObject{ParamObject} = Kernel::System::WebRequest->new();
+#$CommonObject{LayoutObject} = Kernel::Output::HTML::Generic->new(%CommonObject);
+$CommonObject{DBObject} = Kernel::System::DB->new(%CommonObject);
+# --
+# check common db objects
+# --
+if (!$CommonObject{DBObject}) {
+ print $CommonObject{LayoutObject}->CustomerHeader(Title => 'Error!');
+ print $CommonObject{LayoutObject}->CustomerError(
+ Message => $DBI::errstr,
+ Comment => 'Please contact your admin'
+ );
+ print $CommonObject{LayoutObject}->CustomerFooter();
+ exit (1);
+}
+# --
+# create common framework objects 3/3
+# --
+$CommonObject{UserObject} = Kernel::System::CustomerUser->new(%CommonObject);
+$CommonObject{SessionObject} = Kernel::System::AuthSession->new(%CommonObject);
+# --
+# application and add on application common objects
+# --
+foreach ('$Kernel::Config::ModulesCustomerPanel::CommonObject') {
+ my $ModuleCommonObject = eval $_;
+ foreach my $Key (keys %{$ModuleCommonObject}) {
+ # create
+ $CommonObject{$Key} = $ModuleCommonObject->{$Key}->new(%CommonObject);
+ }
+}
+
+# --
+# get the customer_id
+# evil, evil
+# --
+use CGI;
+my $q = new CGI;
+my $CustomerID = $q->param('CID');
+my %UserData = $CommonObject{UserObject}->CustomerUserDataGetForView(CustomerID =>
+$CustomerID);
+
+print ("Content-type: text/html\n\n");
+my $i = 1;
+foreach (%UserData){
+ if ( $i%2 != 0) {
+ print($_.": ");
+ }
+ else {
+ print($_."<br>\n");
+ }
+ $i++;
+}
+
+# --
+# debug info
+# --
+if ($Debug) {
+ $CommonObject{LogObject}->Log(
+ Priority => 'debug',
+ Message => 'Global handle stopped.',
+ );
+}
+# --
+# db disconnect && undef %CommonObject %% undef %
+# --
+$CommonObject{DBObject}->Disconnect();
+undef %CommonObject;
+