| 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 | ||
| GIT URL: | Initiative type: | --- | |
| Sponsorship status: | --- | Comma delimited list of Sponsors: | |
| Crowdfunding goal: | 0 | 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. |