diff options
author | Yorhel <git@yorhel.nl> | 2019-06-26 12:49:55 +0200 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2019-06-26 12:49:55 +0200 |
commit | 5d98346cb7163557c55ff2c850a6362edb9772ba (patch) | |
tree | ed3bc27acdfda2e7191ae6c2f1b1948b7812c78a /lib/VNDB/Handler/Chars.pm | |
parent | 4d67310a2cb148925b6f8ba96a4fade124e83854 (diff) |
Traits: Split "meta" field into "searchable" and "applicable"
Diffstat (limited to 'lib/VNDB/Handler/Chars.pm')
-rw-r--r-- | lib/VNDB/Handler/Chars.pm | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/VNDB/Handler/Chars.pm b/lib/VNDB/Handler/Chars.pm index 46fc745c..814fce7b 100644 --- a/lib/VNDB/Handler/Chars.pm +++ b/lib/VNDB/Handler/Chars.pm @@ -351,17 +351,17 @@ sub edit { my(@traits, @vns); if(!$frm->{_err}) { # parse and normalize - @traits = sort { $a->[0] <=> $b->[0] } map /^(\d+)-(\d+)$/&&[$1,$2], split / /, $frm->{traits}; @vns = sort { $a->[0] <=> $b->[0] || $a->[1] <=> $b->[1] } map [split /-/], split / /, $frm->{vns}; - $frm->{traits} = join(' ', map sprintf('%d-%d', @$_), @traits); $frm->{vns} = join(' ', map sprintf('%d-%d-%d-%s', @$_), @vns); $frm->{ihid} = $frm->{ihid} ?1:0; $frm->{ilock} = $frm->{ilock}?1:0; $frm->{desc} = $self->bbSubstLinks($frm->{desc}); $frm->{main_spoil} = 0 if !$frm->{main}; - my %traits = @traits ? map +($_->{id}, 1), @{$self->dbTraitGet(results => 500, state => 2, id => [ map $_->[0], @traits ])} : (); + @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 ])} : (); @traits = grep $traits{$_->[0]}, @traits; + $frm->{traits} = join(' ', map sprintf('%d-%d', @$_), @traits); # check for changes my $same = $id && !grep +($frm->{$_}//'') ne ($b4{$_}//''), keys %b4; |