From 6b5cab9e5e448f7aa06f08ae4a4d0da8bac3497c Mon Sep 17 00:00:00 2001 From: Owen Leonard <oleonard@myacpl.org> Date: Fri, 24 Apr 2020 14:48:21 +0000 Subject: [PATCH] Bug 25280: Use modal confirmation when removing share from a list in the OPAC This patch updates the process of removing a share from a list in the OPAC so that the confirmation request shown to the user is a Bootstrap modal instead of a plain JavaScript confirm dialog. To test you should have the OpacAllowSharingPrivateLists enabled. - Log in to the OPAC as a user who has multiple private lists. - Share two or more lists with another user in the system. - Accept the list shares on behalf of the other user and log in to the OPAC as that user. - In the list of that user's lists, test the process of removing a share: - Clicking "Remove share" should trigger a modal which asks if you want to remove sharing. It should show the name of the list in question. - Test the funcionality of both the "No" and "Yes" options. - Confirm that the "Remove share" button works correctly for any of multiple lists. --- .../opac-tmpl/bootstrap/en/modules/opac-shelves.tt | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt index a352cbc5a7..5edec600bf 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt @@ -699,12 +699,13 @@ <a href="/cgi-bin/koha/opac-shareshelf.pl?op=invite&shelfnumber=[% s.shelfnumber | uri %]" class="sharelist btn btn-link"><i class="fa fa-share"></i> Share</a> [% END %] [% IF s.is_shared_with( loggedinusernumber ) %] - <form action="opac-shelves.pl" method="post" class="form-inline"> + <form action="opac-shelves.pl" method="post" id="unshare[% s.shelfnumber | html %]" class="form-inline"> <input type="hidden" name="op" value="remove_share" /> <input type="hidden" name="referer" value="list" /> <input type='hidden' name='category' value='[% category | html %]' /> <input type="hidden" name="shelfnumber" value="[% s.shelfnumber | html %]" /> - <input type="submit" class="deleteshelf" onclick="return confirmDelete(MSG_CONFIRM_REMOVE_SHARE);" value="Remove share" /> + <button type="submit" class="btn btn-link remove remove_share" + data-shelfname="[% s.shelfname | html %]" data-shelfnumber="[% s.shelfnumber | html %]"><i class="fa fa-remove" aria-hidden="true"></i> Remove share</button> </form> [% END %] </td> @@ -964,6 +965,18 @@ $(function() { }); [% END %] + $(".remove_share").on("click", function(e){ + e.preventDefault(); + var shelf_name = $(this).data("shelfname"); + var shelf_number = $(this).data("shelfnumber"); + confirmModal( shelf_name, _("Are you sure you want to remove sharing? You will no longer have access to the list."), _("Yes, remove sharing"), _("No, do not remove sharing"), function( result ){ + if( result ){ + $("#unshare" + shelf_number ).submit(); + } + } + ); + }); + }); // document.ready function sortMenu( sorting_form ){ -- 2.11.0