Bug 9535 - Patron card creator "Remove duplicates" function doesn't work
[koha_fer] / C4 / Context.pm
index 1488413..4d170b2 100644 (file)
@@ -956,7 +956,10 @@ sub queryparser {
         $context->{"queryparser"} = &_new_queryparser();
     }
 
-    return $context->{"queryparser"}->new;
+    return
+      defined( $context->{"queryparser"} )
+      ? $context->{"queryparser"}->new
+      : undef;
 }
 
 =head2 _new_queryparser
@@ -1080,18 +1083,8 @@ C<C4::Context-E<gt>userenv> twice, you will get the same hash without real DB ac
 #'
 sub userenv {
     my $var = $context->{"activeuser"};
-    return $context->{"userenv"}->{$var} if (defined $var and defined $context->{"userenv"}->{$var});
-    # insecure=1 management
-    if ($context->{"dbh"} && $context->preference('insecure') eq 'yes') {
-        my %insecure;
-        $insecure{flags} = '16382';
-        $insecure{branchname} ='Insecure';
-        $insecure{number} ='0';
-        $insecure{cardnumber} ='0';
-        $insecure{id} = 'insecure';
-        $insecure{branch} = 'INS';
-        $insecure{emailaddress} = 'test@mode.insecure.com';
-        return \%insecure;
+    if (defined $var and defined $context->{"userenv"}->{$var}) {
+        return $context->{"userenv"}->{$var};
     } else {
         return;
     }
@@ -1111,7 +1104,9 @@ set_userenv is called in Auth.pm
 
 #'
 sub set_userenv {
-    my ($usernum, $userid, $usercnum, $userfirstname, $usersurname, $userbranch, $branchname, $userflags, $emailaddress, $branchprinter, $persona)= @_;
+    my ($usernum, $userid, $usercnum, $userfirstname, $usersurname, $userbranch, $branchname, $userflags, $emailaddress, $branchprinter, $persona)=
+    map { utf8::decode($_); $_ } # CGI::Session doesn't handle utf-8, so we decode it here
+    @_;
     my $var=$context->{"activeuser"} || '';
     my $cell = {
         "number"     => $usernum,