7
7
{% block extra_css %}
8
8
{% if rpconfig and rpconfig.logo_url %}
9
9
<style type="text/css" data-qa-id="test_2fs_rp">
10
.title .trusted-rp-name {
11
background-image: url('{{ rpconfig.logo_url }}');
12
background-repeat: no-repeat;
13
background-position: 0 100%;
10
.title .trusted-rp-name {
11
background-image: url('{{ rpconfig.logo_url }}');
12
background-repeat: no-repeat;
13
background-position: 0 100%;
21
{% block content_class %}{% endblock %}
21
23
{% block text_title %}
22
<h1 class="u1-h-main">{% trans "One account to log in to everything on Ubuntu" %}</h1>
23
<h2 class="u1-h-med u1-h-pair">{% trans "Enter three consecutive verification codes" %}</h2>
24
{% trans "One account for everything on Ubuntu" %}
26
27
{% block bodyclass %}{% endblock %}
27
28
{% block menu %}{% endblock %}
29
30
{% block content %}
30
<div class="yui3-g-r">
32
<div id="auth" class="yui3-u-1-2">
34
<div class="form-box">
36
<p class="title twofactor-title" data-qa-id="ubuntu_2fsync_title">
37
{% if token %}{% url 'cancel' token as cancel_url %}
38
{% else %}{% url 'account-index' as cancel_url %}{% endif %}
40
<a href="{{cancel_url}}" class="trusted-rp-name" data-qa-id="trusted_rp_2fsync">
41
{% if rpconfig and rpconfig.displayname %}
42
{{ rpconfig.displayname }}
46
</a><span class="action-title">{% trans "2-factor synchronization" %}</span>
49
<form id="sync-form" action="" method="post" name="syncform">
52
{% if form.non_field_errors %}
53
<div class="input-row haserrors">
54
<span class="error">{{ form.non_field_errors|join:"" }}</span>
58
{% for field in form %}
59
<p id="oathtoken{{ forloop.counter }}" class="input-row oath-token{% if field.errors or form.non_field_errors %} haserrors{% endif %}">
60
<label for="{{ field.id_for_label }}">{% trans "Verification code" %} {{ forloop.counter }}:</label>
65
<span class="error">{{ field.errors|join:"" }}</span>
71
{% if next %}<input type="hidden" name="next" value="{{ next }}">{% endif %}
72
<button type="submit" class="cta" name="continue" data-qa-id="sync_button">
73
<span>{% trans "Synchronize" %}</span>
32
<div id="auth" class="col-6">
33
<h2 class="p-heading--three">{% trans "Enter three consecutive verification codes" %}</h2>
35
<form id="sync-form" action="" method="post" name="syncform">
37
{% if form.non_field_errors %}
38
<div class="p-notification--negative">
39
<p class="p-notification__response">
40
<span class="p-notification__status">Error:</span>{{ form.non_field_errors|join:"" }}
45
{% for field in form %}
46
<div id="oathtoken{{ forloop.counter }}" class="p-form-validation oath-token{% if field.errors or form.non_field_errors %} is-error{% endif %}">
47
<label for="{{ field.id_for_label }}">{% trans "Verification code" %} {{ forloop.counter }}:</label>
50
<p class="p-form-validation__message">
51
<strong>Error:</strong> {{ field.errors|join:"" }}
57
{% if next %}<input type="hidden" name="next" value="{{ next }}">{% endif %}
58
<button type="submit" class="p-button--positive" name="continue" data-qa-id="sync_button">
59
<span>{% trans "Synchronize" %}</span>
83
<div class="yui3-u-1-3">
64
<div class="col-5 col-start-large-8">
65
<aside class="p-table-of-contents">
85
66
{% include "registration/two_factor_information.html" %}
92
72
{% block extra_js %}
93
{% include "common/sync_2fa_javascript.html" %}
73
{% include "common/sync_2fa_javascript.html" %}