diff --git a/app/templates/views/agreement/agreement-accept.html b/app/templates/views/agreement/agreement-accept.html index c2972bf6a..4da010ecb 100644 --- a/app/templates/views/agreement/agreement-accept.html +++ b/app/templates/views/agreement/agreement-accept.html @@ -1,6 +1,7 @@ {% extends "withnav_template.html" %} {% from "components/textbox.html" import textbox %} -{% from "components/radios.html" import radios %} +{% from "components/radios.html" import radio %} +{% from "components/select-input.html" import select_wrapper %} {% from "components/form.html" import form_wrapper %} {% from "components/page-footer.html" import page_footer %} {% from "components/page-header.html" import page_header %} @@ -22,8 +23,12 @@ {% call form_wrapper(class='top-gutter') %} {{ textbox(form.version, width='1-3', hint='The version number is on the front page, for example ā€˜3.6’') }} - {{ radios(form.who) }} -
+ {% call select_wrapper(form.who) %} + {% for option in form.who %} + {{ radio(option, data_target='on-behalf-of' if option.data == 'someone-else' else None) }} + {% endfor %} + {% endcall %} +
{{ textbox(form.on_behalf_of_name, width='1-1') }} {{ textbox(form.on_behalf_of_email, width='1-1') }}
diff --git a/tests/app/main/views/test_agreement.py b/tests/app/main/views/test_agreement.py index feacb82f3..83e139ee6 100644 --- a/tests/app/main/views/test_agreement.py +++ b/tests/app/main/views/test_agreement.py @@ -133,11 +133,19 @@ def test_show_accept_agreement_page( ) assert page.select('input[name=who]')[0]['value'] == 'me' assert 'checked' not in page.select('input[name=who]')[0] + assert 'data-target' not in page.select('.multiple-choice')[0] assert normalize_spaces(page.select_one('label[for=who-1]').text) == ( 'I’m accepting the agreement on behalf of someone else' ) assert page.select('input[name=who]')[1]['value'] == 'someone-else' assert 'checked' not in page.select('input[name=who]')[1] + assert page.select('.multiple-choice')[1]['data-target'] == 'on-behalf-of' + assert [ + field['name'] + for field in page.select('#on-behalf-of.conditional-radio-panel input') + ] == [ + 'on_behalf_of_name', 'on_behalf_of_email' + ] assert normalize_spaces(page.select_one('label[for=on_behalf_of_name]').text) == ( 'Who are you accepting the agreement on behalf of?'