🐛Fix #229 — Invitation, error 500 when guest send file with special character

This commit is contained in:
Luc Didry 2020-11-24 23:44:58 +01:00
parent 154ecd6ebf
commit a1809c5673
No known key found for this signature in database
GPG Key ID: EA868E12D0257E3C
2 changed files with 6 additions and 4 deletions

View File

@ -1,6 +1,7 @@
Revision history for Lufi Revision history for Lufi
?.??.? ????-??-?? ?.??.? ????-??-??
- 🐛 Invitation, error 500 when guest send file with special character (#229)
0.05.8 2020-11-18 0.05.8 2020-11-18
- 🌐 Update translations - 🌐 Update translations

View File

@ -5,6 +5,7 @@ use Mojo::Collection 'c';
use Mojo::File; use Mojo::File;
use Mojo::JSON qw(true false decode_json encode_json); use Mojo::JSON qw(true false decode_json encode_json);
use Mojo::URL; use Mojo::URL;
use Mojo::Util qw(decode encode);
use Email::Valid; use Email::Valid;
use Lufi::DB::File; use Lufi::DB::File;
use Lufi::DB::Invitation; use Lufi::DB::Invitation;
@ -230,7 +231,7 @@ sub send_mail_to_ldap_user {
my $guest_files = $invitation->files; my $guest_files = $invitation->files;
my %list_token; my %list_token;
if ($guest_files) { if ($guest_files) {
$guest_files = decode_json($guest_files); $guest_files = decode_json(encode 'UTF-8', $guest_files);
for my $file (@{$guest_files}) { for my $file (@{$guest_files}) {
$list_token{$file->{token}} = 1; $list_token{$file->{token}} = 1;
} }
@ -240,17 +241,17 @@ sub send_mail_to_ldap_user {
push @files, @{$guest_files}; push @files, @{$guest_files};
$urls->each(sub { $urls->each(sub {
my ($e, $num) = @_; my ($e, $num) = @_;
$e = decode_json($e); $e = decode_json(encode 'UTF-8', $e);
if (!defined($list_token{$e->{token}})) { if (!defined($list_token{$e->{token}})) {
push @{$guest_files}, $e; push @{$guest_files}, $e;
push @files, $e; push @files, $e;
} }
}); });
$invitation->files(encode_json($guest_files)); $invitation->files(decode 'UTF-8', encode_json($guest_files));
$invitation->write; $invitation->write;
} else { } else {
$urls->each(sub { $urls->each(sub {
push @files, decode_json(shift); push @files, decode_json(encode 'UTF-8', shift);
}); });
} }
my $already_notified = 1; my $already_notified = 1;