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