[Koha-patches] [PATCH] fix for #2440 : acquisition recieve & item creation

Ryan Higgins ryan.higgins at liblime.com
Fri Aug 8 19:35:19 CEST 2008


Ok, it seems I misread this patch, and saw a '-' in front of the for loop
when I first looked.
I think this patch should be fine, and should not adversely affect multiple
item receipt as
I suggested.

Sorry for the confusion;  let's go ahead with it.

Ryan


On Fri, Aug 8, 2008 at 7:43 AM, Joshua Ferraro <jmf at liblime.com> wrote:

> Hi Paul, Ryan,
>
> What's the status on 2440 and 2351? can they be closed FIXED, if not,
> are the must-fix prior to 3.0 (today)?
>
> Josh
>
> On Fri, Aug 01, 2008 at 09:28:25PM -0400, Ryan Higgins wrote:
> > Hi Paul.
> >
> > I think I understand your intent here:  to allow a separation of item
> > creation from receiving (billing/acq).
> >
> > A recent patch I submitted for this page and its successor in normal
> > workflow ( parcel.pl )
> > reports errors on any item records that were not created in the receiving
> > step.
> >
> > Your patch removes the capacity to receive multiple items, which is
> > definitely not desired.
> > All you should have to do  alter the " if( $quantityrec > 0 ) "
> conditional.
> >
> > The question that needs to be answered is 'what is the appropriate
> behavior
> > if item records are not
> > created?' :
> >
> > I think the answer is this:
> > 1: (required)  allow the user to manually edit 'quantity received'
> > (currently read-only field).
> > 2: (optional)  add an onchange for 'quantity received' to show enough
> item
> > record divs to add the holdings data if we have it.
> > 3: (required)  add an onsubmit form checker that tests the number of
> unique
> > barcodes against the number in 'quantity received',
> >     and tells the user that if they say ok, item records will _not_ be
> > created, but the acq module will register that the items
> >     were received.  Most of this js code is already in place.
> >
> > From my understanding, I think this will meet the needs that you express
> > with this patch without breaking the expected
> > behavior on our side.  Let me know if I was not sufficiently clear,
> > misinterpreted your needs, or if you cannot accept the
> > extra button click to verify that it's okay to modify the acq record
> without
> > adding the holdings record(s).
> >
> > Ryan
> >
> >
> >
> > On Thu, Jul 31, 2008 at 8:19 AM, <paul.poulain at biblibre.com> wrote:
> >
> > > From: Paul POULAIN <paul.poulain at biblibre.com>
> > >
> > > It has to be reintroduced, as some (most in France) libraries don't
> create
> > > items on recieve, but after "equipment" step.
> > > ---
> > >  acqui/finishreceive.pl |   58
> > > ++++++++++++++++++++++++-----------------------
> > >  1 files changed, 30 insertions(+), 28 deletions(-)
> > >
> > > diff --git a/acqui/finishreceive.pl b/acqui/finishreceive.pl
> > > index 8cf8d4f..8cb5bf2 100755
> > > --- a/acqui/finishreceive.pl
> > > +++ b/acqui/finishreceive.pl
> > > @@ -59,34 +59,36 @@ my $error_url_str;
> > >
> > >  if ($quantityrec > $origquantityrec ) {
> > >        foreach my $bc (@barcode) {
> > > -               my $item_hash = {
> > > -                    "items.replacementprice" => $replacement,
> > > -                    "items.price"            => $cost,
> > > -                    "items.booksellerid"     => $supplierid,
> > > -                    "items.homebranch"       => $branch[$cnt],
> > > -                    "items.holdingbranch"    => $branch[$cnt],
> > > -                    "items.barcode"          => $barcode[$cnt],
> > > -                    "items.ccode"          => $ccode[$cnt],
> > > -                    "items.itype"          => $itemtype[$cnt],
> > > -                    "items.location"          => $location[$cnt],
> > > -                    "items.enumchron"          => $enumchron[$cnt], #
> > > FIXME : No integration here with serials module.
> > > -                    "items.loan"             => 0,
> > > -                                       };
> > > -               $item_hash->{'items.cn_source'} =
> > > C4::Context->preference('DefaultClassificationSource')
> > > if(C4::Context->preference('DefaultClassificationSource') );
> > > -               # FIXME : cn_sort is populated by
> > > Items::_set_derived_columns_for_add , which is never called with
> > > AddItemFromMarc .  Bug 2403
> > > -        my $itemRecord = TransformKohaToMarc($item_hash);
> > > -               $cnt++;
> > > -               $item_hash =
> > > TransformMarcToKoha(undef,$itemRecord,'','items');
> > > -               # FIXME: possible race condition.  duplicate barcode
> check
> > > should happen in AddItem, but for now we have to do it here.
> > > -               my %err = CheckItemPreSave($item_hash);
> > > -               if(%err) {
> > > -                       for my $err_cnd (keys %err) {
> > > -                               $error_url_str .= "&error=" . $err_cnd
> .
> > > "&error_param=" . $err{$err_cnd};
> > > -                       }
> > > -                       $quantityrec--;
> > > -               } else {
> > > -                       AddItemFromMarc($itemRecord,$biblionumber);
> > > -               }
> > > +        if ($bc) {
> > > +            my $item_hash = {
> > > +                        "items.replacementprice" => $replacement,
> > > +                        "items.price"            => $cost,
> > > +                        "items.booksellerid"     => $supplierid,
> > > +                        "items.homebranch"       => $branch[$cnt],
> > > +                        "items.holdingbranch"    => $branch[$cnt],
> > > +                        "items.barcode"          => $barcode[$cnt],
> > > +                        "items.ccode"          => $ccode[$cnt],
> > > +                        "items.itype"          => $itemtype[$cnt],
> > > +                        "items.location"          => $location[$cnt],
> > > +                        "items.enumchron"          =>
> $enumchron[$cnt], #
> > > FIXME : No integration here with serials module.
> > > +                        "items.loan"             => 0,
> > > +                        };
> > > +            $item_hash->{'items.cn_source'} =
> > > C4::Context->preference('DefaultClassificationSource')
> > > if(C4::Context->preference('DefaultClassificationSource') );
> > > +            # FIXME : cn_sort is populated by
> > > Items::_set_derived_columns_for_add , which is never called with
> > > AddItemFromMarc .  Bug 2403
> > > +            my $itemRecord = TransformKohaToMarc($item_hash);
> > > +            $cnt++;
> > > +            $item_hash =
> > > TransformMarcToKoha(undef,$itemRecord,'','items');
> > > +            # FIXME: possible race condition.  duplicate barcode check
> > > should happen in AddItem, but for now we have to do it here.
> > > +            my %err = CheckItemPreSave($item_hash);
> > > +            if(%err) {
> > > +                for my $err_cnd (keys %err) {
> > > +                    $error_url_str .= "&error=" . $err_cnd .
> > > "&error_param=" . $err{$err_cnd};
> > > +                }
> > > +                $quantityrec--;
> > > +            } else {
> > > +                AddItemFromMarc($itemRecord,$biblionumber);
> > > +            }
> > > +        }
> > >        }
> > >
> > >     # save the quantity received.
> > > --
> > > 1.5.3.2
> > >
> > > _______________________________________________
> > > Koha-patches mailing list
> > > Koha-patches at lists.koha.org
> > > http://lists.koha.org/mailman/listinfo/koha-patches
> > >
> >
> >
> >
> > --
> > Ryan Higgins
> >
> > LibLime * Open-Source Solutions for Libraries
> > Featuring KohaZOOM ILS
> > 888-564-2457 x704
>
> > _______________________________________________
> > Koha-patches mailing list
> > Koha-patches at lists.koha.org
> > http://lists.koha.org/mailman/listinfo/koha-patches
>
>


-- 
Ryan Higgins

LibLime * Open-Source Solutions for Libraries
Featuring KohaZOOM ILS
888-564-2457 x704
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/koha-patches/attachments/20080808/e5f8bdf3/attachment-0002.htm>


More information about the Koha-patches mailing list