Merge "Add missing joins for account table"
This commit is contained in:
commit
4c2d2e8c6d
@ -122,16 +122,19 @@ def SearchParser():
|
|||||||
'''owner_term : OP_OWNER string'''
|
'''owner_term : OP_OWNER string'''
|
||||||
if p[2] == 'self':
|
if p[2] == 'self':
|
||||||
username = p.parser.username
|
username = p.parser.username
|
||||||
p[0] = gertty.db.account_table.c.username == username
|
p[0] = and_(gertty.db.change_table.c.account_key == gertty.db.account_table.c.key,
|
||||||
|
gertty.db.account_table.c.username == username)
|
||||||
else:
|
else:
|
||||||
p[0] = or_(gertty.db.account_table.c.username == p[2],
|
p[0] = and_(gertty.db.change_table.c.account_key == gertty.db.account_table.c.key,
|
||||||
gertty.db.account_table.c.email == p[2],
|
or_(gertty.db.account_table.c.username == p[2],
|
||||||
gertty.db.account_table.c.name == p[2])
|
gertty.db.account_table.c.email == p[2],
|
||||||
|
gertty.db.account_table.c.name == p[2]))
|
||||||
|
|
||||||
def p_reviewer_term(p):
|
def p_reviewer_term(p):
|
||||||
'''reviewer_term : OP_REVIEWER string'''
|
'''reviewer_term : OP_REVIEWER string'''
|
||||||
filters = []
|
filters = []
|
||||||
filters.append(gertty.db.approval_table.c.change_key == gertty.db.change_table.c.key)
|
filters.append(gertty.db.approval_table.c.change_key == gertty.db.change_table.c.key)
|
||||||
|
filters.append(gertty.db.approval_table.c.account_key == gertty.db.account_table.c.key)
|
||||||
if p[2] == 'self':
|
if p[2] == 'self':
|
||||||
username = p.parser.username
|
username = p.parser.username
|
||||||
filters.append(gertty.db.account_table.c.username == username)
|
filters.append(gertty.db.account_table.c.username == username)
|
||||||
@ -196,6 +199,7 @@ def SearchParser():
|
|||||||
elif op == '<=':
|
elif op == '<=':
|
||||||
filters.append(gertty.db.approval_table.c.value <= value)
|
filters.append(gertty.db.approval_table.c.value <= value)
|
||||||
if user is not None:
|
if user is not None:
|
||||||
|
filters.append(gertty.db.approval_table.c.account_key == gertty.db.account_table.c.key)
|
||||||
filters.append(
|
filters.append(
|
||||||
or_(gertty.db.account_table.c.username == user,
|
or_(gertty.db.account_table.c.username == user,
|
||||||
gertty.db.account_table.c.email == user,
|
gertty.db.account_table.c.email == user,
|
||||||
@ -259,10 +263,12 @@ def SearchParser():
|
|||||||
elif p[2] == 'abandoned':
|
elif p[2] == 'abandoned':
|
||||||
p[0] = gertty.db.change_table.c.status == 'ABANDONED'
|
p[0] = gertty.db.change_table.c.status == 'ABANDONED'
|
||||||
elif p[2] == 'owner':
|
elif p[2] == 'owner':
|
||||||
p[0] = gertty.db.account_table.c.username == username
|
p[0] = and_(gertty.db.change_table.c.account_key == gertty.db.account_table.c.key,
|
||||||
|
gertty.db.account_table.c.username == username)
|
||||||
elif p[2] == 'reviewer':
|
elif p[2] == 'reviewer':
|
||||||
filters = []
|
filters = []
|
||||||
filters.append(gertty.db.approval_table.c.change_key == gertty.db.change_table.c.key)
|
filters.append(gertty.db.approval_table.c.change_key == gertty.db.change_table.c.key)
|
||||||
|
filters.append(gertty.db.approval_table.c.account_key == gertty.db.account_table.c.key)
|
||||||
filters.append(gertty.db.account_table.c.username == username)
|
filters.append(gertty.db.account_table.c.username == username)
|
||||||
s = select([gertty.db.change_table.c.key], correlate=False).where(and_(*filters))
|
s = select([gertty.db.change_table.c.key], correlate=False).where(and_(*filters))
|
||||||
p[0] = gertty.db.change_table.c.key.in_(s)
|
p[0] = gertty.db.change_table.c.key.in_(s)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user