Bugzilla – Attachment 69716 Details for
Bug 18606
Move rotating collections code to Koha::Object
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 18606: Get rid of RemoveItemFromCollection
Bug-18606-Get-rid-of-RemoveItemFromCollection.patch (text/plain), 4.17 KB, created by
Josef Moravec
on 2017-12-12 08:55:05 UTC
(
hide
)
Description:
Bug 18606: Get rid of RemoveItemFromCollection
Filename:
MIME Type:
Creator:
Josef Moravec
Created:
2017-12-12 08:55:05 UTC
Size:
4.17 KB
patch
obsolete
>From 1747c2c0399626e90db961076a3a7301b4d7d558 Mon Sep 17 00:00:00 2001 >From: Josef Moravec <josef.moravec@gmail.com> >Date: Wed, 17 May 2017 11:49:02 +0000 >Subject: [PATCH] Bug 18606: Get rid of RemoveItemFromCollection > >--- > C4/RotatingCollections.pm | 42 ---------------------------------------- > Koha/RotatingCollection.pm | 28 +++++++++++++++++++++++++++ > rotating_collections/addItems.pl | 28 +++++++++------------------ > 3 files changed, 37 insertions(+), 61 deletions(-) > >diff --git a/C4/RotatingCollections.pm b/C4/RotatingCollections.pm >index b5aebd8..466eca5 100644 >--- a/C4/RotatingCollections.pm >+++ b/C4/RotatingCollections.pm >@@ -48,52 +48,10 @@ BEGIN { > require Exporter; > @ISA = qw( Exporter ); > @EXPORT = qw( >- RemoveItemFromCollection > TransferCollection > ); > } > >-=head2 RemoveItemFromCollection >- >- ( $success, $errorcode, $errormessage ) = RemoveItemFromCollection( $colId, $itemnumber ); >- >-Removes an item to a collection >- >- Input: >- $colId: Collection to add the item to. >- $itemnumber: Item to be removed from collection >- >- Output: >- $success: 1 if all database operations were successful, 0 otherwise >- $errorCode: Code for reason of failure, good for translating errors in templates >- $errorMessage: English description of error >- >-=cut >- >-sub RemoveItemFromCollection { >- my ( $colId, $itemnumber ) = @_; >- >- ## Check for all necessary parameters >- if ( !$itemnumber ) { >- return ( 0, 2, "NO_ITEM" ); >- } >- >- if ( !isItemInThisCollection( $itemnumber, $colId ) ) { >- return ( 0, 2, "NOT_IN_COLLECTION" ); >- } >- >- my $dbh = C4::Context->dbh; >- >- my $sth; >- $sth = $dbh->prepare( >- "DELETE FROM collections_tracking >- WHERE itemnumber = ?" >- ); >- $sth->execute($itemnumber) or return ( 0, 3, $sth->errstr() ); >- >- return 1; >-} >- > =head2 TransferCollection > > ( $success, $errorcode, $errormessage ) = TransferCollection( $colId, $colBranchcode ); >diff --git a/Koha/RotatingCollection.pm b/Koha/RotatingCollection.pm >index dbc97ba..c00f80e 100644 >--- a/Koha/RotatingCollection.pm >+++ b/Koha/RotatingCollection.pm >@@ -87,6 +87,34 @@ sub add_item { > return $col_tracking; > } > >+=head3 remove_item >+ >+$collection->remove_item( $item_object ) >+ >+throws >+ Koha::Exceptions::MissingParameter >+ Koha::Exceptions::ObjectNotFound >+ >+=cut >+ >+sub remove_item { >+ my ( $self, $item ) = @_; >+ >+ Koha::Exceptions::MissingParameter->throw if not defined $item; >+ >+ Koha::Exceptions::ObjectNotFound->throw if ref($item) ne 'Koha::Item'; >+ >+ my $collection_tracking = Koha::RotatingCollection::Trackings->find( >+ { >+ itemnumber => $item->itemnumber, >+ colId => $self->colId, >+ } ); >+ >+ Koha::Exceptions::ObjectNotFound->throw if not defined $collection_tracking; >+ >+ return $collection_tracking->delete; >+} >+ > =head3 type > > =cut >diff --git a/rotating_collections/addItems.pl b/rotating_collections/addItems.pl >index c0ef9a7..edcbf0a 100755 >--- a/rotating_collections/addItems.pl >+++ b/rotating_collections/addItems.pl >@@ -65,29 +65,19 @@ if ( $query->param('action') eq 'addItem' ) { > } else { > push @messages, { code => 'success_adding_item' }; > } >- >- $template->param( >- previousActionAdd => 1, >- ); >- } >- else { >+ } else { > ## Remove the given item from the collection >- ( $success, $errorCode, $errorMessage ) = >- RemoveItemFromCollection( $colId, $itemnumber ); >+ my $deleted = eval { $collection->remove_item( $item ) }; > >- $template->param( >- previousActionRemove => 1, >- removeChecked => 1, >- ); >- >- if ($success) { >- $template->param( removeSuccess => 1 ); >- } >- else { >- $template->param( removeFailure => 1 ); >- $template->param( failureMessage => $errorMessage ); >+ if ( $@ or not $deleted ) { >+ push @errors, { code => 'error_removing_item' }; >+ } else { >+ push @messages, { code => 'success_removing_item' }; > } > >+ $template->param( >+ removeChecked => 1, >+ ); > } > } > >-- >2.1.4
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 18606
:
63508
|
63509
|
63510
|
63511
|
63512
|
63513
|
63514
|
63515
|
63516
|
63517
|
63518
|
63519
|
63520
|
63521
|
63522
|
63523
|
63524
|
63525
|
63526
|
63527
|
63528
|
66227
|
66228
|
66229
|
66230
|
66231
|
66232
|
66233
|
66234
|
66235
|
66236
|
66237
|
66238
|
66239
|
66240
|
66241
|
66286
|
66287
|
66288
|
66289
|
66290
|
66291
|
66292
|
66293
|
66294
|
66295
|
66296
|
66297
|
66298
|
66299
|
66300
|
67734
|
67735
|
67736
|
67737
|
67738
|
67739
|
67740
|
67741
|
67742
|
67743
|
67744
|
67745
|
67746
|
67747
|
67748
|
67749
|
68428
|
68429
|
68430
|
68431
|
68432
|
68433
|
68434
|
68435
|
68436
|
68437
|
68438
|
68439
|
68440
|
68441
|
68442
|
68443
|
69709
|
69710
|
69711
|
69712
|
69713
|
69714
|
69715
|
69716
|
69717
|
69718
|
69719
|
69720
|
69721
|
69722
|
69723
|
69759
|
72416
|
72417
|
72418
|
72419
|
72420
|
72421
|
72422
|
72423
|
72424
|
72425
|
72426
|
72427
|
72428
|
72429
|
72430
|
72431
|
72572
|
72573
|
72574
|
72575
|
72576
|
72577
|
72578
|
72579
|
72580
|
72581
|
72582
|
72583
|
72584
|
72585
|
72586
|
72587
|
72816
|
79141
|
79142
|
79143
|
79144
|
79145
|
79146
|
79147
|
79148
|
79149
|
79150
|
79151
|
79152
|
79153
|
79154
|
79155
|
79156
|
79157
|
79158
|
79161