diff options
author | ivan <ivan> | 2006-06-19 02:33:52 +0000 |
---|---|---|
committer | ivan <ivan> | 2006-06-19 02:33:52 +0000 |
commit | c0e8da2f1e89729efa1032241e4239765a296514 (patch) | |
tree | 68af748a3dc0c983e3ed255ad1bc05e9bf2eb8e7 /FS/FS/CurrentUser.pm | |
parent | bb65b62d3d68ac0788f230fe2e35ebe1913fc0f5 (diff) |
agent virtualization, take one (stuff from "inactive" changeset snuck into cust_main.pm and the package reporting changeset in search/cust_pkg.cgi here too)
Diffstat (limited to 'FS/FS/CurrentUser.pm')
-rw-r--r-- | FS/FS/CurrentUser.pm | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/FS/FS/CurrentUser.pm b/FS/FS/CurrentUser.pm new file mode 100644 index 0000000..13d3416 --- /dev/null +++ b/FS/FS/CurrentUser.pm @@ -0,0 +1,50 @@ +package FS::CurrentUser; + +use vars qw($CurrentUser); + +#not at compile-time, circular dependancey causes trouble +#use FS::Record qw(qsearchs); +#use FS::access_user; + +=head1 NAME + +FS::CurrentUser - Package representing the current user + +=head1 SYNOPSIS + +=head1 DESCRIPTION + +=cut + +sub load_user { + my( $class, $user ) = @_; #, $pass + + #XXX remove me at some point + return "" if $user =~ /^fs_(queue|selfservice)$/; + + #not the best thing in the world... + eval "use FS::Record qw(qsearchs);"; + die $@ if $@; + eval "use FS::access_user;"; + die $@ if $@; + + $CurrentUser = qsearchs('access_user', { + 'username' => $user, + #'_password' => + } ); + + die "unknown user: $user" unless $CurrentUser; # or bad password + + $CurrentUser; +} + +=head1 BUGS + +Creepy crawlies + +=head1 SEE ALSO + +=cut + +1; + |