diff options
Diffstat (limited to 'FS/FS/TicketSystem.pm')
-rw-r--r-- | FS/FS/TicketSystem.pm | 30 |
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..a80a827 --- /dev/null +++ b/FS/FS/TicketSystem.pm @@ -0,0 +1,30 @@ +package FS::TicketSystem; + +use strict; +use vars qw( $conf $system $AUTOLOAD ); +use FS::Conf; +use FS::UID; + +FS::UID->install_callback( sub { + $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; |