summaryrefslogtreecommitdiff
path: root/lib/VNWeb
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2021-01-03 10:45:26 +0100
committerYorhel <git@yorhel.nl>2021-01-03 10:45:28 +0100
commitceea93df7af8b17513a399a5a1c903bb66c7ad61 (patch)
treee1ea775b60a660ed43aac6357571086b359bd1b2 /lib/VNWeb
parent65e36750ec6ed95d82529146887dd82b2e9dde1c (diff)
AdvSearch: Only autocomplete referenced anime
Fixes https://vndb.org/t14995.53 point 1
Diffstat (limited to 'lib/VNWeb')
-rw-r--r--lib/VNWeb/Misc/ElmAnime.pm8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/VNWeb/Misc/ElmAnime.pm b/lib/VNWeb/Misc/ElmAnime.pm
index 97260dd4..7910e18e 100644
--- a/lib/VNWeb/Misc/ElmAnime.pm
+++ b/lib/VNWeb/Misc/ElmAnime.pm
@@ -2,8 +2,9 @@ package VNWeb::Misc::ElmAnime;
use VNWeb::Prelude;
-elm_api Anime => undef, { search => {} }, sub {
- my $q = shift->{search};
+elm_api Anime => undef, { search => {}, ref => { anybool => 1 } }, sub {
+ my($d) = @_;
+ my $q = $d->{search};
my $qs = sql_like $q;
elm_AnimeResult tuwf->dbPagei({ results => 15, page => 1 },
@@ -14,7 +15,8 @@ elm_api Anime => undef, { search => {} }, sub {
sql('SELECT 1+substr_score(lower(title_romaji),', \$qs, '), id FROM anime WHERE title_romaji ILIKE', \"%$qs%"),
sql('SELECT 10+substr_score(lower(title_kanji),', \$qs, '), id FROM anime WHERE title_kanji ILIKE', \"%$qs%"),
), ') x(prio, id)
- JOIN anime a ON a.id = x.id
+ JOIN anime a ON a.id = x.id',
+ $d->{ref} ? 'WHERE EXISTS(SELECT 1 FROM vn_anime va WHERE va.aid = a.id)' : (), '
GROUP BY a.id, a.title_romaji, a.title_kanji
ORDER BY MIN(x.prio), a.title_romaji
');