Main Koha release repository https://koha-community.org
Find a file
Jonathan Druart 68e4f96511 Bug 13934: C4::ItemType->get should return undef if no parameter given
The issue: If you try to check in an item with a non existent barcode,
the application will exploded with a software error:
"Can't bless non-reference at .../ItemType.pm Line 64".
It's caused by:
commit 7431f8cfe2
    Bug 11944: Fix encoding issue in C4::ItemType

and the following change:
@@ -105,9 +104,6 @@ sub get {
     my $data = $dbh->selectrow_hashref(
         "SELECT * FROM itemtypes WHERE itemtype = ?", undef, $itemtype
     );
-    if ( $data->{description} ) {
-        $data->{description} = Encode::encode('UTF-8', $data->{description});
-    }

because of the following:
  my $s;
  $s->{foo} = "bar" if $s->{foo};
  use Data::Dumper;warn Dumper $s;
=> {} # not undef

So later,
  bless $opts => $class;
will fail because $opts is undef and was not (i.e. {}) before.

More explicit test plan:
1) Log in to staff client
2) Circulation -> Check in
3) Type a non-existent barcode into 'Enter item barcode:' textbox
4) Click 'Submit'
   -- Should receive nasty error.
5) apply patch
6) repeat steps 2-4
   -- Should be told 'No item with barcode: {what you typed}'
7) prove -v t/ItemType.t
   -- All tests should run successfully.
7) run koha qa test tools

Note: Having tried to create and use an itemtype '0', this only
      demonstrates a lack of validation on the itemtype creation
      screen. Unable to use it without tweaking back end.
      That is beyond the scope of this bug.

