Koha-clms/opac
Fridolin Somers f09fbab4c8 Bug 20953: Prevent several discharge requests on OPAC
On OPAC, a user can requested a discharge even if one is already pending.
This generates several pending discharges in staff interface that can not be deleted.

This is because request operation leads to page 'opac-discharge.pl?op=request' and user can refresh this page performing a new request.

Perl code must check that operation is allowed.

Patch reoganised the code so that the following FIXME is obsolete :
  'FIXME looks like $available is not needed'
Patch also replaces 'op' arg test to also check undef : input->param("op") // ''

Test plan :
1) Set system preference 'useDischarge' to 'Allow'
2) Choose a patron without checkouts nor fines nor restrictions
3) Log at OPAC and go to patron page /cgi-bin/koha/opac-user.pl
4) Click on 'ask for a discharge' tab
   => You see /cgi-bin/koha/opac-discharge.pl
      with text 'What is a discharge? ...'
5) Click on 'Ask for a discharge' link
   => You see /cgi-bin/koha/opac-discharge.pl?op=request
      with text 'Your discharge request has been sent ...'
6) In a new browser tab/page, go to intranet on /cgi-bin/koha/members/discharges.pl
   => You see one discharge requets for the patron
7) Come back to OPAC and refresh page
   => You see /cgi-bin/koha/opac-discharge.pl
   with text 'Your discharge will be available on this page within a few days.'
8) Come back to intranet and refresh /cgi-bin/koha/opac-discharge.pl
   => There is still one requets for the patron
9) Come back to OPAC and enter URL /cgi-bin/koha/opac-discharge.pl?op=get
   => You see /cgi-bin/koha/opac-discharge.pl
      with text 'Your discharge will be available on this page within a few days.'
10) Come back to intranet and refresh /cgi-bin/koha/opac-discharge.pl
   => There is still one requets for the patron
11) Click on 'allow' on patron discharge request
12) Come back to OPAC and refresh /cgi-bin/koha/opac-discharge.pl
    => You see link 'Get your discharge'
13) enter URL /cgi-bin/koha/opac-discharge.pl?op=request
    => You see same page and no new discharge requets is created
14) Come back to intranet on patron details page
15) Remove the discharge restriction
16) Come back to OPAC and refresh /cgi-bin/koha/opac-discharge.pl
    => You see text 'What is a discharge?...'
17) enter URL /cgi-bin/koha/opac-discharge.pl?op=get
    => You see same page and no new discharge requets is created

