0001-form-don-t-fail-on-misconfigured-autocomplete-string.patch
tests/test_form_pages.py | ||
---|---|---|
2052 | 2052 |
http_get_page.reset_mock() |
2053 | 2053 |
assert 'The form has been recorded' in resp.body |
2054 | 2054 |
assert 'class="value valid"' in resp.body |
2055 | ||
2056 |
def test_form_string_field_autocomplete(pub): |
|
2057 |
formdef = create_formdef() |
|
2058 |
formdef.fields = [fields.StringField(id='0', label='string', type='string', required=False)] |
|
2059 |
formdef.fields[0].data_source = {'type': 'jsonp'} |
|
2060 |
formdef.store() |
|
2061 | ||
2062 |
# not filled completed, no call to .autocomplete |
|
2063 |
resp = get_app(pub).get('/test/') |
|
2064 |
assert not ').autocomplete({' in resp.body |
|
2065 | ||
2066 |
# straight URL |
|
2067 |
formdef.fields[0].data_source = {'type': 'jsonp', 'value': 'http://example.org'} |
|
2068 |
formdef.store() |
|
2069 |
resp = get_app(pub).get('/test/') |
|
2070 |
assert ').autocomplete({' in resp.body |
|
2071 |
assert 'http://example.org' in resp.body |
|
2072 | ||
2073 |
# URL from variable |
|
2074 |
formdef.fields[0].data_source = {'type': 'jsonp', 'value': '[site_url]'} |
|
2075 |
formdef.store() |
|
2076 |
resp = get_app(pub).get('/test/') |
|
2077 |
assert ').autocomplete({' in resp.body |
|
2078 |
assert 'http://example.net' in resp.body |
wcs/qommon/form.py | ||
---|---|---|
1778 | 1778 |
get_response().add_javascript(['jquery.js', 'jquery-ui.js']) |
1779 | 1779 |
get_response().add_css_include('../js/smoothness/jquery-ui-1.10.0.custom.min.css') |
1780 | 1780 | |
1781 |
if '[' in self.url: |
|
1781 |
if self.url and '[' in self.url:
|
|
1782 | 1782 |
vars = get_publisher().substitutions.get_context_variables() |
1783 | 1783 |
# skip variables that were not set (None) |
1784 | 1784 |
vars = dict((x, y) for x, y in vars.items() if y is not None) |
... | ... | |
1788 | 1788 | |
1789 | 1789 |
r = TemplateIO(html=True) |
1790 | 1790 |
r += WcsExtraStringWidget.render_content(self) |
1791 |
if not url: |
|
1792 |
# there's no autocomplete URL, get out now. |
|
1793 |
return r.getvalue() |
|
1794 | ||
1791 | 1795 |
r += htmltext(""" |
1792 | 1796 |
<script id="script_%(id)s"> |
1793 | 1797 |
$(function() { |
1794 |
- |