import torrus 1.0.9
[freeside.git] / FS / FS / CurrentUser.pm
index 13d3416..bcd337d 100644 (file)
@@ -1,11 +1,13 @@
 package FS::CurrentUser;
 
-use vars qw($CurrentUser);
+use vars qw($CurrentUser $upgrade_hack);
 
 #not at compile-time, circular dependancey causes trouble
 #use FS::Record qw(qsearchs);
 #use FS::access_user;
 
+$upgrade_hack = 0;
+
 =head1 NAME
 
 FS::CurrentUser - Package representing the current user
@@ -19,8 +21,11 @@ FS::CurrentUser - Package representing the current user
 sub load_user {
   my( $class, $user ) = @_; #, $pass
 
-  #XXX remove me at some point
-  return "" if $user =~ /^fs_(queue|selfservice)$/;
+  if ( $upgrade_hack ) {
+    return $CurrentUser = new FS::CurrentUser::BootstrapUser;
+  }
+
+  #return "" if $user =~ /^fs_(queue|selfservice)$/;
 
   #not the best thing in the world...
   eval "use FS::Record qw(qsearchs);";
@@ -31,6 +36,7 @@ sub load_user {
   $CurrentUser = qsearchs('access_user', {
     'username' => $user,
     #'_password' =>
+    'disabled' => '',
   } );
 
   die "unknown user: $user" unless $CurrentUser; # or bad password
@@ -46,5 +52,16 @@ Creepy crawlies
 
 =cut
 
+package FS::CurrentUser::BootstrapUser;
+
+sub new {
+  my $proto = shift;
+  my $class = ref($proto) || $proto;
+  my $self = {};
+  bless ($self, $class);
+}
+
+sub AUTOLOAD { 1 };
+
 1;