Signed-off-by: Charles Farmer <charles.farmer@inLibro.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 0c07cc533b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2018-07-30 14:30:16 +02:00
..
clubs Bug 12461 - Add patron clubs feature 2017-04-28 08:37:44 -04:00
errors Bug 15288: Error pages: Code duplication removal and better translatability 2016-01-27 05:57:34 +00:00
external/overdrive bug_16034 Koha::ExternalContent::OverDrive - a wrapper around WebService::ILS::Overdrive::Patron 2017-02-21 19:58:20 +00:00
rss
…
sco Bug 17989: Final changes 2017-11-01 13:10:18 -03:00
svc Bug 18915: Renaming svc/patron_notes to svc/checkout_notes 2018-01-23 01:26:28 +00:00
ilsdi.pl Bug 13990: ILS-DI LookupPatron requires ID Type 2018-02-02 15:04:08 +00:00
maintenance.pl Bug 17989: Include full path logic in _get_template_file 2017-11-01 13:10:17 -03:00
oai.pl Bug 14939: Modularize OAI Server existing classes 2015-12-31 15:15:05 +00:00
opac-ISBDdetail.pl Bug 4319: (QA follow-up) Rename hasItemswaitingOrInTransit to has_items_waiting_or_intransit 2018-02-22 01:05:02 +00:00
opac-MARCdetail.pl Bug 4319: (QA follow-up) Rename hasItemswaitingOrInTransit to has_items_waiting_or_intransit 2018-02-22 01:05:02 +00:00
opac-account-pay-paypal-return.pl Bug 17829: Move GetMember to Koha::Patron 2017-07-10 13:14:19 -03:00
opac-account-pay-return.pl Bug 19173: Make OPAC online payments pluggable 2017-09-19 14:15:52 -03:00
opac-account-pay.pl Bug 19173: Make OPAC online payments pluggable 2017-09-19 14:15:52 -03:00
opac-account.pl Bug 19173: Add opac payment and marc conversion plugins to the pulldown filter list 2017-09-19 14:15:52 -03:00
opac-addbybiblionumber.pl Bug 18262: Koha::Biblio - Remove GetBiblioData - part 1 2017-07-14 12:22:23 -03:00
opac-alert-subscribe.pl Bug 10357: Do not change the alerttype 2017-04-21 10:58:33 -04:00
opac-article-request-cancel.pl Bug 14610 - Add and update scripts 2016-10-26 12:15:14 +00:00
opac-authorities-home.pl Bug 18204 - Authority searches are not saved in Search history 2017-05-28 22:12:01 -04:00
opac-authoritiesdetail.pl Bug 18149: Move CountUsage calls to Koha namespace 2017-09-19 11:47:32 -03:00
opac-basket.pl Bug 19040: Refactor GetMarcBiblio parameters 2017-08-25 10:23:42 -03:00
opac-blocked.pl
…
opac-browser.pl Bug 17843: Replace C4::Koha::getitemtypeinfo with Koha::ItemTypes 2017-07-05 13:42:21 -03:00
opac-changelanguage.pl Bug 18946 [QA Followup] - code cleanup 2017-09-01 13:02:26 -03:00
opac-course-details.pl
…
opac-course-reserves.pl
…
opac-detail.pl Bug 4319: (QA follow-up) Rename hasItemswaitingOrInTransit to has_items_waiting_or_intransit 2018-02-22 01:05:02 +00:00
opac-discharge.pl Bug 20953: Prevent several discharge requests on OPAC 2018-07-30 14:30:16 +02:00
opac-downloadcart.pl Bug 19040: Refactor GetMarcBiblio parameters 2017-08-25 10:23:42 -03:00
opac-downloadshelf.pl Bug 19040: Refactor GetMarcBiblio parameters 2017-08-25 10:23:42 -03:00
opac-export.pl Bug 19040: Refactor GetMarcBiblio parameters 2017-08-25 10:23:42 -03:00
opac-ics.pl Bug 5456 - Create a link to opac-ics.pl 2016-09-02 15:55:32 +00:00
opac-idref.pl Bug 19640: fix OPAC IdRef webservice display 2017-12-14 11:07:25 +00:00
opac-illrequests.pl Bug 20536: (ILL) authnotrequired should be explicitly unset on opac 2018-05-14 19:30:21 +00:00
opac-image.pl Bug 16154: CGI->multi_param - Manual changes 2016-04-26 23:16:43 +00:00
opac-imageviewer.pl Bug 18260: Koha::Biblio - Remove GetBiblio 2017-07-10 13:03:38 -03:00
opac-issue-note.pl Bug 18915: Fix checkout note email message 2018-01-23 01:25:05 +00:00
opac-main.pl Bug 12001: [17.11.X] Remove simple calls to GetMemberAccountRecords 2018-07-26 12:39:15 +02:00
opac-memberentry.pl Bug 19911: Do not escape html characters when saving passwords 2018-01-23 01:16:14 +00:00
opac-messaging.pl Bug 17829: Move GetMember to Koha::Patron 2017-07-10 13:14:19 -03:00
opac-modrequest-suspend.pl
…
opac-modrequest.pl Bug 19059: Move C4::Reserves::CancelReserve to Koha::Hold->cancel 2017-09-12 12:42:58 -03:00
opac-mymessages.pl
…
opac-news-rss.pl Bug 16447: Remove occurrence of the borrow permission which does no longer exist 2016-05-05 21:28:14 +00:00
opac-overdrive-search.pl Bug 18632: Remove 'CGI::param called in list context' warnings 2017-05-28 22:25:22 -04:00
opac-passwd.pl Bug 18298: Add server-side checks and refactor stuffs 2017-10-16 09:44:32 -03:00
opac-password-recovery.pl Bug 18956: Fix empty to in message queue 2017-10-27 13:57:10 -03:00
opac-patron-image.pl Bug 15635: Koha::Patron::Images - Remove GetPatronImage 2016-03-04 12:54:15 +00:00
opac-privacy.pl Bug 18169: Make 'before' param non mandatory for Koha::Patrons->anonymise_issue_history 2017-03-03 18:16:54 +00:00
opac-ratings-ajax.pl Bug 17089: Improve errors handling 2016-09-09 09:31:30 +00:00
opac-ratings.pl Bug 17089: Improve errors handling 2016-09-09 09:31:30 +00:00
opac-readingrecord.pl Bug 17829: Move GetMember to Koha::Patron 2017-07-10 13:14:19 -03:00
opac-registration-verify.pl Bug 17829: Move GetMember to Koha::Patron 2017-07-10 13:14:19 -03:00
opac-renew.pl Bug 18572 - QA Followup 2017-07-24 13:38:31 -03:00
opac-request-article.pl Bug 14610 - Add and update scripts 2016-10-26 12:15:14 +00:00
opac-reserve.pl Bug 12001: [17.11.X] Remove simple calls to GetMemberAccountRecords 2018-07-26 12:39:15 +02:00
opac-restrictedpage.pl Bug 16447: Remove occurrence of the borrow permission which does no longer exist 2016-05-05 21:28:14 +00:00
opac-retrieve-file.pl Bug 17501: Move getCategories and httpheaders from Upload.pm 2017-01-20 14:20:05 +00:00
opac-review.pl Bug 19843: (bug 15839 follow-up) Set reviews.datereviewed when the review is made 2017-12-22 11:05:38 +00:00
opac-search-history.pl Bug 12497: Fix OPAC search history reachable by URL even when disabled 2017-12-14 12:04:17 +00:00
opac-search.pl Bug 19502: Retrieve index.max_result_window from ES 2018-07-30 14:14:25 +02:00
opac-sendbasket.pl Bug 18975: Retrieve up-to-date CGISESSID when just logged in 2018-02-22 01:11:57 +00:00
opac-sendshelf.pl Bug 19040: Refactor GetMarcBiblio parameters 2017-08-25 10:23:42 -03:00
opac-serial-issues.pl Bug 10357: Do not change the alerttype 2017-04-21 10:58:33 -04:00
opac-shareshelf.pl Bug 20687: (follow-up) Look for invitekey in show_accept and fix error codes 2018-05-22 10:27:12 +00:00
opac-shelves.pl Bug 19298: Placing a hold from a list at the OPAC should respect issuing rules 2017-10-25 12:14:39 -03:00
opac-showmarc.pl Bug 20083: Follow up - use same logic in opac-showmarc 2018-03-26 15:19:26 +00:00
opac-showreviews.pl Bug 19808: Handle deleted reviewers gracefully - opac-showreview 2017-12-21 16:06:54 +00:00
opac-suggestions.pl Bug 20763: Remove unecessary Koha::Patron fetch 2018-06-07 09:16:27 +02:00
opac-tags.pl Bug 19040: Refactor GetMarcBiblio parameters 2017-08-25 10:23:42 -03:00
opac-tags_subject.pl Bug 17843: Replace C4::Koha::getitemtypeinfo with Koha::ItemTypes 2017-07-05 13:42:21 -03:00
opac-topissues.pl Bug 17835: Replace GetItemTypes with Koha::ItemTypes 2017-04-14 10:43:51 -04:00
opac-user.pl Bug 12001: [17.11.X] Remove simple calls to GetMemberAccountRecords 2018-07-26 12:39:15 +02:00
tracklinks.pl Bug 20218: Fix matching of uri in tracklinks 2018-03-23 10:30:01 +00:00
unapi Bug 19439: (follow-up) Remove four spaces from lines 133-149 2017-12-14 18:08:36 +00:00