[Koha-patches] [PATCH] C4::Context::userenv reloaded

Marc Chantreux marc.chantreux at biblibre.com
Mon Nov 10 17:34:07 CET 2008


it was hard to find a bug in our module because userenv does not report what
was going on. I rewrote it to be more verbose in error cases.
---
 C4/Context.pm |   30 +++++++++++++-----------------
 1 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/C4/Context.pm b/C4/Context.pm
index 7813f49..c069121 100644
--- a/C4/Context.pm
+++ b/C4/Context.pm
@@ -867,25 +867,21 @@ set_userenv is called in Auth.pm
 
 =cut
 
-#'
 sub userenv
 {
-    my $var = $context->{"activeuser"};
-    return $context->{"userenv"}->{$var} if (defined $context->{"userenv"}->{$var});
-    # insecure=1 management
-    if ($context->{"dbh"} && $context->preference('insecure')) {
-        my %insecure;
-        $insecure{flags} = '16382';
-        $insecure{branchname} ='Insecure';
-        $insecure{number} ='0';
-        $insecure{cardnumber} ='0';
-        $insecure{id} = 'insecure';
-        $insecure{branch} = 'INS';
-        $insecure{emailaddress} = 'test at mode.insecure.com';
-        return \%insecure;
-    } else {
-        return 0;
-    }
+    my $var = $context->{"activeuser"} or die "no active user. Perhaps you forgot to load C4::Auth and use get_template_and_user";
+    if ( my $env =  $context->{"userenv"}->{$var} ) { return $env };
+    die "no loaded context" unless C4::Context->dbh;
+    $context->preference('insecure') and return {qw(
+	flags 16382
+	branchname Insecure
+	number 0
+	cardnumber 0
+	id Insecure
+	branch INS
+	emailaddress test at mode.insecure.com
+    )};
+    die "no userenv without insecure mode";
 }
 
 =item set_userenv
-- 
1.5.4.3




More information about the Koha-patches mailing list