diff options
author | Yorhel <git@yorhel.nl> | 2020-02-28 10:13:27 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2020-02-28 10:13:30 +0100 |
commit | 486ce0910818ea4b8bc7ef42592915c775f1f45f (patch) | |
tree | aa03d4197adb7c8502410f1b53bed275ece31870 /lib/VNDB/Handler/Chars.pm | |
parent | 5d56f2db22573fa91637c5c5f50f9184b40d8701 (diff) |
Handler::Chars: don't automatically remove non-applicable traits when editing
Diffstat (limited to 'lib/VNDB/Handler/Chars.pm')
-rw-r--r-- | lib/VNDB/Handler/Chars.pm | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/VNDB/Handler/Chars.pm b/lib/VNDB/Handler/Chars.pm index a7a8d801..54a3adf9 100644 --- a/lib/VNDB/Handler/Chars.pm +++ b/lib/VNDB/Handler/Chars.pm @@ -283,7 +283,9 @@ sub edit { $frm->{main_spoil} = 0 if !$frm->{main}; @traits = sort { $a->[0] <=> $b->[0] } map /^(\d+)-(\d+)$/&&[$1,$2], split / /, $frm->{traits}; - my %traits = @traits ? map +($_->{id}, 1), @{$self->dbTraitGet(results => 500, state => 2, applicable => 1, id => [ map $_->[0], @traits ])} : (); + my %traits = !@traits ? () : map +($_, 1), + (map $_->{id}, @{$self->dbTraitGet(results => 500, state => 2, applicable => 1, id => [ map $_->[0], @traits ])}), + ($id ? map $_->{tid}, @{$r->{traits}} : ()); @traits = grep $traits{$_->[0]}, @traits; $frm->{traits} = join(' ', map sprintf('%d-%d', @$_), @traits); |