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?'