Bug 9587 Follow up to fix the problem Katrin identified

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>
This commit is contained in:
Chris Cormack 2013-02-17 22:44:01 +13:00 committed by Jared Camins-Esakov
parent 8cb1ac85a2
commit d03c8443a4
3 changed files with 14 additions and 8 deletions

View 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')
);
}

View 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;

View 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 },