Existing code snippet:
if sup_usr_only:
query_ob = query_ob.filter(
or_(
and_(
Department.id.in_(login_user.department_ids),
model.visibility == VISIBLE_DEPT
),
and_(
model.visibility == VISIBLE_COMPANY,
model.company_id == login_user.company_id
))
)
else:
query_ob = query_ob.filter(
or_(
and_(
Department.id.in_(login_user.department_ids),
model.visibility == VISIBLE_DEPT
),
model.visibility == VISIBLE_GLOBAL,
and_(
model.visibility == VISIBLE_COMPANY,
model.company_id == login_user.company_id
))
)
If there is a way so that I can minimize a piece of code in a line, if validation or any other optimization? Want to do this as shown below (which is syntactically incorrect):
query_ob = query_ob.filter(
or_(
and_(
Department.id.in_(login_user.department_ids),
model.visibility == VISIBLE_DEPT
),
model.visibility == VISIBLE_GLOBAL if not sup_usr_only,
and_(
model.visibility == VISIBLE_COMPANY,
model.company_id == login_user.company_id
))
)
source
share