Bug 9587 Follow up to fix the problem Katrin identified
authorChris Cormack <chris@bigballofwax.co.nz>
Sun, 17 Feb 2013 09:44:01 +0000 (22:44 +1300)
committerJared Camins-Esakov <jcamins@cpbibliography.com>
Sun, 24 Feb 2013 15:15:55 +0000 (10:15 -0500)
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Solve that problem, but now koha-qa complains about tabs
in C4/Context.pm.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tests done:
1) System preference 'Persona' added correctly.
2) Persona off, normal login still possible
3) Persona on, Persona login works
4) Persona logout works
5) normal login still possible
6) normal logout still possible

Persona is off by default and uses the primary email address
from the patron account.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
C4/Auth.pm
C4/Context.pm
koha-tmpl/opac-tmpl/prog/en/includes/opac-bottom.inc

index 6141fc2..efe1200 100644 (file)
@@ -324,6 +324,7 @@ sub get_template_and_user {
             LoginFirstname               => (C4::Context->userenv?C4::Context->userenv->{"firstname"}:"Bel"),
             LoginSurname                 => C4::Context->userenv?C4::Context->userenv->{"surname"}:"Inconnu",
             emailaddress                 => C4::Context->userenv?C4::Context->userenv->{"emailaddress"}:undef,
+            loggedinpersona              => C4::Context->userenv?C4::Context->userenv->{"persona"}:undef,
             TagsEnabled                  => C4::Context->preference("TagsEnabled"),
             hide_marc                    => C4::Context->preference("hide_marc"),
             item_level_itypes            => C4::Context->preference('item-level_itypes'),
@@ -336,7 +337,6 @@ sub get_template_and_user {
             marcflavour                  => C4::Context->preference("marcflavour"),
             persona                      => C4::Context->preference("persona"),
     );
-
     if ( $in->{'type'} eq "intranet" ) {
         $template->param(
             AmazonCoverImages           => C4::Context->preference("AmazonCoverImages"),
@@ -661,7 +661,8 @@ sub checkauth {
                 $session->param('cardnumber'),   $session->param('firstname'),
                 $session->param('surname'),      $session->param('branch'),
                 $session->param('branchname'),   $session->param('flags'),
-                $session->param('emailaddress'), $session->param('branchprinter')
+                $session->param('emailaddress'), $session->param('branchprinter'),
+                $session->param('persona')
             );
             C4::Context::set_shelves_userenv('bar',$session->param('barshelves'));
             C4::Context::set_shelves_userenv('pub',$session->param('pubshelves'));
@@ -780,7 +781,6 @@ sub checkauth {
         }
         $return = $value ? 1 : 0;
         $userid = $value;
-
     }
 
     elsif (
@@ -926,12 +926,16 @@ sub checkauth {
                     $session->param('ip',$session->remote_addr());
                     $session->param('lasttime',time());
                 }
+                if ($persona){
+                    $session->param('persona',1);
+                }
                 C4::Context::set_userenv(
                     $session->param('number'),       $session->param('id'),
                     $session->param('cardnumber'),   $session->param('firstname'),
                     $session->param('surname'),      $session->param('branch'),
                     $session->param('branchname'),   $session->param('flags'),
-                    $session->param('emailaddress'), $session->param('branchprinter')
+                    $session->param('emailaddress'), $session->param('branchprinter'),
+                    $session->param('persona')
                 );
 
             }
index 4e6c5fb..8451609 100644 (file)
@@ -1057,7 +1057,8 @@ sub userenv {
 =head2 set_userenv
 
   C4::Context->set_userenv($usernum, $userid, $usercnum, $userfirstname, 
-                  $usersurname, $userbranch, $userflags, $emailaddress);
+                  $usersurname, $userbranch, $userflags, $emailaddress, $branchprinter,
+                  $persona);
 
 Establish a hash of user environment variables.
 
@@ -1067,7 +1068,7 @@ set_userenv is called in Auth.pm
 
 #'
 sub set_userenv {
-    my ($usernum, $userid, $usercnum, $userfirstname, $usersurname, $userbranch, $branchname, $userflags, $emailaddress, $branchprinter)= @_;
+    my ($usernum, $userid, $usercnum, $userfirstname, $usersurname, $userbranch, $branchname, $userflags, $emailaddress, $branchprinter, $persona)= @_;
     my $var=$context->{"activeuser"} || '';
     my $cell = {
         "number"     => $usernum,
@@ -1080,7 +1081,8 @@ sub set_userenv {
         "branchname" => $branchname,
         "flags"      => $userflags,
         "emailaddress"     => $emailaddress,
-        "branchprinter"    => $branchprinter
+        "branchprinter"    => $branchprinter,
+       "persona"    => $persona,
     };
     $context->{userenv}->{$var} = $cell;
     return $cell;
index 25d74e2..b875028 100644 (file)
@@ -65,7 +65,7 @@
 <script type="text/javascript" language="javascript">
 
 navigator.id.watch({
-    loggedInUser: [% IF emailaddress %]'[% emailaddress %]'[% ELSE %]null[% END %],
+    loggedInUser: [% IF emailaddress && loggedinpersona %]'[% emailaddress %]'[% ELSE %]null[% END %],
     onlogin: function (assertion) {
         $.post('/cgi-bin/koha/svc/login',
             { assertion: assertion },