Bugzilla – Attachment 117665 Details for
Bug 27708
Cannot create EDI order if AcqCreateItem value is not "placing an order"
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 27708: unify two item object creation blocks to be stored as hash
Bug-27708-unify-two-item-object-creation-blocks-to.patch (text/plain), 3.33 KB, created by
David Nind
on 2021-03-04 10:01:20 UTC
(
hide
)
Description:
Bug 27708: unify two item object creation blocks to be stored as hash
Filename:
MIME Type:
Creator:
David Nind
Created:
2021-03-04 10:01:20 UTC
Size:
3.33 KB
patch
obsolete
>From 198f074ff5f33f95fa2108f986d990666a8a0a92 Mon Sep 17 00:00:00 2001 >From: Petro Vashchuk <stalkernoid@gmail.com> >Date: Wed, 3 Mar 2021 14:34:52 +0200 >Subject: [PATCH] Bug 27708: unify two item object creation blocks to be stored > as hash > >Previously for existing item data was stored as an object reference and >then treated as one, but for not yet existing item data was stored as >keys in hash reference in the same variable and later it was treated >like an object, hence why it crashed with "no method". >This patch unifies that variable in both cases filled as hash and >treated as such. > >To reproduce: > 1) Go to "Administration->System preferences" and change >"AcqCreateItem" to "receiving an order." > 2) Now, go to "Acquisitions" and create a new Vendor, >or use an existing one. > 3) Next, go to "Administration->EDI Account" and add EDI account >(pick that Vendor that you created recently, or the one that you will >use for this test). > 4) Also in "Administration->Library EANs" add EAN if you didn't >have one previously. > 5) Go back to "Acquisitions" and add a new basket to your Vendor >that you will use for this test. > 6) Press "Create EDIFACT order" button. It should throw >"Can't call method "homebranch" on unblessed reference..." >software error. > 7) Apply the patch. > 8) Reload the page that threw software error previously >(or repeat steps 5, 6 if you need another basket), >it should go through now. > >Signed-off-by: David Nind <david@davidnind.com> >--- > Koha/Edifact/Order.pm | 21 +++++++++++++-------- > 1 file changed, 13 insertions(+), 8 deletions(-) > >diff --git a/Koha/Edifact/Order.pm b/Koha/Edifact/Order.pm >index b5434872ae..058189d665 100644 >--- a/Koha/Edifact/Order.pm >+++ b/Koha/Edifact/Order.pm >@@ -385,18 +385,23 @@ sub order_line { > foreach my $item (@linked_itemnumbers) { > my $i_obj = $schema->resultset('Item')->find( $item->itemnumber ); > if ( defined $i_obj ) { >- push @items, $i_obj; >+ push @items, { >+ branchcode => $item->{branchcode}, >+ itype => $item->{itype}, >+ location => $item->{location}, >+ itemcallnumber => $item->{itemcallnumber}, >+ }; > } > } > } > else { > my $item_hash = { >- itemtype => $biblioitem->itemtype, >- shelfmark => $biblioitem->cn_class, >+ itemtype => $biblioitem->itemtype, >+ itemcallnumber => $biblioitem->cn_class, > }; > my $branch = $orderline->basketno->deliveryplace; > if ($branch) { >- $item_hash->{branch} = $branch; >+ $item_hash->{branchcode} = $branch; > } > for ( 1 .. $orderline->quantity ) { > push @items, $item_hash; >@@ -411,10 +416,10 @@ sub order_line { > for my $item (@items) { > push @{$item_fields}, > { >- branchcode => $item->homebranch->branchcode, >- itype => $item->itype, >- location => $item->location, >- itemcallnumber => $item->itemcallnumber, >+ branchcode => $item->{branchcode}, >+ itype => $item->{itype}, >+ location => $item->{location}, >+ itemcallnumber => $item->{itemcallnumber}, > }; > } > $self->add_seg( >-- >2.11.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 27708
:
117453
|
117455
|
117568
|
117665
|
117722
|
117723
|
127227
|
127228
|
127229
|
127233
|
127234
|
127264