From 39d6f927e6c2db7dca8c33d0bff1d768ce024b16 Mon Sep 17 00:00:00 2001 From: Kevin Morris Date: Sat, 5 Feb 2022 03:42:43 -0800 Subject: [PATCH] fix: Maintainer, Co-maintainer /package search Signed-off-by: Kevin Morris --- aurweb/packages/search.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/aurweb/packages/search.py b/aurweb/packages/search.py index 60a5547e..01b0e154 100644 --- a/aurweb/packages/search.py +++ b/aurweb/packages/search.py @@ -130,15 +130,15 @@ class PackageSearch: def _search_by_co_or_maintainer(self, keywords: str) -> orm.Query: self._join_user() - exists_subq = db.query(PackageComaintainer).join(User).filter( - and_(PackageComaintainer.PackageBaseID == PackageBase.ID, - User.Username == keywords) - ).exists() - self.query = self.query.filter( - or_(and_(User.Username == keywords, - User.ID == PackageBase.MaintainerUID), - db.query(exists_subq).scalar_subquery()) - ) + + user = db.query(User).filter(User.Username == keywords).first() + uid = 0 if not user else user.ID + self.query = self.query.join( + PackageComaintainer, + PackageComaintainer.PackageBaseID == PackageBase.ID, + isouter=True + ).filter(or_(PackageComaintainer.UsersID == uid, User.ID == uid)) + return self def _search_by_submitter(self, keywords: str) -> orm.Query: