Merge lp:~deadlight/canonical-identity-provider/login into lp:~deadlight/canonical-identity-provider/vanilla
- login
- Merge into vanilla
Proposed by
Karl Williams
Status: | Merged |
---|---|
Approved by: | Karl Williams |
Approved revision: | 1694 |
Merged at revision: | 1694 |
Proposed branch: | lp:~deadlight/canonical-identity-provider/login |
Merge into: | lp:~deadlight/canonical-identity-provider/vanilla |
Diff against target: |
930 lines (+369/-381) 10 files modified
src/identityprovider/static_src/scss/styles.scss (+15/-0) src/webui/templates/registration/_create_account_form.html (+54/-67) src/webui/templates/registration/_login_form.html (+51/-53) src/webui/templates/registration/_password_meter.html (+49/-54) src/webui/templates/registration/_title.html (+22/-12) src/webui/templates/registration/_user_intention_radios.html (+6/-15) src/webui/templates/registration/confirm_new_account.html (+4/-4) src/webui/templates/registration/login.html (+101/-105) src/webui/templates/registration/new_account.html (+49/-58) src/webui/templates/vanilla/base.html (+18/-13) |
To merge this branch: | bzr merge lp:~deadlight/canonical-identity-provider/login |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Anthony Dillon (community) | Approve | ||
Review via email: mp+370664@code.launchpad.net |
Commit message
Description of the change
Upgraded the login and create user forms to the Vanilla template.
QA
---
- source the env
- make start-db
- make run
- visit [node]:8000
- try both the login and create user flows
To post a comment you must log in.
Revision history for this message
Karl Williams (deadlight) wrote : | # |
Revision history for this message
Barry McGee (barry-mcgee) wrote : | # |
Eyeballed code - some comments inline.
Revision history for this message
Karl Williams (deadlight) wrote : | # |
Addressed in-code comments
- 1694. By Karl Williams
-
Optimise sass
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'src/identityprovider/static_src/scss/styles.scss' | |||
2 | --- src/identityprovider/static_src/scss/styles.scss 2019-07-22 15:01:03 +0000 | |||
3 | +++ src/identityprovider/static_src/scss/styles.scss 2019-08-05 13:10:49 +0000 | |||
4 | @@ -5,6 +5,7 @@ | |||
5 | 5 | 5 | ||
6 | 6 | @import 'vanilla-framework/scss/build'; | 6 | @import 'vanilla-framework/scss/build'; |
7 | 7 | 7 | ||
8 | 8 | //Navigation spacing tweaks | ||
9 | 8 | .p-navigation .row { | 9 | .p-navigation .row { |
10 | 9 | justify-content: space-between; | 10 | justify-content: space-between; |
11 | 10 | } | 11 | } |
12 | @@ -13,6 +14,20 @@ | |||
13 | 13 | width: auto; | 14 | width: auto; |
14 | 14 | } | 15 | } |
15 | 15 | 16 | ||
16 | 17 | //Standard gradient hero | ||
17 | 16 | .p-cip-hero { | 18 | .p-cip-hero { |
18 | 17 | background-image: linear-gradient(212deg, #E95420 0%, #C44631 6%, #A33940 12%, #8B304A 18%, #7C2B51 24%, #772953 29%, #55163B 51%, #370626 75%, #2C001E 100%); | 19 | background-image: linear-gradient(212deg, #E95420 0%, #C44631 6%, #A33940 12%, #8B304A 18%, #7C2B51 24%, #772953 29%, #55163B 51%, #370626 75%, #2C001E 100%); |
19 | 18 | } | 20 | } |
20 | 21 | |||
21 | 22 | // Login/register headers hide/show | ||
22 | 23 | .selected-create { | ||
23 | 24 | .login-form, .login-title { | ||
24 | 25 | display: none; | ||
25 | 26 | } | ||
26 | 27 | } | ||
27 | 28 | |||
28 | 29 | .selected-login { | ||
29 | 30 | .create-form, .create-title { | ||
30 | 31 | display: none; | ||
31 | 32 | } | ||
32 | 33 | } | ||
33 | 19 | 34 | ||
34 | === modified file 'src/webui/templates/registration/_create_account_form.html' | |||
35 | --- src/webui/templates/registration/_create_account_form.html 2018-10-16 19:32:57 +0000 | |||
36 | +++ src/webui/templates/registration/_create_account_form.html 2019-08-05 13:10:49 +0000 | |||
37 | @@ -2,71 +2,58 @@ | |||
38 | 2 | 2 | ||
39 | 3 | <form action="{% url_with_token 'new_account' %}" method="post" name="newaccountform" data-qa-id="create_account_form"> | 3 | <form action="{% url_with_token 'new_account' %}" method="post" name="newaccountform" data-qa-id="create_account_form"> |
40 | 4 | 4 | ||
108 | 5 | {% csrf_token %} | 5 | {% csrf_token %} |
109 | 6 | 6 | ||
110 | 7 | <div class="input-row{% if create_form.email.errors %} haserrors{% endif %} email-input"> | 7 | <div class="p-form-validation{% if create_form.email.errors %} is-error{% endif %} email-input"> |
111 | 8 | <label for="id_email">{% trans "Please type your email:" %}</label> | 8 | <label for="id_email">{% trans "Please type your email:" %}</label> |
112 | 9 | 9 | {% if create_form.email.errors %} | |
113 | 10 | {% if create_form.email.errors %} | 10 | <span class="p-form-validation__message">{{ create_form.email.errors|first }}</span> |
114 | 11 | <span class="error">{{ create_form.email.errors|first }}</span> | 11 | {% endif %} |
115 | 12 | {% endif %} | 12 | {{ create_form.email }} |
116 | 13 | 13 | </div> | |
117 | 14 | {{ create_form.email }} | 14 | |
118 | 15 | </div> | 15 | {% if selected_form == 'create' %} |
119 | 16 | 16 | {% include "registration/_user_intention_radios.html" with selected_form=selected_form %} | |
120 | 17 | {% if selected_form == 'create' %} | 17 | {% endif %} |
121 | 18 | {% include "registration/_user_intention_radios.html" with selected_form=selected_form %} | 18 | |
122 | 19 | {% endif %} | 19 | {% if create_form.username %} |
123 | 20 | 20 | <label class="label-passwords">{% trans "Please tell us your full name and choose a username and password:" %}</label> | |
124 | 21 | {% if create_form.username %} | 21 | {% else %} |
125 | 22 | <label class="label-passwords">{% trans "Please tell us your full name and choose a username and password:" %}</label> | 22 | <label class="label-passwords">{% trans "Please tell us your full name and choose a password:" %}</label> |
126 | 23 | {% else %} | 23 | {% endif %} |
127 | 24 | <label class="label-passwords">{% trans "Please tell us your full name and choose a password:" %}</label> | 24 | |
128 | 25 | {% endif %} | 25 | <div class="p-form-validation{% if create_form.displayname.errors %} is-error{% endif %} name-input"> |
129 | 26 | 26 | {% if create_form.displayname.errors %} | |
130 | 27 | <div class="input-row{% if create_form.displayname.errors %} haserrors{% endif %} name-input"> | 27 | <span class="p-form-validation__message"> |
131 | 28 | 28 | {{ create_form.displayname.errors|first }} | |
132 | 29 | {% if create_form.displayname.errors %} | 29 | </span> |
133 | 30 | <span class="error"> | 30 | {% endif %} |
134 | 31 | {{ create_form.displayname.errors|first }} | 31 | {{ create_form.displayname }} |
135 | 32 | </span> | 32 | </div> |
136 | 33 | {% endif %} | 33 | |
137 | 34 | 34 | {% if create_form.username %} | |
138 | 35 | {{ create_form.displayname }} | 35 | <div class="p-form-validation{% if create_form.username.errors %} is-error{% endif %} username-input"> |
139 | 36 | </div> | 36 | {% if create_form.username.errors %} |
140 | 37 | 37 | <span class="p-form-validation__message"> | |
141 | 38 | {% if create_form.username %} | 38 | {{ create_form.username.errors|first }} |
142 | 39 | <div class="input-row{% if create_form.username.errors %} haserrors{% endif %} username-input"> | 39 | </span> |
143 | 40 | 40 | {% endif %} | |
144 | 41 | {% if create_form.username.errors %} | 41 | {{ create_form.username }} |
145 | 42 | <span class="error"> | 42 | </div> |
146 | 43 | {{ create_form.username.errors|first }} | 43 | {% endif %} |
147 | 44 | </span> | 44 | {% include "widgets/passwords.html" with fields=create_form %} |
148 | 45 | {% endif %} | 45 | |
149 | 46 | 46 | <div class="p-form-validation{% if create_form.accept_tos.errors %} is-error{% endif %} accept-tos-input"> | |
150 | 47 | {{ create_form.username }} | 47 | {% if create_form.accept_tos.errors %} |
151 | 48 | </div> | 48 | <span class="p-form-validation__message"> |
152 | 49 | {% endif %} | 49 | {{ create_form.accept_tos.errors|first }} |
153 | 50 | 50 | </span> | |
154 | 51 | {% include "widgets/passwords.html" with fields=create_form %} | 51 | {% endif %} |
155 | 52 | 52 | {{ create_form.accept_tos }} | |
156 | 53 | <div class="input-row{% if create_form.accept_tos.errors %} haserrors{% endif %} accept-tos-input"> | 53 | <label for="id_accept_tos">{% blocktrans with tos_url="terms_of_service"|static_url privacy_url="privacy_policy"|static_url privacy_notice_url="privacy_notice"|static_url %}I have read and accept the <a href="{{ tos_url }}" class="external" target="_blank">Ubuntu One terms of service</a>, <a href="{{ privacy_url }}" class="external" target="_blank">data privacy policy</a> and <a href="{{ privacy_notice_url }}" class="external" target="_blank">Canonical's SSO privacy notice</a>.{% endblocktrans %}</label> |
157 | 54 | 54 | </div> | |
158 | 55 | {% if create_form.accept_tos.errors %} | 55 | |
159 | 56 | <span class="error"> | 56 | <button type="submit" class="p-button--positive u-no-margin--bottom" name="continue" data-qa-id="register_button"> |
160 | 57 | {{ create_form.accept_tos.errors|first }} | 57 | <span>{% trans "Create account" %}</span> |
161 | 58 | </span> | 58 | </button> |
95 | 59 | {% endif %} | ||
96 | 60 | |||
97 | 61 | {{ create_form.accept_tos }} | ||
98 | 62 | |||
99 | 63 | <label for="id_accept_tos">{% blocktrans with tos_url="terms_of_service"|static_url privacy_url="privacy_policy"|static_url privacy_notice_url="privacy_notice"|static_url %}I have read and accept the <a href="{{ tos_url }}" class="external" target="_blank">Ubuntu One terms of service</a>, <a href="{{ privacy_url }}" class="external" target="_blank">data privacy policy</a> and <a href="{{ privacy_notice_url }}" class="external" target="_blank">Canonical's SSO privacy notice</a>.{% endblocktrans %}</label> | ||
100 | 64 | |||
101 | 65 | </div> | ||
102 | 66 | |||
103 | 67 | <div class="actions"> | ||
104 | 68 | <button type="submit" class="btn cta" name="continue" data-qa-id="register_button"> | ||
105 | 69 | <span>{% trans "Create account" %}</span> | ||
106 | 70 | </button> | ||
107 | 71 | </div> | ||
162 | 72 | </form> | 59 | </form> |
163 | 73 | 60 | ||
164 | === modified file 'src/webui/templates/registration/_login_form.html' | |||
165 | --- src/webui/templates/registration/_login_form.html 2019-01-09 18:37:18 +0000 | |||
166 | +++ src/webui/templates/registration/_login_form.html 2019-08-05 13:10:49 +0000 | |||
167 | @@ -1,58 +1,56 @@ | |||
168 | 1 | {% load i18n url_with_token %} | 1 | {% load i18n url_with_token %} |
169 | 2 | 2 | ||
170 | 3 | <form id="login-form" action="{% url_with_token 'login' %}" method="post" name="loginform" data-qa-id="login_form"> | 3 | <form id="login-form" action="{% url_with_token 'login' %}" method="post" name="loginform" data-qa-id="login_form"> |
224 | 4 | {% csrf_token %} | 4 | {% csrf_token %} |
225 | 5 | <div class="input-row{% if form.email.errors or form.non_field_errors %} haserrors{% endif %} email-input"> | 5 | <div class="p-form-validation{% if form.email.errors or form.non_field_errors %} is-error{% endif %} email-input"> |
226 | 6 | <label for="id_email">{% trans "Please type your email:" %}</label> | 6 | <label for="id_email">{% trans "Please type your email:" %}</label> |
227 | 7 | {{ form.email }} | 7 | {{ form.email }} |
228 | 8 | {% if form.email.errors %} | 8 | {% if form.email.errors %} |
229 | 9 | <span class="error">{{ form.email.errors|join:"" }}</span> | 9 | <span class="p-form-help-text">{{ form.email.errors|join:"" }}</span> |
230 | 10 | {% endif %} | 10 | {% endif %} |
231 | 11 | </div> | 11 | </div> |
232 | 12 | 12 | ||
233 | 13 | {% include "registration/_user_intention_radios.html" with selected_form=selected_form %} | 13 | {% include "registration/_user_intention_radios.html" with selected_form=selected_form %} |
234 | 14 | 14 | ||
235 | 15 | <div class="input-row{% if form.password.errors or form.non_field_errors %} haserrors{% endif %} password-input"> | 15 | <div class="p-form-validation{% if form.password.errors or form.non_field_errors %} is-error{% endif %} password-input"> |
236 | 16 | {% if form.password.errors %} | 16 | {% if form.password.errors %} |
237 | 17 | <span class="error">{{ form.password.errors|join:"" }}</span> | 17 | <span class="p-form-help-text">{{ form.password.errors|join:"" }}</span> |
238 | 18 | {% endif %} | 18 | {% endif %} |
239 | 19 | {% if not form.oath_token and form.non_field_errors %} | 19 | {% if not form.oath_token and form.non_field_errors %} |
240 | 20 | <span class="error">{{ form.non_field_errors|join:"" }}</span> | 20 | <span class="p-form-help-text">{{ form.non_field_errors|join:"" }}</span> |
241 | 21 | {% endif %} | 21 | {% endif %} |
242 | 22 | {{ form.password }} | 22 | {{ form.password }} |
243 | 23 | </div> | 23 | </div> |
244 | 24 | 24 | ||
245 | 25 | {% if form.oath_token %} | 25 | {% if form.oath_token %} |
246 | 26 | <div class="input-row twofactor-input"> | 26 | <div class="p-form-validation twofactor-input"> |
247 | 27 | <h4 class="main">{% blocktrans %}Two Factor Authentication{% endblocktrans %}</h4> | 27 | <h4 class="main">{% blocktrans %}Two Factor Authentication{% endblocktrans %}</h4> |
248 | 28 | <p id="oathtoken" class="input-row{% if form.oath_token.errors or form.non_field_errors %} haserrors{% endif %}"> | 28 | <p id="oathtoken" class="input-row{% if form.oath_token.errors or form.non_field_errors %} is-error{% endif %}"> |
249 | 29 | <label class="formLabel" for="id_oath_token">{% trans "Device Password" %}</label> | 29 | <label class="formLabel" for="id_oath_token">{% trans "Device Password" %}</label> |
250 | 30 | {{ form.oath_token }} | 30 | {{ form.oath_token }} |
251 | 31 | {% if form.oath_token.errors %} | 31 | {% if form.oath_token.errors %} |
252 | 32 | <span class="error">{{ form.oath_token.errors|join:"" }}</span> | 32 | <span class="p-form-help-text">{{ form.oath_token.errors|join:"" }}</span> |
253 | 33 | {% endif %} | 33 | {% endif %} |
254 | 34 | {% if form.non_field_errors %} | 34 | {% if form.non_field_errors %} |
255 | 35 | <span class="error">{{ form.non_field_errors|join:"" }}</span> | 35 | <span class="p-form-help-text">{{ form.non_field_errors|join:"" }}</span> |
256 | 36 | {% endif %} | 36 | {% endif %} |
257 | 37 | </p> | 37 | </p> |
258 | 38 | </div> | 38 | </div> |
259 | 39 | {% endif %} | 39 | {% endif %} |
260 | 40 | 40 | ||
261 | 41 | <div class="actions"> | 41 | <div class="actions"> |
262 | 42 | {% if next %}<input type="hidden" name="next" value="{{ next }}">{% endif %} | 42 | {% if next %}<input type="hidden" name="next" value="{{ next }}">{% endif %} |
263 | 43 | <button type="submit" class="btn cta" name="continue" data-qa-id="login_button"> | 43 | <button type="submit" class="p-button--positive u-no-margin--bottom" name="continue" data-qa-id="login_button"> |
264 | 44 | <span>{% trans "Log in" %}</span> | 44 | <span>{% trans "Log in" %}</span> |
265 | 45 | </button> | 45 | </button> |
266 | 46 | {% if not readonly %} | 46 | {% if not readonly %} |
267 | 47 | <input type="submit" class="forgot-password" name="forgot_password" formnovalidate formaction="{% url_with_token 'forgot_password' %}" | 47 | <input type="submit" class="p-button--base u-no-margin--bottom" name="forgot_password" formnovalidate formaction="{% url_with_token 'forgot_password' %}" value="{% trans 'Forgot your password?' %}"> |
268 | 48 | style="border:none; outline:none; background:none; cursor:pointer; color:#dd4814;" | 48 | {% endif %} |
269 | 49 | value="{% trans 'Forgot your password?' %}"> | 49 | |
270 | 50 | {% endif %} | 50 | {% comment %} |
271 | 51 | 51 | {% if token %}{% trans "or" %} | |
272 | 52 | {% comment %} | 52 | {% include "common/cancel_link.html" %}{% endif %} |
273 | 53 | {% if token %}{% trans "or" %} | 53 | {% endcomment %} |
274 | 54 | {% include "common/cancel_link.html" %}{% endif %} | 54 | </div> |
222 | 55 | {% endcomment %} | ||
223 | 56 | </div> | ||
275 | 57 | 55 | ||
276 | 58 | </form> | 56 | </form> |
277 | 59 | 57 | ||
278 | === modified file 'src/webui/templates/registration/_password_meter.html' | |||
279 | --- src/webui/templates/registration/_password_meter.html 2014-12-10 15:30:54 +0000 | |||
280 | +++ src/webui/templates/registration/_password_meter.html 2019-08-05 13:10:49 +0000 | |||
281 | @@ -1,59 +1,54 @@ | |||
282 | 1 | {% load i18n static %} | 1 | {% load i18n static %} |
283 | 2 | 2 | ||
284 | 3 | <script type="text/javascript"> | 3 | <script type="text/javascript"> |
338 | 4 | 4 | YUI({ | |
339 | 5 | YUI({ | 5 | groups: { |
340 | 6 | groups: { | 6 | u1: { |
341 | 7 | 7 | base: '{% static "identityprovider/js/u1/build/" %}', | |
342 | 8 | u1: { | 8 | combine: {{ combine|lower }}, |
343 | 9 | base: '{% static "identityprovider/js/u1/build/" %}', | 9 | root: 'identityprovider/js/u1/build/', |
344 | 10 | combine: {{ combine|lower }}, | 10 | modules: { |
345 | 11 | root: 'identityprovider/js/u1/build/', | 11 | 'one-password-meter': { |
346 | 12 | modules: { | 12 | type: 'js', |
347 | 13 | 'one-password-meter': { | 13 | path: 'one-password-meter/one-password-meter-min.js', |
348 | 14 | type: 'js', | 14 | skinnable: true |
349 | 15 | path: 'one-password-meter/one-password-meter-min.js', | 15 | } |
350 | 16 | skinnable: true | 16 | } |
351 | 17 | } | 17 | } |
352 | 18 | } | 18 | } |
353 | 19 | } | 19 | }).use('one-password-meter', function(Y) { |
354 | 20 | } | 20 | var passwordMeter = new Y.U1.Widgets.PasswordMeter({ |
355 | 21 | }).use('one-password-meter', function(Y) { | 21 | input: '{{ pwd_selector }}', |
356 | 22 | 22 | inputConfirm: '{{ pwd_confirm_selector }}', | |
357 | 23 | var passwordMeter = new Y.U1.Widgets.PasswordMeter({ | 23 | feedback: { |
358 | 24 | input: '{{ pwd_selector }}', | 24 | strengths: [ |
359 | 25 | inputConfirm: '{{ pwd_confirm_selector }}', | 25 | { |
360 | 26 | feedback: { | 26 | className: 'weak', |
361 | 27 | strengths: [ | 27 | text: '{% trans "Strength: weak" %}' |
362 | 28 | { | 28 | }, |
363 | 29 | className: 'weak', | 29 | { |
364 | 30 | text: '{% trans "Strength: weak" %}' | 30 | className: 'fair', |
365 | 31 | }, | 31 | text: '{% trans "Strength: fair" %}' |
366 | 32 | { | 32 | }, |
367 | 33 | className: 'fair', | 33 | { |
368 | 34 | text: '{% trans "Strength: fair" %}' | 34 | className: 'good', |
369 | 35 | }, | 35 | text: '{% trans "Strength: good" %}' |
370 | 36 | { | 36 | }, |
371 | 37 | className: 'good', | 37 | { |
372 | 38 | text: '{% trans "Strength: good" %}' | 38 | className: 'strong', |
373 | 39 | }, | 39 | text: '{% trans "Strength: strong" %}' |
374 | 40 | { | 40 | } |
375 | 41 | className: 'strong', | 41 | ], |
376 | 42 | text: '{% trans "Strength: strong" %}' | 42 | 'short': { |
377 | 43 | } | 43 | className: 'short', |
378 | 44 | ], | 44 | text: '{% trans "Password too short" %}' |
379 | 45 | 'short': { | 45 | }, |
380 | 46 | className: 'short', | 46 | 'asymmetric': { |
381 | 47 | text: '{% trans "Password too short" %}' | 47 | className: 'asymmetric', |
382 | 48 | }, | 48 | text: '{% trans "The passwords do not match" %}' |
383 | 49 | 'asymmetric': { | 49 | } |
384 | 50 | className: 'asymmetric', | 50 | } |
332 | 51 | text: '{% trans "The passwords do not match" %}' | ||
333 | 52 | } | ||
334 | 53 | } | ||
335 | 54 | }); | ||
336 | 55 | passwordMeter.render(); | ||
337 | 56 | |||
385 | 57 | }); | 51 | }); |
387 | 58 | 52 | passwordMeter.render(); | |
388 | 53 | }); | ||
389 | 59 | </script> | 54 | </script> |
390 | 60 | 55 | ||
391 | === modified file 'src/webui/templates/registration/_title.html' | |||
392 | --- src/webui/templates/registration/_title.html 2014-12-09 21:32:43 +0000 | |||
393 | +++ src/webui/templates/registration/_title.html 2019-08-05 13:10:49 +0000 | |||
394 | @@ -1,16 +1,26 @@ | |||
395 | 1 | {% load i18n %} | 1 | {% load i18n %} |
399 | 2 | <p class="title login-title" data-qa-id="ubuntu_login_title"> | 2 | <h2 class="p-heading--four title login-title" data-qa-id="ubuntu_login_title"> |
400 | 3 | {% if rpconfig and rpconfig.displayname %} | 3 | {% if rpconfig and rpconfig.displayname %} |
401 | 4 | <{% if token %}a href="{% url 'cancel' token %}" {% else %}span {% endif %}class="trusted-rp-name" data-qa-id="trusted_rp_login">{{ rpconfig.displayname }}{% if token %}</a>{% else %}</span>{% endif %} | 4 | {% if token %} |
402 | 5 | <a href="{% url 'cancel' token %}" class="trusted-rp-name" data-qa-id="trusted_rp_login">{{ rpconfig.displayname }}</a> | ||
403 | 6 | {% else %} | ||
404 | 7 | <span class="trusted-rp-name" data-qa-id="trusted_rp_login">{{ rpconfig.displayname }}</span> | ||
405 | 8 | {% endif %} | ||
406 | 5 | <span class="action-title">{% blocktrans %}log in with Ubuntu One{% endblocktrans %} | 9 | <span class="action-title">{% blocktrans %}log in with Ubuntu One{% endblocktrans %} |
408 | 6 | {% else %} | 10 | {% else %} |
409 | 7 | <span class="trusted-rp-name">Ubuntu One</span> <span class="action-title">{% trans "log in" %}</span> | 11 | <span class="trusted-rp-name">Ubuntu One</span> <span class="action-title">{% trans "log in" %}</span> |
410 | 12 | {% endif %} | ||
411 | 13 | </h2> | ||
412 | 14 | <h2 class="p-heading--four title create-title u-no-margin--top"> | ||
413 | 15 | {% if rpconfig and rpconfig.displayname %} | ||
414 | 16 | {% if token %} | ||
415 | 17 | <a href="{% url 'cancel' token %}" class="trusted-rp-name">{{ rpconfig.displayname }}</a> | ||
416 | 18 | {% else %} | ||
417 | 19 | <span href="{% url 'cancel' token %}" class="trusted-rp-name">{{ rpconfig.displayname }}</span> | ||
418 | 20 | <span class="action-title">{% blocktrans %}create Ubuntu One account{% endblocktrans %}</span> | ||
419 | 8 | {% endif %} | 21 | {% endif %} |
428 | 9 | </p> | 22 | {% else %} |
429 | 10 | <p class="title create-title"> | 23 | <span class="trusted-rp-name">Ubuntu One</span> <span class="action-title">{% trans "create account" %}</span> |
430 | 11 | {% if rpconfig and rpconfig.displayname %} | 24 | {% endif %} |
431 | 12 | <{% if token %}a href="{% url 'cancel' token %}" {% else %}span {% endif %}class="trusted-rp-name">{{ rpconfig.displayname }}{% if token %}</a>{% else %}</span>{% endif %} | 25 | </h2> |
432 | 13 | <span class="action-title">{% blocktrans %}create Ubuntu One account{% endblocktrans %}</span> | 26 | <hr> |
425 | 14 | {% else %} | ||
426 | 15 | <span class="trusted-rp-name">Ubuntu One</span> <span class="action-title">{% trans "create account" %}</span>{% endif %} | ||
427 | 16 | </p> | ||
433 | 17 | 27 | ||
434 | === modified file 'src/webui/templates/registration/_user_intention_radios.html' | |||
435 | --- src/webui/templates/registration/_user_intention_radios.html 2018-05-14 13:21:33 +0000 | |||
436 | +++ src/webui/templates/registration/_user_intention_radios.html 2019-08-05 13:10:49 +0000 | |||
437 | @@ -1,17 +1,8 @@ | |||
438 | 1 | {% load i18n %} | 1 | {% load i18n %} |
454 | 2 | <div class="hide-nojs user-intention" | 2 | <div class="hide-nojs user-intention" data-qa-id="login_create_account_radio"> |
455 | 3 | data-qa-id="login_create_account_radio"> | 3 | <input type="radio" id="id_new_user" name="user-intentions" {% if readonly %}disabled="disabled"{%endif%} {%if selected_form == "create" %} checked="checked"{%endif%} tabindex="20" value="create" data-qa-id="user_intention_create"> |
456 | 4 | 4 | <label for="id_new_user" class="new-user"><span>{% trans "I don’t have an Ubuntu One account" %}</span></label> | |
457 | 5 | <label for="id_new_user" class="new-user"> | 5 | |
458 | 6 | <input type="radio" id="id_new_user" name="user-intentions" {% if readonly %}disabled="disabled"{%endif%} | 6 | <input type="radio" id="id_returning_user" name="user-intentions"{%if selected_form == "login" %} checked="checked"{%endif%} tabindex="30" value="login" data-qa-id="user_intention_login"> |
459 | 7 | {%if selected_form == "create" %} checked="checked"{%endif%} tabindex="20" value="create" | 7 | <label for="id_returning_user" class="returning-user"><span>{% trans "I have an Ubuntu One account <i>and my password is:</i>" %}</span></label> |
445 | 8 | data-qa-id="user_intention_create"> | ||
446 | 9 | <span>{% trans "I don’t have an Ubuntu One account" %}</span> | ||
447 | 10 | </label> | ||
448 | 11 | |||
449 | 12 | <label for="id_returning_user" class="returning-user"> | ||
450 | 13 | <input type="radio" id="id_returning_user" name="user-intentions"{%if selected_form == "login" %} checked="checked"{%endif%} | ||
451 | 14 | tabindex="30" value="login" data-qa-id="user_intention_login"> | ||
452 | 15 | <span>{% trans "I have an Ubuntu One account <i>and my password is:</i>" %}</span> | ||
453 | 16 | </label> | ||
460 | 17 | </div> | 8 | </div> |
461 | 18 | 9 | ||
462 | === modified file 'src/webui/templates/registration/confirm_new_account.html' | |||
463 | --- src/webui/templates/registration/confirm_new_account.html 2014-12-09 21:32:43 +0000 | |||
464 | +++ src/webui/templates/registration/confirm_new_account.html 2019-08-05 13:10:49 +0000 | |||
465 | @@ -2,7 +2,7 @@ | |||
466 | 2 | {% load i18n %} | 2 | {% load i18n %} |
467 | 3 | 3 | ||
468 | 4 | {% comment %} | 4 | {% comment %} |
470 | 5 | Copyright 2010 Canonical Ltd. This software is licensed under the | 5 | Copyright 2010-2019 Canonical Ltd. This software is licensed under the |
471 | 6 | GNU Affero General Public License version 3 (see the file LICENSE). | 6 | GNU Affero General Public License version 3 (see the file LICENSE). |
472 | 7 | {% endcomment %} | 7 | {% endcomment %} |
473 | 8 | 8 | ||
474 | @@ -17,11 +17,11 @@ | |||
475 | 17 | {% block content %} | 17 | {% block content %} |
476 | 18 | <p>{% blocktrans %}The account for {{ email }} is ready to be created.{% endblocktrans %}</p> | 18 | <p>{% blocktrans %}The account for {{ email }} is ready to be created.{% endblocktrans %}</p> |
477 | 19 | 19 | ||
479 | 20 | <form id="login-form" class="longfields" method="post" name="loginform"> | 20 | <form id="login-form" method="post" name="loginform"> |
480 | 21 | {% csrf_token %} | 21 | {% csrf_token %} |
481 | 22 | <p class="actions"> | 22 | <p class="actions"> |
484 | 23 | <button type="submit" name="continue" class="btn" data-qa-id="complete_account_creation"> | 23 | <button type="submit" name="continue" class="p-button--positive" data-qa-id="complete_account_creation"> |
485 | 24 | <span><span>{% trans "Complete account creation" %}</span></span> | 24 | <span><span>{% trans "Complete account creation" %}</span></span> |
486 | 25 | </button> | 25 | </button> |
487 | 26 | {% trans "or" %} | 26 | {% trans "or" %} |
488 | 27 | {% include "common/cancel_link.html" %} | 27 | {% include "common/cancel_link.html" %} |
489 | 28 | 28 | ||
490 | === modified file 'src/webui/templates/registration/login.html' | |||
491 | --- src/webui/templates/registration/login.html 2019-01-09 18:35:07 +0000 | |||
492 | +++ src/webui/templates/registration/login.html 2019-08-05 13:10:49 +0000 | |||
493 | @@ -1,140 +1,136 @@ | |||
495 | 1 | {% extends "base.html" %} | 1 | {% extends "vanilla/base.html" %} |
496 | 2 | {% load i18n static_url %} | 2 | {% load i18n static_url %} |
497 | 3 | 3 | ||
498 | 4 | {% comment %} | 4 | {% comment %} |
500 | 5 | Copyright 2010-2013 Canonical Ltd. This software is licensed under | 5 | Copyright 2010-2019 Canonical Ltd. This software is licensed under |
501 | 6 | the GNU Affero General Public License version 3 (see the file | 6 | the GNU Affero General Public License version 3 (see the file |
502 | 7 | LICENSE). | 7 | LICENSE). |
503 | 8 | {% endcomment %} | 8 | {% endcomment %} |
504 | 9 | 9 | ||
505 | 10 | {% block extra_meta %} | 10 | {% block extra_meta %} |
509 | 11 | <meta http-equiv="Expires" content="0"> | 11 | <meta http-equiv="Expires" content="0"> |
510 | 12 | <meta http-equiv="Cache-Control" content="no-cache"> | 12 | <meta http-equiv="Cache-Control" content="no-cache"> |
511 | 13 | <meta http-equiv="Pragma" content="no-cache"> | 13 | <meta http-equiv="Pragma" content="no-cache"> |
512 | 14 | {% endblock %} | 14 | {% endblock %} |
513 | 15 | 15 | ||
514 | 16 | {% block messages %} | 16 | {% block messages %} |
515 | 17 | {{ block.super }} | 17 | {{ block.super }} |
516 | 18 | {% if form.email.errors or form.password.errors or form.oath_token.errors or form.non_field_errors %} | ||
517 | 19 | <div class="message error notopbar"><p>There were some problems with the information you gave us. Please check below and try again.</div> | ||
518 | 20 | {% endif %} | ||
519 | 21 | {% endblock %} | 18 | {% endblock %} |
520 | 22 | 19 | ||
521 | 23 | {% block html_extra %}data-qa-id="login"{% endblock %} | 20 | {% block html_extra %}data-qa-id="login"{% endblock %} |
522 | 24 | 21 | ||
523 | 25 | {% block text_title %} | 22 | {% block text_title %} |
525 | 26 | <h1 class="u1-h-main">{% trans "One account to log in to everything on Ubuntu" %}</h1> | 23 | <h1>{% trans "One account to log in to everything on Ubuntu" %}</h1> |
526 | 27 | {% endblock %} | 24 | {% endblock %} |
527 | 28 | 25 | ||
528 | 29 | </div> | 26 | </div> |
529 | 30 | 27 | ||
530 | 31 | {% block extra_css %} | 28 | {% block extra_css %} |
541 | 32 | {% if rpconfig and rpconfig.logo_url %} | 29 | {% if rpconfig and rpconfig.logo_url %} |
542 | 33 | <style type="text/css" data-qa-id="test_login_rp"> | 30 | <style type="text/css" data-qa-id="test_login_rp"> |
543 | 34 | .title .trusted-rp-name { | 31 | .title .trusted-rp-name { |
544 | 35 | background-image: url('{{ rpconfig.logo_url }}'); | 32 | background-image: url('{{ rpconfig.logo_url }}'); |
545 | 36 | background-repeat: no-repeat; | 33 | background-repeat: no-repeat; |
546 | 37 | background-position: 0 100%; | 34 | background-position: 0 100%; |
547 | 38 | padding-left: 24px; | 35 | padding-left: 24px; |
548 | 39 | padding-top: 2px; | 36 | padding-top: 2px; |
549 | 40 | } | 37 | } |
550 | 41 | </style> | 38 | </style> |
551 | 39 | {% endif %} | ||
552 | 40 | {% endblock %} | ||
553 | 41 | |||
554 | 42 | {% block content %} | ||
555 | 43 | |||
556 | 44 | <section class="p-strip"> | ||
557 | 45 | <div class="row"> | ||
558 | 46 | {% if form.email.errors or form.password.errors or form.oath_token.errors or form.non_field_errors %} | ||
559 | 47 | <div class="col-6"> | ||
560 | 48 | <div class="p-notification--negative"> | ||
561 | 49 | <p class="p-notification__response"> | ||
562 | 50 | There were some problems with the information you gave us. Please check below and try again. | ||
563 | 51 | </p> | ||
564 | 52 | </div> | ||
565 | 53 | </div> | ||
566 | 42 | {% endif %} | 54 | {% endif %} |
599 | 43 | {% endblock %} | 55 | </div> |
600 | 44 | 56 | <div class="row"> | |
601 | 45 | {% block content %} | 57 | <div id="auth" class="login col-6"> |
602 | 46 | 58 | {% with selected_form="login" %} | |
603 | 47 | 59 | <div class="form-box p-card selected-{{selected_form}}"> | |
604 | 48 | <div class="yui3-g-r"> | 60 | {% include "registration/_title.html" %} |
605 | 49 | 61 | <div> | |
606 | 50 | <div id="auth" class="yui3-u-1-2 login"> | 62 | <div class="login-form"> |
607 | 51 | 63 | {% include "registration/_login_form.html" with selected_form=selected_form %} | |
608 | 52 | {% with selected_form="login" %} | 64 | </div> |
609 | 53 | <div class="form-box selected-{{selected_form}}"> | 65 | |
610 | 54 | 66 | {% if not readonly %} | |
611 | 55 | {% include "registration/_title.html" %} | 67 | <noscript> |
612 | 56 | 68 | <p class="no-js-create-account">{% trans "Or create a new account:" %}</p> | |
613 | 57 | <div class="dual-forms"> | 69 | </noscript> |
614 | 58 | 70 | ||
615 | 59 | <div class="login-form"> | 71 | <div class="create-form show-no-js"> |
616 | 60 | {% include "registration/_login_form.html" with selected_form=selected_form %} | 72 | {% include "registration/_create_account_form.html" with create_form=create_account_form csrf_token=csrf_token %} |
617 | 61 | </div> | 73 | </div> |
618 | 62 | 74 | {% endif %} | |
587 | 63 | {% if not readonly %} | ||
588 | 64 | <noscript> | ||
589 | 65 | <p class="no-js-create-account">{% trans "Or create a new account:" %}</p> | ||
590 | 66 | </noscript> | ||
591 | 67 | |||
592 | 68 | <div class="create-form show-no-js"> | ||
593 | 69 | {% include "registration/_create_account_form.html" with create_form=create_account_form csrf_token=csrf_token %} | ||
594 | 70 | </div> | ||
595 | 71 | {% endif %} | ||
596 | 72 | |||
597 | 73 | </div> | ||
598 | 74 | |||
619 | 75 | </div> | 75 | </div> |
622 | 76 | {% endwith %} | 76 | </div> |
623 | 77 | 77 | {% endwith %} | |
624 | 78 | </div> | 78 | </div> |
628 | 79 | 79 | <aside class="col-6"> | |
629 | 80 | <div class="yui3-u-1-3"> | 80 | <div class="p-table-of-contents"> |
627 | 81 | |||
630 | 82 | {% include "registration/_ubuntuone_information.html" %} | 81 | {% include "registration/_ubuntuone_information.html" %} |
635 | 83 | 82 | </div> | |
636 | 84 | </div> | 83 | </aside> |
637 | 85 | 84 | </div> | |
638 | 86 | </div> | 85 | </section> |
639 | 87 | 86 | ||
640 | 88 | {% endblock %} | 87 | {% endblock %} |
641 | 89 | 88 | ||
642 | 90 | {% block extra_js %} | 89 | {% block extra_js %} |
643 | 91 | <script type="text/javascript"> | 90 | <script type="text/javascript"> |
688 | 92 | 91 | 'use strict'; | |
689 | 93 | 'use strict'; | 92 | |
690 | 94 | 93 | YUI().use('node', function(Y) { | |
691 | 95 | YUI().use('node', function(Y) { | 94 | var CREATE = 'create', |
692 | 96 | var CREATE = 'create', | 95 | LOGIN = 'login', |
693 | 97 | LOGIN = 'login', | 96 | VALUE = 'value', |
694 | 98 | VALUE = 'value', | 97 | CLICK = 'click', |
695 | 99 | CLICK = 'click', | 98 | PAGESHOW = 'pageshow', |
696 | 100 | PAGESHOW = 'pageshow', | 99 | SELECTED = 'selected', |
697 | 101 | SELECTED = 'selected', | 100 | |
698 | 102 | 101 | formBox = Y.one('.form-box'), | |
699 | 103 | formBox = Y.one('.form-box'), | 102 | classes = [CREATE, LOGIN], |
700 | 104 | classes = [CREATE, LOGIN], | 103 | change, |
701 | 105 | change, | 104 | win = Y.config.win; |
702 | 106 | win = Y.config.win; | 105 | |
703 | 107 | 106 | change = function (target) { | |
704 | 108 | change = function (target) { | 107 | |
705 | 109 | 108 | var show = target.get(VALUE), | |
706 | 110 | var show = target.get(VALUE), | 109 | hide = classes[target.get(VALUE) === classes[0] ? 1 : 0], |
707 | 111 | hide = classes[target.get(VALUE) === classes[0] ? 1 : 0], | 110 | newEmail = formBox.one('.' + hide + '-form input[type=email]').get(VALUE); |
708 | 112 | newEmail = formBox.one('.'+hide+'-form input[type=email]').get(VALUE); | 111 | |
709 | 113 | 112 | formBox.removeClass(SELECTED + '-' + hide).addClass(SELECTED + '-' + show); | |
710 | 114 | formBox.removeClass(SELECTED + '-' + hide).addClass(SELECTED + '-' + show); | 113 | |
711 | 115 | 114 | // transfer email | |
712 | 116 | // transfer email | 115 | if(newEmail) { |
713 | 117 | if(newEmail) { | 116 | formBox.one('.' + show + '-form input[type=email]').set(VALUE, newEmail); |
714 | 118 | formBox.one('.'+show+'-form input[type=email]').set(VALUE, newEmail); | 117 | } |
715 | 119 | } | 118 | |
716 | 120 | 119 | // move radios | |
717 | 121 | // move radios | 120 | Y.one('.' + show + '-form .email-input').insert(Y.one('.user-intention').remove(), 'after'); |
718 | 122 | Y.one('.'+show+'-form .email-input').insert(Y.one('.user-intention').remove(), 'after'); | 121 | }; |
719 | 123 | }; | 122 | |
720 | 124 | 123 | // bind radios | |
721 | 125 | // bind radios | 124 | formBox.all('.user-intention input[type=radio]').on(CLICK, function (e) { |
722 | 126 | formBox.all('.user-intention input[type=radio]').on(CLICK, function (e) { | 125 | change(e.target); |
679 | 127 | change(e.target); | ||
680 | 128 | }); | ||
681 | 129 | // for back buttons, or when firefox caches the radio value | ||
682 | 130 | if(win.addEventListener) { | ||
683 | 131 | win.addEventListener(PAGESHOW, function () { | ||
684 | 132 | change(Y.one('.user-intention input:checked')); | ||
685 | 133 | }, false); | ||
686 | 134 | } | ||
687 | 135 | |||
723 | 136 | }); | 126 | }); |
725 | 137 | 127 | // for back buttons, or when firefox caches the radio value | |
726 | 128 | if(win.addEventListener) { | ||
727 | 129 | win.addEventListener(PAGESHOW, function () { | ||
728 | 130 | change(Y.one('.user-intention input:checked')); | ||
729 | 131 | }, false); | ||
730 | 132 | } | ||
731 | 133 | }); | ||
732 | 138 | </script> | 134 | </script> |
733 | 139 | 135 | ||
734 | 140 | {% include "registration/_password_meter.html" with pwd_selector=".create-form #id_password" pwd_confirm_selector=".create-form #id_passwordconfirm" %} | 136 | {% include "registration/_password_meter.html" with pwd_selector=".create-form #id_password" pwd_confirm_selector=".create-form #id_passwordconfirm" %} |
735 | 141 | 137 | ||
736 | === modified file 'src/webui/templates/registration/new_account.html' | |||
737 | --- src/webui/templates/registration/new_account.html 2014-12-10 15:30:54 +0000 | |||
738 | +++ src/webui/templates/registration/new_account.html 2019-08-05 13:10:49 +0000 | |||
739 | @@ -1,9 +1,9 @@ | |||
741 | 1 | {% extends "base.html" %} | 1 | {% extends "vanilla/base.html" %} |
742 | 2 | {% load i18n %} | 2 | {% load i18n %} |
743 | 3 | {% load gargoyle_tags %} | 3 | {% load gargoyle_tags %} |
744 | 4 | 4 | ||
745 | 5 | {% comment %} | 5 | {% comment %} |
747 | 6 | Copyright 2010-2013 Canonical Ltd. This software is licensed under | 6 | Copyright 2010-2019 Canonical Ltd. This software is licensed under |
748 | 7 | the GNU Affero General Public License version 3 (see the file | 7 | the GNU Affero General Public License version 3 (see the file |
749 | 8 | LICENSE). | 8 | LICENSE). |
750 | 9 | {% endcomment %} | 9 | {% endcomment %} |
751 | @@ -16,79 +16,70 @@ | |||
752 | 16 | {% block menu %}{% endblock %} | 16 | {% block menu %}{% endblock %} |
753 | 17 | 17 | ||
754 | 18 | {% block text_title %} | 18 | {% block text_title %} |
762 | 19 | <h1 class="u1-h-main"> | 19 | <h1> |
763 | 20 | {% if rpconfig and rpconfig.logo_url %} | 20 | {% if rpconfig and rpconfig.logo_url %} |
764 | 21 | <img id="rpconfig_logo" src="{{ rpconfig.logo_url }}"> | 21 | <img id="rpconfig_logo" src="{{ rpconfig.logo_url }}"> |
765 | 22 | {% else %} | 22 | {% else %} |
766 | 23 | {% trans "One account to log in to everything on Ubuntu" %} | 23 | {% trans "One account to log in to everything on Ubuntu" %} |
767 | 24 | {% endif %} | 24 | {% endif %} |
768 | 25 | </h1> | 25 | </h1> |
769 | 26 | {% endblock %} | 26 | {% endblock %} |
770 | 27 | 27 | ||
771 | 28 | {% block content_id %}auth{% endblock %} | 28 | {% block content_id %}auth{% endblock %} |
772 | 29 | 29 | ||
773 | 30 | {% block content %} | 30 | {% block content %} |
774 | 31 | 31 | ||
788 | 32 | <div class="yui3-g-r"> | 32 | <section class="p-strip"> |
789 | 33 | 33 | <div class="row"> | |
790 | 34 | <div class="yui3-u-1-2 create-account"> | 34 | <div class="col-6 create-account"> |
791 | 35 | 35 | {% with selected_form="create" %} | |
792 | 36 | {% with selected_form="create" %} | 36 | <div class="form-box selected-{{selected_form}}"> |
793 | 37 | <div class="form-box selected-{{selected_form}}"> | 37 | {% include "registration/_title.html" %} |
794 | 38 | 38 | <div class="create-form"> | |
795 | 39 | {% include "registration/_title.html" %} | 39 | {% include "registration/_create_account_form.html" with create_form=form selected_form=selected_form %} |
783 | 40 | |||
784 | 41 | <div class="create-form"> | ||
785 | 42 | {% include "registration/_create_account_form.html" with create_form=form selected_form=selected_form %} | ||
786 | 43 | </div> | ||
787 | 44 | |||
796 | 45 | </div> | 40 | </div> |
798 | 46 | {% endwith %} | 41 | </div> |
799 | 42 | {% endwith %} | ||
800 | 47 | </div> | 43 | </div> |
804 | 48 | 44 | <aside class="col-6"> | |
805 | 49 | <div class="yui3-u-1-3"> | 45 | <div class="p-table-of-contents"> |
803 | 50 | |||
806 | 51 | {% include "registration/_ubuntuone_information.html" %} | 46 | {% include "registration/_ubuntuone_information.html" %} |
812 | 52 | 47 | </div> | |
813 | 53 | </div> | 48 | </aside> |
814 | 54 | 49 | </div> | |
815 | 55 | 50 | </section> | |
811 | 56 | </div> | ||
816 | 57 | 51 | ||
817 | 58 | {% endblock %} | 52 | {% endblock %} |
818 | 59 | 53 | ||
819 | 60 | {% block extra_js %} | 54 | {% block extra_js %} |
820 | 61 | 55 | ||
821 | 62 | <script type="text/javascript"> | 56 | <script type="text/javascript"> |
849 | 63 | 57 | YUI().use('node', function(Y) { | |
850 | 64 | YUI().use('node', function(Y) { | 58 | var email = Y.one('#id_email'), |
851 | 65 | var email = Y.one('#id_email'), | 59 | win = Y.config.win; |
852 | 66 | win = Y.config.win; | 60 | toLogin = function () { |
853 | 67 | toLogin = function () { | 61 | win.location.href = '{% url 'login' %}'; |
854 | 68 | win.location.href = '{% url 'login' %}'; | 62 | } |
855 | 69 | } | 63 | |
856 | 70 | 64 | // autofocus shiv | |
857 | 71 | // autofocus shiv | 65 | if (!("autofocus" in document.createElement("input"))) { |
858 | 72 | if (!("autofocus" in document.createElement("input"))) { | 66 | email.focus(); |
859 | 73 | email.focus(); | 67 | } |
860 | 74 | } | 68 | |
861 | 75 | 69 | // send user back to login on radio click | |
862 | 76 | // send user back to login on radio click | 70 | Y.one('.returning-user').on('click', function () { |
863 | 77 | Y.one('.returning-user').on('click', function () { | 71 | toLogin(); |
837 | 78 | toLogin(); | ||
838 | 79 | }); | ||
839 | 80 | |||
840 | 81 | // send user back if the radio should be checked on pageshow | ||
841 | 82 | if(win.addEventListener) { | ||
842 | 83 | win.addEventListener('pageshow', function () { | ||
843 | 84 | if(Y.one('.returning-user input:checked')) { | ||
844 | 85 | toLogin(); | ||
845 | 86 | } | ||
846 | 87 | }, false); | ||
847 | 88 | } | ||
848 | 89 | |||
864 | 90 | }); | 72 | }); |
865 | 91 | 73 | ||
866 | 74 | // send user back if the radio should be checked on pageshow | ||
867 | 75 | if(win.addEventListener) { | ||
868 | 76 | win.addEventListener('pageshow', function () { | ||
869 | 77 | if(Y.one('.returning-user input:checked')) { | ||
870 | 78 | toLogin(); | ||
871 | 79 | } | ||
872 | 80 | }, false); | ||
873 | 81 | } | ||
874 | 82 | }); | ||
875 | 92 | </script> | 83 | </script> |
876 | 93 | 84 | ||
877 | 94 | {% include "registration/_password_meter.html" with pwd_selector="#id_password" pwd_confirm_selector="#id_passwordconfirm" %} | 85 | {% include "registration/_password_meter.html" with pwd_selector="#id_password" pwd_confirm_selector="#id_passwordconfirm" %} |
878 | 95 | 86 | ||
879 | === modified file 'src/webui/templates/vanilla/base.html' | |||
880 | --- src/webui/templates/vanilla/base.html 2019-07-17 13:41:04 +0000 | |||
881 | +++ src/webui/templates/vanilla/base.html 2019-08-05 13:10:49 +0000 | |||
882 | @@ -50,6 +50,13 @@ | |||
883 | 50 | {% endblock %} | 50 | {% endblock %} |
884 | 51 | 51 | ||
885 | 52 | <div id="content"> | 52 | <div id="content"> |
886 | 53 | <section class="p-strip--dark p-cip-hero"> | ||
887 | 54 | <div class="row"> | ||
888 | 55 | <div class="col-7"> | ||
889 | 56 | {% block text_title %}{% endblock %} | ||
890 | 57 | </div> | ||
891 | 58 | </div> | ||
892 | 59 | </section> | ||
893 | 53 | 60 | ||
894 | 54 | {% block readonly %} | 61 | {% block readonly %} |
895 | 55 | {% if readonly %} | 62 | {% if readonly %} |
896 | @@ -63,23 +70,21 @@ | |||
897 | 63 | 70 | ||
898 | 64 | {% block messages %} | 71 | {% block messages %} |
899 | 65 | {% if messages %} | 72 | {% if messages %} |
911 | 66 | {% for message in messages %} | 73 | <section class="p-strip is-shallow"> |
912 | 67 | <div class="p-notification"> | 74 | {% for message in messages %} |
902 | 68 | <p class="p-notification__response"> | ||
903 | 69 | {{ message }} | ||
904 | 70 | </p> | ||
905 | 71 | </div> | ||
906 | 72 | {% endfor %} | ||
907 | 73 | {% endif %} | ||
908 | 74 | {% endblock %} | ||
909 | 75 | |||
910 | 76 | <section class="p-strip--dark p-cip-hero"> | ||
913 | 77 | <div class="row"> | 75 | <div class="row"> |
916 | 78 | <div class="col-7"> | 76 | <div class="col-12"> |
917 | 79 | {% block text_title %}{% endblock %} | 77 | <div class="p-notification"> |
918 | 78 | <p class="p-notification__response"> | ||
919 | 79 | {{ message }} | ||
920 | 80 | </p> | ||
921 | 81 | </div> | ||
922 | 80 | </div> | 82 | </div> |
923 | 81 | </div> | 83 | </div> |
924 | 84 | {% endfor %} | ||
925 | 82 | </section> | 85 | </section> |
926 | 86 | {% endif %} | ||
927 | 87 | {% endblock %} | ||
928 | 83 | 88 | ||
929 | 84 | <div id="{% block content_id %}box{% endblock %}"> | 89 | <div id="{% block content_id %}box{% endblock %}"> |
930 | 85 | {% block content %}{% endblock %} | 90 | {% block content %}{% endblock %} |
NOTE: To create a new user, you might want to see the email the systems sends. You can run "make mail-debug" in another terminal where you've sourced the env and you'll see all email content that's sent.