api: use sql global views to get all user forms (when appropriate) (#18930)
This commit is contained in:
parent
7521460768
commit
2cd42f04da
17
wcs/api.py
17
wcs/api.py
|
@ -505,12 +505,17 @@ class ApiUserDirectory(Directory):
|
|||
return json.dumps(user_info)
|
||||
|
||||
def get_user_forms(self, user):
|
||||
formdefs = FormDef.select()
|
||||
user_forms = []
|
||||
for formdef in formdefs:
|
||||
user_forms.extend(formdef.data_class().get_with_indexed_value(
|
||||
'user_id', user.id))
|
||||
user_forms.sort(lambda x, y: cmp(x.receipt_time, y.receipt_time))
|
||||
if get_publisher().is_using_postgresql() and not get_request().form.get('full') == 'on':
|
||||
from wcs import sql
|
||||
from qommon.storage import Equal
|
||||
user_forms = sql.AnyFormData.select([Equal('user_id', str(user.id))], order_by='receipt_time')
|
||||
else:
|
||||
formdefs = FormDef.select()
|
||||
user_forms = []
|
||||
for formdef in formdefs:
|
||||
user_forms.extend(formdef.data_class().get_with_indexed_value(
|
||||
'user_id', user.id))
|
||||
user_forms.sort(lambda x, y: cmp(x.receipt_time, y.receipt_time))
|
||||
return user_forms
|
||||
|
||||
def drafts(self):
|
||||
|
|
Loading…
Reference in New Issue