Bug 14187: branchtransfer needs a primary key (id) for DBIx and common sense.

* C4/Circulation.pm (GetTransfers, GetTransfersFromTo): Also return
  branchtransfer_id in return columns.
* installer/data/mysql/atomicupdate/14187.perl: New file.
* installer/data/mysql/kohastructure.sql: Modify branchtransfers structure.
* t/db_dependent/Circulation/transfers.t: Update tests to expect
  branchtransfer_id.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Test plan successful on all steps.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Amended patch: Remove Schema changes from this patch
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
Olli-Antti Kivilahti 2015-05-12 10:19:05 +03:00 committed by Kyle M Hall
parent fe3194d4d1
commit 292b9df914
4 changed files with 22 additions and 9 deletions

View file

@ -3205,7 +3205,8 @@ sub GetTransfers {
my $query = '
SELECT datesent,
frombranch,
tobranch
tobranch,
branchtransfer_id
FROM branchtransfers
WHERE itemnumber = ?
AND datearrived IS NULL
@ -3229,7 +3230,7 @@ sub GetTransfersFromTo {
return unless ( $frombranch && $tobranch );
my $dbh = C4::Context->dbh;
my $query = "
SELECT itemnumber,datesent,frombranch
SELECT branchtransfer_id,itemnumber,datesent,frombranch
FROM branchtransfers
WHERE frombranch=?
AND tobranch=?

View file

@ -0,0 +1,8 @@
$DBversion = 'XXX'; # will be replaced by the RM
if( CheckVersion( $DBversion ) ) {
$dbh->do("ALTER TABLE branchtransfers ADD COLUMN branchtransfer_id int(12) NOT NULL auto_increment FIRST, ADD CONSTRAINT PRIMARY KEY (branchtransfer_id);");
# Always end with this (adjust the bug info)
SetVersion( $DBversion );
print "Upgrade to $DBversion done (Bug 14187 - branchtransfer needs a primary key (id) for DBIx and common sense.)\n";
}

View file

@ -1003,12 +1003,14 @@ CREATE TABLE `default_branch_item_rules` (
DROP TABLE IF EXISTS `branchtransfers`;
CREATE TABLE `branchtransfers` ( -- information for items that are in transit between branches
`branchtransfer_id` int(12) NOT NULL auto_increment, -- primary key
`itemnumber` int(11) NOT NULL default 0, -- the itemnumber that it is in transit (items.itemnumber)
`datesent` datetime default NULL, -- the date the transfer was initialized
`frombranch` varchar(10) NOT NULL default '', -- the branch the transfer is coming from
`datearrived` datetime default NULL, -- the date the transfer arrived at its destination
`tobranch` varchar(10) NOT NULL default '', -- the branch the transfer was going to
`comments` mediumtext, -- any comments related to the transfer
PRIMARY KEY (`branchtransfer_id`),
KEY `frombranch` (`frombranch`),
KEY `tobranch` (`tobranch`),
KEY `itemnumber` (`itemnumber`),

View file

@ -125,7 +125,7 @@ is(CreateBranchTransferLimit(undef,$branchcode_2),undef,
my @transfers = GetTransfers($item_id1);
cmp_deeply(
\@transfers,
[ re('^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$'), $branchcode_1, $branchcode_2 ],
[ re('^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$'), $branchcode_1, $branchcode_2, re('[0-9]*') ],
"Transfers of the item1"
); #NOTE: Only the first transfer is returned
@transfers = GetTransfers;
@ -142,14 +142,16 @@ cmp_deeply(
\@transferfrom1to2,
[
{
itemnumber => $item_id1,
datesent => re('^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$'),
frombranch => $branchcode_1
branchtransfer_id => re('[0-9]*'),
itemnumber => $item_id1,
datesent => re('^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$'),
frombranch => $branchcode_1
},
{
itemnumber => $item_id2,
datesent => re('^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$'),
frombranch => $branchcode_1
branchtransfer_id => re('[0-9]*'),
itemnumber => $item_id2,
datesent => re('^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$'),
frombranch => $branchcode_1
}
],
"Item1 and Item2 has been transferred from branch1 to branch2"