summaryrefslogtreecommitdiff
path: root/FS/FS/TicketSystem.pm
diff options
context:
space:
mode:
authorivan <ivan>2004-12-02 09:59:48 +0000
committerivan <ivan>2004-12-02 09:59:48 +0000
commit0d1d2630e726ab4ce32bab9c3e4a889eee43fcb4 (patch)
tree34d6d7d9dc3ed2ab2bd5fafb585330fc20355b53 /FS/FS/TicketSystem.pm
parentb81d94452ba28c79036ab417bd32df54a583f324 (diff)
second big RT integration checkin, customer linking/delinking interface
Diffstat (limited to 'FS/FS/TicketSystem.pm')
-rw-r--r--FS/FS/TicketSystem.pm30
1 files changed, 30 insertions, 0 deletions
diff --git a/FS/FS/TicketSystem.pm b/FS/FS/TicketSystem.pm
new file mode 100644
index 0000000..2a5c68f
--- /dev/null
+++ b/FS/FS/TicketSystem.pm
@@ -0,0 +1,30 @@
+package FS::TicketSystem;
+
+use strict;
+use vars qw( $system $AUTOLOAD );
+use FS::Conf;
+use FS::UID;
+
+install_callback FS::UID sub {
+ my $conf = new FS::Conf;
+ $system = $conf->config('ticket_system');
+};
+
+sub AUTOLOAD {
+ my $self = shift;
+
+ my($sub)=$AUTOLOAD;
+ $sub =~ s/.*://;
+
+ my $conf = new FS::Conf;
+ die "FS::TicketSystem::$AUTOLOAD called, but no ticket system configured\n"
+ unless $system;
+
+ eval "use FS::TicketSystem::$system;";
+ die $@ if $@;
+
+ $self .= "::$system";
+ $self->$sub(@_);
+}
+
+1;