Browse Source

Latest operations now show every documents that user can read

sferot 10 years ago
parent
commit
708a9bed1b
1 changed files with 7 additions and 1 deletions
  1. 7 1
      pboard/pboard/lib/dbapi.py

+ 7 - 1
pboard/pboard/lib/dbapi.py View File

@@ -236,7 +236,13 @@ class PODUserFilteredApiController(object):
236 236
     Returns a list of nodes order by modification time and limited to piMaxNodeNb nodes
237 237
     """
238 238
     liOwnerIdList = self._getUserIdListForFiltering()
239
-    return pbm.DBSession.query(pbmd.PBNode).options(joinedload_all("_lAllChildren")).filter(pbmd.PBNode.owner_id.in_(liOwnerIdList)).order_by(pbmd.PBNode.updated_at.desc()).limit(piMaxNodeNb).all()
239
+    return pbm.DBSession.query(pbmd.PBNode)\
240
+        .outerjoin(pbma.Rights)\
241
+        .outerjoin(pbma.user_group_table, pbma.Rights.group_id==pbma.user_group_table.columns['group_id'])\
242
+        .options(joinedload_all("_lAllChildren"))\
243
+        .filter((pbmd.PBNode.owner_id.in_(liOwnerIdList)) | ((pbma.user_group_table.c.user_id.in_(liOwnerIdList)) & (pbmd.PBNode.is_shared == True)))\
244
+        .order_by(pbmd.PBNode.updated_at.desc())\
245
+        .limit(piMaxNodeNb).all()
240 246
 
241 247
 
242 248
   def getListOfAllowedNodes(self, reset_cache=False) -> pbmd.PBNode: