Browse Source

search take file name and share/rights in account

sferot 10 years ago
parent
commit
199c03029f
1 changed files with 3 additions and 2 deletions
  1. 3 2
      pboard/pboard/lib/dbapi.py

+ 3 - 2
pboard/pboard/lib/dbapi.py View File

@@ -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()