Note for QA: C4::ItemType->get is only uses in circ/return.pl. So even
if the behavior is changed, it should not introduce any regression
somewhere else.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Works as expected. Fixes the problem and no regressions found.
It even has regression tests :-D

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2015-04-10 10:18:07 -03:00
acqui Bug 7480: Don't display current logged in user as basket manager 2015-04-08 11:07:29 -03:00
admin Bug 13875: Columns configuration - Allow underscore in table name 2015-04-08 14:51:59 -03:00
authorities Bug 11961 - This patch fix the QA critical error, fix the capitalization and the UNIMARC support. 2015-01-24 18:19:10 -03:00
basket Bug 3873: follow-up for all other pages 2015-03-31 10:52:10 -03:00
C4 Bug 13934: C4::ItemType->get should return undef if no parameter given 2015-04-10 10:18:07 -03:00
catalogue Bug 11430: Intranet changes 2015-03-11 15:02:42 -03:00
cataloguing ug 7561: Fast cataloging - Allow add/edit items and delete record 2015-04-08 11:22:44 -03:00
circ Bug 13549: Add cardnumber to overdue circulation report overdue.pl 2015-03-31 14:17:57 -03:00
course_reserves Bug 13818 - Editing and saving a course reserve displays the add item form 2015-03-25 11:25:26 -03:00
debian Bug 13896: (QA followup) fix koha-{stop|restart}-zebra too 2015-04-08 14:56:44 -03:00
docs Bug 7143: Add "developer" for all devs 2015-03-07 22:01:48 +01:00
errors Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
etc Bug 13800 - Diacritics not mapped 2015-04-08 15:13:46 -03:00
install_misc GRS-1 deprecation leftover used by jenkins 2015-01-13 15:30:31 -03:00
installer Bug 13380: Follow-up - only run database update, when it hasn't been run already 2015-04-08 11:08:20 -03:00
Koha Bug 13601: The fallback regex should contain the time part 2015-03-30 13:40:07 -03:00
koha-tmpl Bug 8796 - patron cards not starting on designated card 2015-04-09 14:42:43 -03:00
labels Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
members Bug 13898: Remove CANDELETEUSER code 2015-03-31 11:45:11 -03:00
misc Bug 13166 - add all restrictions purge to cleanup_database.pl 2015-04-09 11:59:41 -03:00
offline_circ Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
opac Bug 13611 - Serial enumeration not visible in the opac-user.pl when browsing own holds. 2015-04-09 12:05:36 -03:00
OpenILS Bug 9239 QA follow-up: remove stray debug code 2013-03-16 21:32:34 -04:00
patron_lists Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
patroncards Bug 8796 - patron cards not starting on designated card 2015-04-09 14:42:43 -03:00
plugins Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
reports Bug 13748: Acquisition wizard: some strings not translatable 2015-03-19 14:02:36 -03:00
reserve Bug 13894: Fix if the search returns only 1 result 2015-03-30 12:56:57 -03:00
reviews Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
rotating_collections Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
selenium Adding selenium tests for filterMembers 2009-09-30 11:30:37 +02:00
serials Bug 13890 - Switch from full serials permission to 'routing' permission for reordering routing lists 2015-03-31 11:33:23 -03:00
services Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
skel Bug 11078: Add locking to rebuild_zebra 2014-02-28 22:21:41 +00:00
sms Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
suggestion Bug 13731: Suggestions reason does not save on updating the status 2015-03-02 15:47:24 +01:00
svc Bug 13923: The prefetch used on existing constraint 2015-04-08 10:52:10 -03:00
t Bug 13934: C4::ItemType->get should return undef if no parameter given 2015-04-10 10:18:07 -03:00
tags Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
test Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
tmp/modified_authorities changing DO_NOT_REMOVE to README.txt 2007-10-21 19:14:41 -05:00
tools Bug 13938 - Staging MARC records for import fails 2015-04-08 09:42:39 -03:00
virtualshelves Bug 13343: Embed items when send a basket/shelf 2015-02-12 15:33:11 -03:00
xt Bug 13199: follow up to fix Licence and some koha-qa errors 2014-11-20 09:47:54 -03:00
.editorconfig Bug 12545: Add EditorConfig.org file to the source tree 2014-08-22 11:07:45 -03:00
.htaccess Fix file permissions: if it is not a script, it should not be executable. 2010-04-16 00:40:34 -04:00
.mailmap Bug 13314: Follow-up for m.de.rooy in .mailmap 2014-11-26 11:16:18 -03:00
about.pl Bug 13404 [QA Followup] 2015-02-09 13:42:32 -03:00
changelanguage.pl Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
edithelp.pl Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
fix-perl-path.PL installer: improvements to fix-path-perl.PL on Win32 2007-12-20 19:20:12 -06:00
help.pl Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
INSTALL Bug 7759, update of install files to use background indexing (and some whitespace tidy) 2012-04-20 16:11:52 +02:00
install-CPAN.pl Bug 5370: Fix all the references to koha.org 2010-11-08 09:41:49 +13:00
INSTALL.debian Bug 8092 follow-up: Add optional dependency on CHI 2012-06-09 13:08:18 +02:00
INSTALL.fedora7 Bug 11757: remove dependency on POE 2014-02-15 01:38:15 +00:00
INSTALL.opensuse Bug 11757: remove dependency on POE 2014-02-15 01:38:15 +00:00
INSTALL.ubuntu Bug 7764: (follow-up) editorial tweaks 2013-10-04 16:27:55 +00:00
koha_perl_deps.pl bug 10548: fix count of missing required dependencies by koha_perl_deps.pl 2013-07-11 14:03:32 +00:00
kohaversion.pl Bug 9580: DBRev 3.19.00.019 2015-04-01 09:33:26 -03:00
LICENSE Bug 9440 - update Koha's LICENSE file from GPL2 to GPL3 2013-02-12 08:52:10 -05:00
mainpage.pl Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
Makefile.PL Bug 13586: Remove some other occurrences 2015-03-19 14:15:07 -03:00
MANIFEST.SKIP Bug 9546 : Updating make manifest tardist 2013-02-06 23:54:46 -05:00
README Bug 9440 - update Koha's LICENSE file from GPL2 to GPL3 2013-02-12 08:52:10 -05:00
README.robots Bug 6411 add another example to README.robots 2011-07-05 14:48:05 +12:00
rewrite-config.PL Bug 12031: [QA Follow-up] Undefined routine and change to koha-conf.xml 2014-10-27 10:38:11 -03:00

Koha is a free software integrated library system.

Koha is distributed under the GNU GPL version 3 or later.
Please read the file LICENSE for more details.

To install or upgrade Koha, please see the INSTALL file appropriate
to your platform.

Report bugs at http://bugs.koha-community.org/

Visit the Koha Project website at http://www.koha-community.org/