|
a/Allura/allura/model/discuss.py |
|
b/Allura/allura/model/discuss.py |
|
... |
|
... |
326 |
else:
|
326 |
else:
|
327 |
result.append(pi)
|
327 |
result.append(pi)
|
328 |
return result
|
328 |
return result
|
329 |
|
329 |
|
330 |
def query_posts(self, page=None, limit=None,
|
330 |
def query_posts(self, page=None, limit=None,
|
331 |
timestamp=None, style='threaded'):
|
331 |
timestamp=None, style='threaded', status=None):
|
332 |
if timestamp:
|
332 |
if timestamp:
|
333 |
terms = dict(discussion_id=self.discussion_id, thread_id=self._id,
|
333 |
terms = dict(discussion_id=self.discussion_id, thread_id=self._id,
|
334 |
status={'$in': ['ok', 'pending']}, timestamp=timestamp)
|
334 |
status={'$in': ['ok', 'pending']}, timestamp=timestamp)
|
335 |
else:
|
335 |
else:
|
336 |
terms = dict(discussion_id=self.discussion_id, thread_id=self._id,
|
336 |
terms = dict(discussion_id=self.discussion_id, thread_id=self._id,
|
337 |
status={'$in': ['ok', 'pending']})
|
337 |
status={'$in': ['ok', 'pending']})
|
|
|
338 |
if status:
|
|
|
339 |
terms['status'] = status
|
338 |
q = self.post_class().query.find(terms)
|
340 |
q = self.post_class().query.find(terms)
|
339 |
if style == 'threaded':
|
341 |
if style == 'threaded':
|
340 |
q = q.sort('full_slug')
|
342 |
q = q.sort('full_slug')
|
341 |
else:
|
343 |
else:
|
342 |
q = q.sort('timestamp')
|
344 |
q = q.sort('timestamp')
|