From a1809c5673d72eb71e0cad905868b49b27bd6247 Mon Sep 17 00:00:00 2001 From: Luc Didry Date: Nov 24 2020 22:56:48 +0000 Subject: 🐛 — Fix #229 — Invitation, error 500 when guest send file with special character --- diff --git a/CHANGELOG b/CHANGELOG index b180b0f..51bd26b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ Revision history for Lufi ?.??.? ????-??-?? + - 🐛 Invitation, error 500 when guest send file with special character (#229) 0.05.8 2020-11-18 - 🌐 Update translations diff --git a/lib/Lufi/Controller/Invitation.pm b/lib/Lufi/Controller/Invitation.pm index fca4cb3..22ee695 100644 --- a/lib/Lufi/Controller/Invitation.pm +++ b/lib/Lufi/Controller/Invitation.pm @@ -5,6 +5,7 @@ use Mojo::Collection 'c'; use Mojo::File; use Mojo::JSON qw(true false decode_json encode_json); use Mojo::URL; +use Mojo::Util qw(decode encode); use Email::Valid; use Lufi::DB::File; use Lufi::DB::Invitation; @@ -230,7 +231,7 @@ sub send_mail_to_ldap_user { my $guest_files = $invitation->files; my %list_token; if ($guest_files) { - $guest_files = decode_json($guest_files); + $guest_files = decode_json(encode 'UTF-8', $guest_files); for my $file (@{$guest_files}) { $list_token{$file->{token}} = 1; } @@ -240,17 +241,17 @@ sub send_mail_to_ldap_user { push @files, @{$guest_files}; $urls->each(sub { my ($e, $num) = @_; - $e = decode_json($e); + $e = decode_json(encode 'UTF-8', $e); if (!defined($list_token{$e->{token}})) { push @{$guest_files}, $e; push @files, $e; } }); - $invitation->files(encode_json($guest_files)); + $invitation->files(decode 'UTF-8', encode_json($guest_files)); $invitation->write; } else { $urls->each(sub { - push @files, decode_json(shift); + push @files, decode_json(encode 'UTF-8', shift); }); } my $already_notified = 1;