Bugzilla – Attachment 22093 Details for
Bug 7791
Deleting basket should not delete all existing orders without warning
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 7791 Followup: add warning after deletion if some records were not deleted
Bug-7791-Followup-add-warning-after-deletion-if-so.patch (text/plain), 8.71 KB, created by
Chris Cormack
on 2013-10-20 18:27:08 UTC
(
hide
)
Description:
Bug 7791 Followup: add warning after deletion if some records were not deleted
Filename:
MIME Type:
Creator:
Chris Cormack
Created:
2013-10-20 18:27:08 UTC
Size:
8.71 KB
patch
obsolete
>From b7e6816936979ed58b2ffb2e3459acef182a1313 Mon Sep 17 00:00:00 2001 >From: Mathieu Saby <mathieu.saby@univ-rennes2.fr> >Date: Fri, 18 Oct 2013 11:44:39 +0200 >Subject: [PATCH] Bug 7791 Followup: add warning after deletion if some records > were not deleted > >This followup add some warnings after deletion if some items were not deleted. >4 types of messages are possible : >- x item(s) attached. >- x subscription(s) attached. >- x order(s) attached. >- Unknown error. > >To test : >test a >1. create a basket with >- an order using a record A which has already an item, which is used in a subscription, and in other order (in an other basket) >- an order using a record B used nowhere elese >2. click on "Delete basket" >3. choose button "Delete basket, orders and records" >4. you must see a page anouncing basket deletion, and that record A was not deleted because of its item, subscription and order. >5. check the link around the title of record B takes you to the record >6. check the link under the warning box ("Click here to go back to booksellers page") takes you to booksellers page >5. check record B is deleted > >test b >1. suppress the subscription linked with record A >2. create an other basket using record A >3. delete the basket on the same way as for test a >4. you must see a page anouncing basket deletion, and that record A was not deleted because of its item and order > >test c >1. suppress the item attached under record A >2. create an other basket using record A >3. delete the basket on the same way as for test a >4. you must see a page anouncing basket deletion, and that record A was not deleted because of its orderBug 7791 Followup: add warning after deletion if some > records were not deleted >Content-Type: text/plain; charset="utf-8" > >This followup add some warnings after deletion if some items were not deleted. >4 types of messages are possible : >- x item(s) attached. >- x subscription(s) attached. >- x order(s) attached. >- Unknown error. > >To test : >test a >1. create a basket with >- an order using a record A which has already an item, which is used in a subscription, and in other order (in an other basket) >- an order using a record B used nowhere elese >2. click on "Delete basket" >3. choose button "Delete basket, orders and records" >4. you must see a page anouncing basket deletion, and that record A was not deleted because of its item, subscription and order. >5. check the link around the title of record B takes you to the record >6. check the link under the warning box ("Click here to go back to booksellers page") takes you to booksellers page >5. check record B is deleted > >test b >1. suppress the subscription linked with record A >2. create an other basket using record A >3. delete the basket on the same way as for test a >4. you must see a page anouncing basket deletion, and that record A was not deleted because of its item and order > >test c >1. suppress the item attached under record A >2. create an other basket using record A >3. delete the basket on the same way as for test a >4. you must see a page anouncing basket deletion, and that record A was not deleted because of its order > >Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> >--- > acqui/basket.pl | 22 ++++++++++++++++++-- > .../intranet-tmpl/prog/en/modules/acqui/basket.tt | 24 ++++++++++++++++++++-- > 2 files changed, 42 insertions(+), 4 deletions(-) > >diff --git a/acqui/basket.pl b/acqui/basket.pl >index 02a36a7..4ae9488 100755 >--- a/acqui/basket.pl >+++ b/acqui/basket.pl >@@ -105,14 +105,32 @@ if ( $op eq 'delete_confirm' ) { > } > # if $delbiblio = 1, delete the records if possible > if ((defined $delbiblio)and ($delbiblio ==1)){ >+ my @cannotdelbiblios ; > foreach my $myorder (@orders){ > my $biblionumber = $myorder->{'biblionumber'}; > my $countbiblio = CountBiblioInOrders($biblionumber); > my $ordernumber = $myorder->{'ordernumber'}; >- my @subscriptions = GetSubscriptionsId ($biblionumber); >+ my $subscriptions = scalar GetSubscriptionsId ($biblionumber); > my $itemcount = GetItemsCount($biblionumber); >- DelBiblio($myorder->{biblionumber}) if ($countbiblio == 0 && $itemcount == 0 && !(@subscriptions)); >+ my $error; >+ if ($countbiblio == 0 && $itemcount == 0 && $subscriptions == 0) { >+ $error = DelBiblio($myorder->{biblionumber}) } >+ else { >+ push @cannotdelbiblios, {biblionumber=> ($myorder->{biblionumber}), >+ title=> $myorder->{'title'}, >+ author=> $myorder->{'author'}, >+ countbiblio=> $countbiblio, >+ itemcount=>$itemcount, >+ subscriptions=>$subscriptions}; >+ } >+ if ($error) { >+ push @cannotdelbiblios, {biblionumber=> ($myorder->{biblionumber}), >+ title=> $myorder->{'title'}, >+ author=> $myorder->{'author'}, >+ othererror=> $error}; >+ } > } >+ $template->param( cannotdelbiblios => \@cannotdelbiblios ); > } > # delete the basket > DelBasket($basketno,); >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt >index dec4890..4e17957 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt >@@ -173,11 +173,11 @@ > <p>Warning:</p> > <p>All orders of this basket will be cancelled and used funds will be refunded.</p> > <p>If items have been created when ordering or receiving, they will be deleted.</p> >- <p>You can choose to delete records if possible (if they don't have any item attached, any subscription and are not used in any other order).</p> >+ <p>You can choose to delete records if possible (records with some items, used in a subscription, or an other order will not be deleted).</p> > </div> > <div class="modal-footer"> > <button type="button" class="btn btn-primary" data-dismiss="modal">Cancel</button> >- <button type="submit" class="btn btn-default" onclick="delete_basket([% basketno %],[% booksellerid %],0); return false;" >Delete basket and orders</button> >+ <button type="submit" class="btn btn-default" onclick="delete_basket([% basketno %],[% booksellerid %],0); return false;">Delete basket and orders</button> > <button type="submit" class="btn btn-default" onclick="delete_basket([% basketno %],[% booksellerid %],1); return false;">Delete basket, orders and records</button> > </div> > [% END %] >@@ -198,7 +198,27 @@ > [% ELSE %] > [% IF ( delete_confirmed ) %] > <h3>Basket deleted</h3> >+ [% IF (cannotdelbiblios) %] >+ <div class="dialog alert"> >+ <p><strong>Warning:</strong></p> >+ <p><strong>The following records could not be deleted:</strong></p> >+ <ul> >+ [% FOREACH cannotdelbiblio IN cannotdelbiblios %] >+ <li><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% cannotdelbiblio.biblionumber %]">[% cannotdelbiblio.title |html %]</a> by [% cannotdelbiblio.author %]: >+ <ul> >+ [% IF (cannotdelbiblio.itemcount) %]<li>[% cannotdelbiblio.itemcount %] item(s) attached.</li>[% END %] >+ [% IF (cannotdelbiblio.subscriptions) %]<li>[% cannotdelbiblio.subscriptions %] subscription(s) attached.</li>[% END %] >+ [% IF (cannotdelbiblio.countbiblio) %]<li>[% cannotdelbiblio.countbiblio %] order(s) attached.</li>[% END %] >+ [% IF (cannotdelbiblio.othererror) %]<li>Unknown error.</li>[% END %] >+ </ul> >+ </li> >+ [% END %] >+ </ul> >+ </div> >+ <a href="booksellers.pl">Click here to go back to booksellers page</a> >+ [% ELSE %] > <META HTTP-EQUIV=Refresh CONTENT="0; url=booksellers.pl"> >+ [% END %] > [% ELSE %] > <h1>[% UNLESS ( basketno ) %]New [% END %][% IF ( delete_confirm ) %]Delete [% END %]Basket [% basketname|html %] ([% basketno %]) for <a href="supplier.pl?booksellerid=[% booksellerid %]">[% name|html %]</a></h1> > [% IF ( delete_confirm ) %] >-- >1.8.4.rc3
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 7791
:
21224
|
21225
|
21245
|
21246
|
21684
|
21969
|
22046
|
22091
|
22092
|
22093
|
22764
|
22765
|
22766