From ed38ee90383e2726c116d7533c622f5c553e09de Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Mar 17 2015 17:19:48 +0000 Subject: Use an alias on the User table to support filtering by author and assignee Fixes http://209.132.184.222/progit/issue/59 --- diff --git a/progit/lib/__init__.py b/progit/lib/__init__.py index 8b3de6b..767a8f6 100644 --- a/progit/lib/__init__.py +++ b/progit/lib/__init__.py @@ -19,6 +19,7 @@ import sqlalchemy import sqlalchemy.schema from datetime import timedelta from sqlalchemy import func +from sqlalchemy.orm import aliased from sqlalchemy.orm import sessionmaker from sqlalchemy.orm import scoped_session from sqlalchemy.orm.exc import NoResultFound @@ -736,10 +737,11 @@ def search_issues( ) if assignee is not None: if str(assignee).lower() not in ['false', '0', 'true', '1']: + user2 = aliased(model.User) query = query.filter( - model.Issue.assignee_id == model.User.id + model.Issue.assignee_id == user2.id ).filter( - model.User.user == assignee + user2.user == assignee ) elif str(assignee).lower() in ['true', '1']: query = query.filter(