|
@@ -180,12 +180,13 @@ class PODUserFilteredApiController(object):
|
180
|
180
|
for keyword in plKeywordList:
|
181
|
181
|
loKeywordFilteringClauses.append(pbmd.PBNode.data_label.ilike('%'+keyword+'%'))
|
182
|
182
|
loKeywordFilteringClauses.append(pbmd.PBNode.data_content.ilike('%'+keyword+'%'))
|
|
183
|
+ loKeywordFilteringClauses.append(pbmd.PBNode.data_file_name.ilike('%'+keyword+'%'))
|
183
|
184
|
|
184
|
185
|
loKeywordFilteringClausesAsOr = sqla.or_(*loKeywordFilteringClauses) # Combine them with or to a BooleanClauseList
|
185
|
186
|
|
186
|
|
- loResultsForSomeKeywords = DBSession.query(pbmd.PBNode).options(joinedload_all("_lAllChildren"))\
|
|
187
|
+ loResultsForSomeKeywords = DBSession.query(pbmd.PBNode).options(joinedload_all("_lAllChildren")).join(pbma.Rights).join(pbma.user_group_table, pbma.Rights.group_id==pbma.user_group_table.columns['group_id'])\
|
187
|
188
|
.filter(loKeywordFilteringClausesAsOr)\
|
188
|
|
- .filter(pbmd.PBNode.owner_id.in_(liOwnerIdList))\
|
|
189
|
+ .filter((pbmd.PBNode.owner_id.in_(liOwnerIdList)) | (pbma.user_group_table.c.user_id.in_(liOwnerIdList) & pbmd.PBNode.is_shared))\
|
189
|
190
|
.order_by(sqla.desc(pbmd.PBNode.node_type))\
|
190
|
191
|
.limit(piMaxNodeNb)\
|
191
|
192
|
.all()
|