management: use SQL global view for formdata lookup on identifier (#23517)
This commit is contained in:
parent
a2fab65a14
commit
4b9fb90018
|
@ -2664,6 +2664,15 @@ def test_formdata_lookup(pub):
|
|||
assert resp.location == 'http://example.net/backoffice/management/form-title/%s/' % formdata.id
|
||||
|
||||
if pub.is_using_postgresql():
|
||||
# check looking up on a custom display_id
|
||||
formdata.id_display = '999999'
|
||||
formdata.store()
|
||||
assert formdata.get_display_id() == '999999'
|
||||
resp = app.get('/backoffice/management/').follow()
|
||||
resp.form['query'] = formdata.get_display_id()
|
||||
resp = resp.form.submit()
|
||||
assert resp.location == 'http://example.net/backoffice/management/form-title/%s/' % formdata.id
|
||||
|
||||
# try it from the global listing
|
||||
resp = app.get('/backoffice/management/listing')
|
||||
assert 'id="lookup-box"' in resp.body
|
||||
|
|
|
@ -521,6 +521,11 @@ class ManagementDirectory(Directory):
|
|||
|
||||
def lookup(self):
|
||||
query = get_request().form.get('query', '').strip()
|
||||
if get_publisher().is_using_postgresql():
|
||||
from wcs import sql
|
||||
formdatas = sql.AnyFormData.select([Equal('id_display', query)])
|
||||
if formdatas:
|
||||
return redirect(formdatas[0].get_url(backoffice=True))
|
||||
if any((x for x in FormDef.select(lightweight=True) if x.enable_tracking_codes)):
|
||||
try:
|
||||
tracking_code = get_publisher().tracking_code_class.get(query)
|
||||
|
|
Loading…
Reference in New Issue