wcs: ignore case/spaces in tracking code (#34156)
This commit is contained in:
parent
23f70f720b
commit
33b4197ea5
|
@ -42,6 +42,7 @@ class TrackingCodeView(View):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def search(self, code, wcs_site=None):
|
def search(self, code, wcs_site=None):
|
||||||
|
code = code.strip().upper()
|
||||||
if wcs_site:
|
if wcs_site:
|
||||||
wcs_sites = [get_wcs_services().get(wcs_site)]
|
wcs_sites = [get_wcs_services().get(wcs_site)]
|
||||||
else:
|
else:
|
||||||
|
@ -86,6 +87,7 @@ class TrackingCodeView(View):
|
||||||
def tracking_code_search(request):
|
def tracking_code_search(request):
|
||||||
hits = []
|
hits = []
|
||||||
query = request.GET.get('q') or ''
|
query = request.GET.get('q') or ''
|
||||||
|
query = query.strip().upper()
|
||||||
if re.match(r'^[BCDFGHJKLMNPQRSTVWXZ]{8}$', query):
|
if re.match(r'^[BCDFGHJKLMNPQRSTVWXZ]{8}$', query):
|
||||||
url = TrackingCodeView.search(query)
|
url = TrackingCodeView.search(query)
|
||||||
if url:
|
if url:
|
||||||
|
|
|
@ -636,6 +636,13 @@ def test_tracking_code_cell(app):
|
||||||
assert resp.status_code == 302
|
assert resp.status_code == 302
|
||||||
assert resp.location == 'http://127.0.0.2:8999/code/CNPHNTFB/load'
|
assert resp.location == 'http://127.0.0.2:8999/code/CNPHNTFB/load'
|
||||||
|
|
||||||
|
# space/case
|
||||||
|
resp = app.get('/')
|
||||||
|
resp.form['code'] = ' cnphntfb'
|
||||||
|
resp = resp.form.submit()
|
||||||
|
assert resp.status_code == 302
|
||||||
|
assert resp.location == 'http://127.0.0.2:8999/code/CNPHNTFB/load'
|
||||||
|
|
||||||
# lock cell to a single site
|
# lock cell to a single site
|
||||||
cell.wcs_site = 'default'
|
cell.wcs_site = 'default'
|
||||||
cell.save()
|
cell.save()
|
||||||
|
@ -711,6 +718,7 @@ def test_tracking_code_search(app):
|
||||||
assert len(app.get('/api/search/tracking-code/?q=BBCCDDFF').json.get('data')) == 0
|
assert len(app.get('/api/search/tracking-code/?q=BBCCDDFF').json.get('data')) == 0
|
||||||
assert len(app.get('/api/search/tracking-code/?q=CNPHNTFB').json.get('data')) == 1
|
assert len(app.get('/api/search/tracking-code/?q=CNPHNTFB').json.get('data')) == 1
|
||||||
assert len(app.get('/api/search/tracking-code/?q=BBCCDDFFG').json.get('data')) == 0
|
assert len(app.get('/api/search/tracking-code/?q=BBCCDDFFG').json.get('data')) == 0
|
||||||
|
assert len(app.get('/api/search/tracking-code/?q= cnphntfb').json.get('data')) == 1
|
||||||
|
|
||||||
@wcsctl_present
|
@wcsctl_present
|
||||||
def test_wcs_search_engines(app):
|
def test_wcs_search_engines(app):
|
||||||
|
|
Loading…
Reference in New Issue