Bug 34870: Perform UTF8 encoding before redirection
authoremilyrose <emily-rose.francoeur@inLibro.com>
Fri, 22 Sep 2023 15:58:23 +0000 (11:58 -0400)
committerMatt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Tue, 17 Oct 2023 17:23:41 +0000 (17:23 +0000)
commit34b12abe98932cacaadf32ab4d70eb7e4d386cdd
tree403e9dcb20f6abc201b914bbbe4d82549543d7c5
parent8f5d86f356ccfc229617b26dc359efaabb28a05d
Bug 34870: Perform UTF8 encoding before redirection

Display special characters correctly when writing off an invoice.

The issue arises because pay.pl does not perform UTF-8 encoding on the “notes” parameter before redirecting the page. By using uri_escape_utf8, characters with a code above 255 are also UTF-8 encoded. Then, paycollect.pl can collect the information without any trouble.

This patch work with “;” and “:” characters.

TEST PLAN
1) Go to any patron profile > Accounting
2) Click “Create manual invoice”
3) Fill the fields and click the “Save” button
4) Repeat steps 2 and 3
5) Click “Make a payment”
6) Add a note with special characters for each one (e.g., éçö)
7) Select the created invoices and click the “Write off selected” button
8) In the note field, you should see “�” symbols where the special characters are supposed to be
9) Click the “Cancel” button
10) Now add a note with “:;” for one of the invoices
11) Select the invoices and click the “Write off selected” button
12) You should see a page with an error 500
13) Go back to the “Make a payment” page
14) Apply the patch
15) Add a note with special characters for each one (e.g., éçö)
16) Add “:;” to one of the note fields
17) Select the invoices and click the “Write off selected” button
18) Now the special characters are displayed correctly

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 1c016176341be0197d1978e3b4ee0e6c5136c319)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
(cherry picked from commit eea0310a620a333eb738146321ff4e19c88a5c3e)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
members/pay.pl