Bug 26090: Fix "item types" report
This report was broken with SQL strict mode, but also without.
DBD::mysql::st execute failed: 'koha_kohadev.itemtypes.itemtype' isn't
in GROUP BY [for Statement "
and, if no library was selected:
DBD::mysql::st execute failed: Unknown column 'biblioitems.itemtype' in
'field list' [for Statement "
This patch does the minimum to make it usable, but it would need more
love.
Test plan:
To test you will need to try the 4 combinaisons:
item-level_itypes = item or biblio
With or without a library selected in the dropdown list
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 5bca73080f)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
parent
2b6b7cb265
commit
69f16f7469
|
|
@ -40,57 +40,33 @@ sub calculate {
|
|||
my $branch = @$parameters[0];
|
||||
my $dbh = C4::Context->dbh;
|
||||
my $sth;
|
||||
if ($branch) {
|
||||
if (C4::Context->preference('item-level_itypes')) {
|
||||
$sth = $dbh->prepare("
|
||||
SELECT itemtype, description, items.itype as itemtype, COUNT(*) AS total
|
||||
FROM itemtypes,items
|
||||
WHERE items.itype=itemtypes.itemtype
|
||||
AND items.holdingbranch=?
|
||||
GROUP BY items.itype
|
||||
ORDER BY itemtypes.description");
|
||||
|
||||
}
|
||||
else {
|
||||
$sth = $dbh->prepare("
|
||||
SELECT biblioitems.itemtype, description, biblioitems.itemtype, COUNT(*) AS total
|
||||
FROM itemtypes, biblioitems, items
|
||||
WHERE biblioitems.itemtype=itemtypes.itemtype
|
||||
AND items.biblioitemnumber=biblioitems.biblioitemnumber
|
||||
AND items.holdingbranch=?
|
||||
GROUP BY biblioitems.itemtype
|
||||
ORDER BY itemtypes.description");
|
||||
}
|
||||
$sth->execute($branch);
|
||||
} else {
|
||||
if (C4::Context->preference('item-level_itypes')) {
|
||||
$sth = $dbh->prepare("
|
||||
SELECT biblioitems.itemtype, description,items.itype AS itemtype, COUNT(*) AS total
|
||||
FROM itemtypes,items
|
||||
WHERE items.itype=itemtypes.itemtype
|
||||
GROUP BY items.itype
|
||||
ORDER BY itemtypes.description");
|
||||
}
|
||||
else {
|
||||
$sth = $dbh->prepare("SELECT itemtype, description, biblioitems.itemtype, COUNT(*) AS total
|
||||
FROM itemtypes, biblioitems,items
|
||||
WHERE biblioitems.itemtype=itemtypes.itemtype
|
||||
AND biblioitems.biblioitemnumber = items.biblioitemnumber
|
||||
GROUP BY biblioitems.itemtype
|
||||
ORDER BY itemtypes.description");
|
||||
}
|
||||
$sth->execute;
|
||||
}
|
||||
my ($itemtype, $description,$biblioitems,$total);
|
||||
if ( C4::Context->preference('item-level_itypes') ) {
|
||||
$sth = $dbh->prepare( q|
|
||||
SELECT itemtypes.itemtype, description, COUNT(*) AS total
|
||||
FROM itemtypes, items
|
||||
WHERE items.itype=itemtypes.itemtype
|
||||
| . ( $branch ? q| AND items.holdingbranch=? | : () ) . q|
|
||||
GROUP BY itemtypes.itemtype, description, items.itype
|
||||
ORDER BY itemtypes.description
|
||||
|);
|
||||
}
|
||||
else {
|
||||
$sth = $dbh->prepare( q|
|
||||
SELECT itemtypes.itemtype, description, COUNT(*) AS total
|
||||
FROM itemtypes, biblioitems, items
|
||||
WHERE biblioitems.itemtype=itemtypes.itemtype
|
||||
AND items.biblioitemnumber=biblioitems.biblioitemnumber
|
||||
| . ( $branch ? q| AND items.holdingbranch=? | : () ) . q|
|
||||
GROUP BY itemtypes.itemtype, description
|
||||
ORDER BY itemtypes.description
|
||||
|);
|
||||
}
|
||||
$sth->execute($branch || ());
|
||||
my ($itemtype, $description,$total);
|
||||
my $grantotal = 0;
|
||||
my $count = 0;
|
||||
while (($itemtype, $description,$biblioitems,$total) = $sth->fetchrow) {
|
||||
while (($itemtype, $description,$total) = $sth->fetchrow) {
|
||||
my %line;
|
||||
if($count % 2){
|
||||
$line{toggle} = 1;
|
||||
} else {
|
||||
$line{toggle} = 0;
|
||||
}
|
||||
$line{itemtype} = $itemtype;
|
||||
$line{count} = $total;
|
||||
$grantotal += $total;
|
||||
|
|
|
|||
Loading…
Reference in New Issue