agent virtualization, take one (stuff from "inactive" changeset snuck into cust_main...
[freeside.git] / FS / FS / CurrentUser.pm
1 package FS::CurrentUser;
2
3 use vars qw($CurrentUser);
4
5 #not at compile-time, circular dependancey causes trouble
6 #use FS::Record qw(qsearchs);
7 #use FS::access_user;
8
9 =head1 NAME
10
11 FS::CurrentUser - Package representing the current user
12
13 =head1 SYNOPSIS
14
15 =head1 DESCRIPTION
16
17 =cut
18
19 sub load_user {
20   my( $class, $user ) = @_; #, $pass
21
22   #XXX remove me at some point
23   return "" if $user =~ /^fs_(queue|selfservice)$/;
24
25   #not the best thing in the world...
26   eval "use FS::Record qw(qsearchs);";
27   die $@ if $@;
28   eval "use FS::access_user;";
29   die $@ if $@;
30
31   $CurrentUser = qsearchs('access_user', {
32     'username' => $user,
33     #'_password' =>
34   } );
35
36   die "unknown user: $user" unless $CurrentUser; # or bad password
37
38   $CurrentUser;
39 }
40
41 =head1 BUGS
42
43 Creepy crawlies
44
45 =head1 SEE ALSO
46
47 =cut
48
49 1;
50