Summary: | Need to track the call to "C4::Context->userenv->{'xxxx'} without check if it is undefined | ||
---|---|---|---|
Product: | Koha | Reporter: | Christophe Croullebois <christophe.croullebois> |
Component: | Architecture, internals, and plumbing | Assignee: | Christophe Croullebois <christophe.croullebois> |
Status: | NEW --- | QA Contact: | |
Severity: | minor | ||
Priority: | P5 - low | CC: | dcook, jonathan.druart, martin.renvoize |
Version: | Main | ||
Hardware: | All | ||
OS: | All | ||
Change sponsored?: | --- | Patch complexity: | --- |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: | Version(s) released in: | ||
Circulation function: | |||
Bug Depends on: | 9980, 10217 | ||
Bug Blocks: |
Description
Christophe Croullebois
2012-06-06 14:13:36 UTC
Maybe the following change would do the trick: diff --git a/C4/Context.pm b/C4/Context.pm index cc93af4..14ce1c7 100644 --- a/C4/Context.pm +++ b/C4/Context.pm @@ -1085,7 +1085,7 @@ sub userenv { if (defined $var and defined $context->{"userenv"}->{$var}) { return $context->{"userenv"}->{$var}; } else { - return; + return {}; } } Need to be confirmed. Is this still valid? (In reply to Katrin Fischer from comment #3) > Is this still valid? Yes, it could be a code cleaning. So far we have to test if userenv is defined before accessing a key, for instance: C4/Accounts.pm: my $branchcode = C4::Context->userenv ? C4::Context->userenv->{'branch'} : undef; My fix would still be valid, but we still need a test: C4/Accounts.pm: my $branchcode = exist C4::Context->userenv->{branch} ? C4::Context->userenv->{'branch'} : undef; which actually makes less sense. A better approach could be to have a ->logged_in_user method, to retrieve a Koha::Patron object, representing the logged in user. But it is a quite huge work, and nobody will sign it off, and rebases will be tricky ;) Lowering severity for now. |