Merge lp:~nataliabidart/canonical-identity-provider/more-qa-anchors-for-sso into lp:canonical-identity-provider/release

Proposed by Natalia Bidart
Status: Merged
Approved by: Leo Arias
Approved revision: no longer in the source branch.
Merged at revision: 927
Proposed branch: lp:~nataliabidart/canonical-identity-provider/more-qa-anchors-for-sso
Merge into: lp:canonical-identity-provider/release
Diff against target: 2031 lines (+354/-260)
87 files modified
acceptance/actions/subheader.py (+11/-5)
acceptance/helpers.py (+20/-0)
acceptance/pages.py (+35/-29)
acceptance/tests/applications/create_multiple_apps.py (+6/-3)
acceptance/tests/applications/delete_app.py (+9/-5)
acceptance/tests/devices/__init__.py (+3/-1)
acceptance/tests/devices/testcases/test_device_login.py (+2/-2)
acceptance/tests/logout/logout_deep_pages.py (+1/-5)
acceptance/tests/logout/logout_ubuntu.py (+5/-10)
acceptance/tests/new_account/passwords_bad_client-side.csv (+1/-1)
acceptance/tests/new_account/passwords_bad_client-side.py (+7/-8)
acceptance/tests/new_account/passwords_bad_client-side_ubuntuone.csv (+0/-6)
acceptance/tests/new_account/passwords_bad_client-side_ubuntuone.py (+0/-38)
acceptance/tests/new_account/passwords_bad_server-side.csv (+1/-1)
acceptance/tests/new_account/passwords_bad_server-side.py (+5/-11)
acceptance/tests/root/links.py (+3/-5)
requirements/testing.txt (+1/-1)
scripts/acceptance-dev.sh (+6/-1)
scripts/run-acceptance-tests (+3/-0)
src/identityprovider/media/ubuntu/styles.css (+2/-1)
src/identityprovider/templates/server/decide.html (+6/-2)
src/identityprovider/templatetags/menu_item.py (+3/-2)
src/identityprovider/tests/test_views_server.py (+3/-1)
src/webui/templates/account/applications.html (+2/-3)
src/webui/templates/account/confirm_email_invalidation.html (+3/-1)
src/webui/templates/account/confirm_new_email.html (+2/-2)
src/webui/templates/account/delete_email.html (+4/-2)
src/webui/templates/account/edit.html (+3/-1)
src/webui/templates/account/emails.html (+7/-3)
src/webui/templates/account/new_email.html (+3/-1)
src/webui/templates/device/addition-generic.html (+3/-2)
src/webui/templates/device/generate-codes.html (+3/-2)
src/webui/templates/device/list.html (+1/-1)
src/webui/templates/device/print-codes.html (+4/-2)
src/webui/templates/device/removal.html (+2/-1)
src/webui/templates/device/rename.html (+1/-1)
src/webui/templates/device/types.html (+2/-1)
src/webui/templates/enter_token.html (+3/-3)
src/webui/templates/launchpad/base.html (+2/-8)
src/webui/templates/launchpad/registration/confirm_new_account.html (+6/-2)
src/webui/templates/launchpad/registration/email_sent.html (+3/-1)
src/webui/templates/launchpad/registration/forgot_password.html (+5/-1)
src/webui/templates/launchpad/registration/login.html (+3/-1)
src/webui/templates/launchpad/registration/logout.html (+2/-0)
src/webui/templates/launchpad/registration/new_account.html (+5/-1)
src/webui/templates/launchpad/registration/reset_password.html (+3/-1)
src/webui/templates/launchpad/registration/twofactor.html (+5/-1)
src/webui/templates/menu_item.html (+9/-3)
src/webui/templates/select_language.html (+1/-0)
src/webui/templates/ubuntu/base.html (+2/-2)
src/webui/templates/ubuntu/registration/confirm_new_account.html (+3/-1)
src/webui/templates/ubuntu/registration/email_sent.html (+1/-1)
src/webui/templates/ubuntu/registration/forgot_password.html (+3/-2)
src/webui/templates/ubuntu/registration/login.html (+3/-1)
src/webui/templates/ubuntu/registration/new_account.html (+3/-2)
src/webui/templates/ubuntu/registration/reset_password.html (+1/-2)
src/webui/templates/ubuntu/registration/twofactor.html (+3/-1)
src/webui/templates/ubuntuone/account/applications.html (+2/-4)
src/webui/templates/ubuntuone/account/confirm_new_email.html (+2/-2)
src/webui/templates/ubuntuone/account/delete_email.html (+3/-1)
src/webui/templates/ubuntuone/account/edit.html (+3/-1)
src/webui/templates/ubuntuone/account/emails.html (+7/-3)
src/webui/templates/ubuntuone/account/new_email.html (+3/-1)
src/webui/templates/ubuntuone/base.html (+1/-1)
src/webui/templates/ubuntuone/device/list.html (+5/-3)
src/webui/templates/ubuntuone/device/print-codes.html (+7/-5)
src/webui/templates/ubuntuone/device/rename.html (+4/-2)
src/webui/templates/ubuntuone/device/types.html (+1/-1)
src/webui/templates/ubuntuone/enter_token.html (+1/-1)
src/webui/templates/ubuntuone/registration/_create_account_form.html (+3/-2)
src/webui/templates/ubuntuone/registration/_login_form.html (+3/-1)
src/webui/templates/ubuntuone/registration/confirm_new_account.html (+3/-1)
src/webui/templates/ubuntuone/registration/email_sent.html (+1/-1)
src/webui/templates/ubuntuone/registration/forgot_password.html (+3/-2)
src/webui/templates/ubuntuone/registration/reset_password.html (+2/-3)
src/webui/templates/ubuntuone/registration/twofactor.html (+5/-1)
src/webui/templates/ubuntuone/select_language.html (+3/-1)
src/webui/templates/ubuntuone/server/decide.html (+12/-9)
src/webui/templates/widgets/launchpad/login-button.html (+12/-0)
src/webui/templates/widgets/launchpad/logout-button.html (+8/-5)
src/webui/templates/widgets/passwords.html (+1/-1)
src/webui/templates/widgets/ubuntu/login-button.html (+4/-4)
src/webui/templates/widgets/ubuntu/logout-button.html (+2/-2)
src/webui/templates/widgets/ubuntuone/header-me-menu.html (+9/-3)
src/webui/templates/widgets/ubuntuone/personal-menu.html (+1/-1)
src/webui/views/account.py (+3/-2)
src/webui/views/ui.py (+1/-1)
To merge this branch: bzr merge lp:~nataliabidart/canonical-identity-provider/more-qa-anchors-for-sso
Reviewer Review Type Date Requested Status
Leo Arias (community) Approve
Review via email: mp+169038@code.launchpad.net

Commit message

- Adding lots of data-qa-id attrs to several HTML elements for ubuntu, launchpad and ubuntuone templates.
- Bumped revno of u1testutils to 80.
- Unified login/logout template rendering mechanism between ubuntu and launchpad.

To post a comment you must log in.
Revision history for this message
Leo Arias (elopio) wrote :

You have done a huge amount of work. Thank you very much!
I like the data-qa-ids you are using, as they make more readable the tests helpers. Thanks for that too.

Some comments:

286 +for i, token in enumerate((TOKEN_1, TOKEN_2, TOKEN_3)):
287 + assert_text_contains(applications[i + 1], token)

Here, I suppose we are not checking the first application because it's the one added when creating the account. A comment about this will be nice to make it easier to understand the test in the case of a failure.

333 + if device_names is None:
334 + device_names = ['2F Required Generic Device']

Can you please explain this change to me? I thought having a default value for devices names would make it faster to understand. It's not a complaint, I'm just wondering if this is the style we should follow.

402 +if helpers.get_current_brand() == 'launchpad':
403 + click_button(logout_element)
404 +else:
405 + click_link(logout_element)

Maybe this can be changed to click_element(logout_element) and we can remove the if. From the user point of view, I think it's not important if it's a link or a button. With CSS we make some buttons look like links and also the other way around.

473 +# wait for animation
474 +sleep(0.5)

I don't like this. Maybe we can wait for the element to be visible, or do some other trick. I'm now used with fighting animations, so feel free to open a bug and assign it to me with low priority. I'll take a look when I'm bored waiting for runs.

540 \ No newline at end of file

A newline here would be nice.

731 + self.assertEqual(button.text_content().strip(), 'Yes, log me in')

Here it would be nice if you comment why the content has to be stripped.

844 + <a href="./+remove-email?id={{ email.id }}" class="btn-sm" data-qa-id="remove_verified_email">
845 + <span>{% trans "Delete" %}</span>
846 + </a>

Shouldn't this be indented one more level, because it's inside the if?

Revision history for this message
Natalia Bidart (nataliabidart) wrote :

> You have done a huge amount of work. Thank you very much!
> I like the data-qa-ids you are using, as they make more readable the tests
> helpers. Thanks for that too.

:-)

> 286 +for i, token in enumerate((TOKEN_1, TOKEN_2, TOKEN_3)):
> 287 + assert_text_contains(applications[i + 1], token)
>
> Here, I suppose we are not checking the first application because it's the one
> added when creating the account. A comment about this will be nice to make it
> easier to understand the test in the case of a failure.

Yes, comment added.

> 333 + if device_names is None:
> 334 + device_names = ['2F Required Generic Device']
>
> Can you please explain this change to me? I thought having a default value for
> devices names would make it faster to understand. It's not a complaint, I'm
> just wondering if this is the style we should follow.

Followed up in the irc channel, but basically we need to avoid having mutable objects as default value for parameters.

> 402 +if helpers.get_current_brand() == 'launchpad':
> 403 + click_button(logout_element)
> 404 +else:
> 405 + click_link(logout_element)
>
> Maybe this can be changed to click_element(logout_element) and we can remove
> the if. From the user point of view, I think it's not important if it's a link
> or a button. With CSS we make some buttons look like links and also the other
> way around.

Done!

> 473 +# wait for animation
> 474 +sleep(0.5)
>
> I don't like this. Maybe we can wait for the element to be visible, or do some
> other trick. I'm now used with fighting animations, so feel free to open a bug
> and assign it to me with low priority. I'll take a look when I'm bored waiting
> for runs.

Done, LP: #1190411.

> 540 \ No newline at end of file
>
> A newline here would be nice.

Is added now (the "No newline at end of file" refers to the old version of the file).

> 731 + self.assertEqual(button.text_content().strip(), 'Yes, log me in')
>
> Here it would be nice if you comment why the content has to be stripped.

Added!

> 844 + <a href="./+remove-email?id={{ email.id }}" class="btn-sm" data-qa-
> id="remove_verified_email">
> 845 + <span>{% trans "Delete" %}</span>
> 846 + </a>
>
> Shouldn't this be indented one more level, because it's inside the if?

It is already indented... perhaps am I missing something?

Thanks for all the time you out on this!

Revision history for this message
Leo Arias (elopio) wrote :

land land land.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'acceptance/actions/subheader.py'
--- acceptance/actions/subheader.py 2013-05-13 07:41:43 +0000
+++ acceptance/actions/subheader.py 2013-06-13 00:15:30 +0000
@@ -2,27 +2,33 @@
22
33
4def _assert_full_name_in_account_link(full_name):4def _assert_full_name_in_account_link(full_name):
5 sst.actions.assert_text(_get_my_account_link(), full_name[:40])5 sst.actions.assert_text(_get_my_account_section(), full_name[:40])
6
7
8def _get_my_account_section():
9 return sst.actions.get_element_by_css(
10 '*[data-qa-id="account"] *[data-qa-id="user_name"]')
611
712
8def _get_my_account_link():13def _get_my_account_link():
9 return sst.actions.get_element(id='account')14 return sst.actions.get_element_by_css('*[data-qa-id="account_link"]')
1015
1116
12def _get_devices_link():17def _get_devices_link():
13 return sst.actions.get_element(id='devices-link')18 return sst.actions.get_element_by_css('*[data-qa-id="devices_link"]')
1419
1520
16def _get_applications_link():21def _get_applications_link():
17 return sst.actions.get_element(id='applications-link')22 return sst.actions.get_element_by_css('*[data-qa-id="applications_link"]')
1823
1924
20def _get_log_out_link():25def _get_log_out_link():
21 return sst.actions.get_element(id='logout-link')26 return sst.actions.get_element_by_css('*[data-qa-id="logout_link"]')
2227
2328
24def assert_log_in(full_name):29def assert_log_in(full_name):
25 _assert_full_name_in_account_link(full_name)30 _assert_full_name_in_account_link(full_name)
31 _get_my_account_link()
26 _get_log_out_link()32 _get_log_out_link()
2733
2834
2935
=== modified file 'acceptance/helpers.py'
--- acceptance/helpers.py 2013-05-17 20:45:52 +0000
+++ acceptance/helpers.py 2013-06-13 00:15:30 +0000
@@ -328,3 +328,23 @@
328328
329 link = match.groups()[0]329 link = match.groups()[0]
330 return link330 return link
331
332
333# this is a temporarly helper so we can detect brands at UI rendering time
334# since we can not access flags properly from within the acceptance run
335def get_current_brand():
336 try:
337 get_element_by_css('*[data-qa-id="brand_ubuntuone"]')
338 except:
339 pass
340 else:
341 return 'ubuntuone'
342
343 try:
344 get_element_by_css('*[data-qa-id="brand_launchpad"]')
345 except:
346 pass
347 else:
348 return 'launchpad'
349
350 return 'ubuntu'
331351
=== modified file 'acceptance/pages.py'
--- acceptance/pages.py 2013-06-08 06:26:43 +0000
+++ acceptance/pages.py 2013-06-13 00:15:30 +0000
@@ -20,18 +20,14 @@
20 self.menu = Menu()20 self.menu = Menu()
2121
22 def get_user_name(self):22 def get_user_name(self):
23 try:23 user_name_element = sst.actions.get_element_by_css(
24 # This is present on the ubuntuone and launchpad templates.24 '*[data-qa-id="user_name"]')
25 user_name_element = sst.actions.get_element_by_css(
26 '*[data-qa-id="user_name"]')
27 except AssertionError:
28 # This is present on the ubuntu template.
29 user_name_element = sst.actions.get_element(id='account')
30 return user_name_element.text25 return user_name_element.text
3126
32 @log_action(logging.info)27 @log_action(logging.info)
33 def log_out(self):28 def log_out(self):
34 sst.actions.click_link('logout-link')29 link = sst.actions.get_element_by_css('*[data-qa-id="logout_link"]')
30 sst.actions.click_link(link)
35 return YouHaveBeenLoggedOut()31 return YouHaveBeenLoggedOut()
3632
3733
@@ -40,12 +36,14 @@
4036
41 @log_action(logging.info)37 @log_action(logging.info)
42 def go_to_authentication_devices(self):38 def go_to_authentication_devices(self):
43 sst.actions.click_link('devices-link')39 link = sst.actions.get_element_by_css('*[data-qa-id="devices_link"]')
40 sst.actions.click_link(link)
44 return YourAuthenticationDevices()41 return YourAuthenticationDevices()
4542
46 @log_action(logging.info)43 @log_action(logging.info)
47 def go_to_your_account(self):44 def go_to_your_account(self):
48 sst.actions.click_link('account-link')45 link = sst.actions.get_element_by_css('*[data-qa-id="account_link"]')
46 sst.actions.click_link(link)
49 return YourAccount()47 return YourAccount()
5048
5149
@@ -144,7 +142,8 @@
144142
145 @log_action(logging.info)143 @log_action(logging.info)
146 def click_log_in_or_create_account(self):144 def click_log_in_or_create_account(self):
147 sst.actions.click_link('login-link')145 link = sst.actions.get_element_by_css('*[data-qa-id="login_link"]')
146 sst.actions.click_link(link)
148 return LogIn()147 return LogIn()
149148
150149
@@ -186,7 +185,8 @@
186 @log_action(logging.info)185 @log_action(logging.info)
187 def add_email(self, email_address):186 def add_email(self, email_address):
188 sst.actions.write_textfield('id_newemail', email_address)187 sst.actions.write_textfield('id_newemail', email_address)
189 sst.actions.click_button(sst.actions.get_element(name='continue'))188 sst.actions.click_button(
189 sst.actions.get_element_by_css('*[data-qa-id="add_new_email"]'))
190190
191 @log_action(logging.info)191 @log_action(logging.info)
192 def delete_email(self):192 def delete_email(self):
@@ -212,7 +212,8 @@
212 sst.actions.write_textfield('id_email', email_address)212 sst.actions.write_textfield('id_email', email_address)
213213
214 def _continue(self):214 def _continue(self):
215 sst.actions.click_button(sst.actions.get_element(name='continue'))215 sst.actions.click_button(sst.actions.get_element_by_css(
216 '*[data-qa-id="confirm_enter_token"]'))
216217
217 @log_action(logging.info)218 @log_action(logging.info)
218 def confirm_with_error(self, confirmation_code, email_address):219 def confirm_with_error(self, confirmation_code, email_address):
@@ -223,12 +224,13 @@
223224
224class DeleteEmail(LoggedUserPage):225class DeleteEmail(LoggedUserPage):
225226
227 url_path = '/+remove-email'
226 qa_anchor = 'delete_email'228 qa_anchor = 'delete_email'
227 url_path = '/+remove-email'
228229
229 @log_action(logging.info)230 @log_action(logging.info)
230 def confirm(self):231 def confirm(self):
231 confirm_button = sst.actions.get_element(name='delete')232 confirm_button = sst.actions.get_element_by_css(
233 '*[data-qa-id="confirm_delete_email"]')
232 sst.actions.click_button(confirm_button)234 sst.actions.click_button(confirm_button)
233 return YourEmailAddresses()235 return YourEmailAddresses()
234236
@@ -244,7 +246,8 @@
244 # Even though the recaptcha field is ignored for our tests, we do246 # Even though the recaptcha field is ignored for our tests, we do
245 # want to verify that it is on the page.247 # want to verify that it is on the page.
246 sst.actions.write_textfield('recaptcha_response_field', 'ignored')248 sst.actions.write_textfield('recaptcha_response_field', 'ignored')
247 sst.actions.click_button(sst.actions.get_element(name='continue'))249 sst.actions.click_button(sst.actions.get_element_by_css(
250 '*[data-qa-id="send_password_reset_token"]'))
248251
249252
250class LogInFromRedirect(u1testutils.sso.sst.pages.LogIn):253class LogInFromRedirect(u1testutils.sso.sst.pages.LogIn):
@@ -279,17 +282,17 @@
279 return AddNewAuthenticationDevice()282 return AddNewAuthenticationDevice()
280283
281 @log_action(logging.info)284 @log_action(logging.info)
282 def delete_authentication_device(self, index=0):285 def delete_authentication_device(self, device_index=0):
283 delete_link = sst.actions.get_elements_by_css(286 delete_link = sst.actions.get_elements_by_css(
284 '*[data-qa-id="delete_device"]')287 '*[data-qa-id="delete_device"]')
285 sst.actions.click_link(delete_link[index])288 sst.actions.click_link(delete_link[device_index])
286 return DeleteAuthenticationDevice()289 return DeleteAuthenticationDevice()
287290
288 @log_action(logging.info)291 @log_action(logging.info)
289 def rename_authentication_device(self, index=0):292 def rename_authentication_device(self, device_index=0):
290 rename_link = sst.actions.get_elements_by_css(293 rename_link = sst.actions.get_elements_by_css(
291 '*[data-qa-id="rename_device"]')294 '*[data-qa-id="rename_device"]')
292 sst.actions.click_link(rename_link[index])295 sst.actions.click_link(rename_link[device_index])
293 return RenameAuthenticationDevice()296 return RenameAuthenticationDevice()
294297
295 def is_warning_displayed(self):298 def is_warning_displayed(self):
@@ -369,7 +372,8 @@
369372
370 @log_action(logging.info)373 @log_action(logging.info)
371 def cancel(self):374 def cancel(self):
372 cancel_link = sst.actions.get_element_by_css('*[data-qa-id="cancel"]')375 cancel_link = sst.actions.get_element_by_css(
376 '*[data-qa-id="cancel_add_device_from_type"]')
373 sst.actions.click_link(cancel_link)377 sst.actions.click_link(cancel_link)
374 return YourAuthenticationDevices()378 return YourAuthenticationDevices()
375379
@@ -411,8 +415,8 @@
411415
412 def _add_device(self, device_radio_identifier):416 def _add_device(self, device_radio_identifier):
413 sst.actions.set_radio_value(device_radio_identifier)417 sst.actions.set_radio_value(device_radio_identifier)
414 add_button = sst.actions.get_element(418 add_button = sst.actions.get_element_by_css(
415 tag='button', text_regex='Add device')419 '*[data-qa-id="add_device_from_type"]')
416 sst.actions.click_button(add_button)420 sst.actions.click_button(add_button)
417421
418422
@@ -436,7 +440,7 @@
436440
437 def _click_add_device(self):441 def _click_add_device(self):
438 add_button = sst.actions.get_element_by_css(442 add_button = sst.actions.get_element_by_css(
439 '*[data-qa-id="add_generic_device"]')443 '*[data-qa-id="confirm_add_device"]')
440 sst.actions.click_button(add_button)444 sst.actions.click_button(add_button)
441445
442 @log_action(logging.info)446 @log_action(logging.info)
@@ -471,7 +475,8 @@
471475
472 @log_action(logging.info)476 @log_action(logging.info)
473 def cancel(self):477 def cancel(self):
474 cancel_link = sst.actions.get_element_by_css('*[data-qa-id="cancel"]')478 cancel_link = sst.actions.get_element_by_css(
479 '*[data-qa-id="cancel_add_device"]')
475 sst.actions.click_link(cancel_link)480 sst.actions.click_link(cancel_link)
476 return YourAuthenticationDevices()481 return YourAuthenticationDevices()
477482
@@ -550,12 +555,12 @@
550 # TODO This test is really small and gives no real value to a user, so it's555 # TODO This test is really small and gives no real value to a user, so it's
551 # a perfect candidate to be converted into a django unit test.556 # a perfect candidate to be converted into a django unit test.
552 def assert_print_button_visible(self):557 def assert_print_button_visible(self):
553 sst.actions.assert_element('*[data-qa-id="print_btn"]')558 sst.actions.assert_element('*[data-qa-id="print_codes"]')
554559
555 @log_action(logging.info)560 @log_action(logging.info)
556 def go_back_to_device_list(self):561 def go_back_to_device_list(self):
557 device_list_link = sst.actions.get_element_by_css(562 device_list_link = sst.actions.get_element_by_css(
558 '*[data-qa-id="go_back"]')563 '*[data-qa-id="cancel_print_codes"]')
559 sst.actions.click_link(device_list_link)564 sst.actions.click_link(device_list_link)
560 return YourAuthenticationDevices()565 return YourAuthenticationDevices()
561566
@@ -587,13 +592,14 @@
587 @log_action(logging.info)592 @log_action(logging.info)
588 def confirm_new_codes(self):593 def confirm_new_codes(self):
589 confirm_button = sst.actions.get_element_by_css(594 confirm_button = sst.actions.get_element_by_css(
590 '*[data-qa-id="confirm-codes"]')595 '*[data-qa-id="confirm_new_codes"]')
591 sst.actions.click_button(confirm_button)596 sst.actions.click_button(confirm_button)
592 return PaperDevice()597 return PaperDevice()
593598
594 @log_action(logging.info)599 @log_action(logging.info)
595 def cancel(self):600 def cancel(self):
596 cancel_link = sst.actions.get_element_by_css('*[data-qa-id="cancel"]')601 cancel_link = sst.actions.get_element_by_css(
602 '*[data-qa-id="cancel_new_codes"]')
597 sst.actions.click_link(cancel_link)603 sst.actions.click_link(cancel_link)
598 return PaperDevice()604 return PaperDevice()
599605
600606
=== modified file 'acceptance/tests/applications/create_multiple_apps.py'
--- acceptance/tests/applications/create_multiple_apps.py 2013-05-02 17:20:14 +0000
+++ acceptance/tests/applications/create_multiple_apps.py 2013-06-13 00:15:30 +0000
@@ -9,6 +9,7 @@
9from sst.actions import (9from sst.actions import (
10 assert_text_contains,10 assert_text_contains,
11 get_base_url,11 get_base_url,
12 get_elements_by_css,
12 go_to,13 go_to,
13)14)
14from u1testutils.sst import config15from u1testutils.sst import config
@@ -49,6 +50,8 @@
49# Now log in and check that the apps are associated with the account.50# Now log in and check that the apps are associated with the account.
50helpers.login(email_address, PASSWORD)51helpers.login(email_address, PASSWORD)
51go_to(urls.APPLICATIONS)52go_to(urls.APPLICATIONS)
52assert_text_contains('content', 'chupacabra')53
53assert_text_contains('content', "leviathan")54applications = get_elements_by_css('*[data-qa-id="application_token"]')
54assert_text_contains('content', "behemoth")55for i, token in enumerate((TOKEN_1, TOKEN_2, TOKEN_3)):
56 # skip the first token which is the "web login" token
57 assert_text_contains(applications[i + 1], token)
5558
=== modified file 'acceptance/tests/applications/delete_app.py'
--- acceptance/tests/applications/delete_app.py 2013-05-16 15:09:51 +0000
+++ acceptance/tests/applications/delete_app.py 2013-06-13 00:15:30 +0000
@@ -8,7 +8,7 @@
8 click_button,8 click_button,
9 fails,9 fails,
10 get_base_url,10 get_base_url,
11 get_elements,11 get_elements_by_css,
12 go_to,12 go_to,
13)13)
14from u1testutils.sst import config14from u1testutils.sst import config
@@ -41,12 +41,16 @@
41# now test that the app is there and that we can delete it41# now test that the app is there and that we can delete it
42helpers.login(email_address, PASSWORD)42helpers.login(email_address, PASSWORD)
43go_to(urls.APPLICATIONS)43go_to(urls.APPLICATIONS)
44assert_text_contains('content', TOKEN_NAME)44token_names = get_elements_by_css('*[data-qa-id="application_token"]')
45delete_buttons = get_elements(css_class='btn-sm', name='Delete')45assert_text_contains(token_names[-1], TOKEN_NAME)
46delete_buttons = get_elements_by_css('*[data-qa-id="delete_application"]')
46# delete application token47# delete application token
47click_button(delete_buttons[0])48click_button(delete_buttons[-1])
48# log back in and should have no app49# log back in and should have no app
49helpers.logout()50helpers.logout()
50helpers.login(email_address, PASSWORD)51helpers.login(email_address, PASSWORD)
52
51go_to(urls.APPLICATIONS)53go_to(urls.APPLICATIONS)
52fails(assert_text_contains, 'content', TOKEN_NAME)54token_names = get_elements_by_css('*[data-qa-id="application_token"]')
55for token_name in token_names:
56 fails(assert_text_contains, token_name, TOKEN_NAME)
5357
=== modified file 'acceptance/tests/devices/__init__.py'
--- acceptance/tests/devices/__init__.py 2013-06-07 21:07:00 +0000
+++ acceptance/tests/devices/__init__.py 2013-06-13 00:15:30 +0000
@@ -77,8 +77,10 @@
7777
78class TwoFactorPageOpenedWithTwoFactorRequired(fixtures.Fixture):78class TwoFactorPageOpenedWithTwoFactorRequired(fixtures.Fixture):
7979
80 def __init__(self, device_names=['2F Required Generic Device'], user=None):80 def __init__(self, device_names=None, user=None):
81 super(TwoFactorPageOpenedWithTwoFactorRequired, self).__init__()81 super(TwoFactorPageOpenedWithTwoFactorRequired, self).__init__()
82 if device_names is None:
83 device_names = ['2F Required Generic Device']
82 self.device_names = device_names84 self.device_names = device_names
83 self.user = user85 self.user = user
8486
8587
=== removed directory 'acceptance/tests/devices/scripts'
=== modified file 'acceptance/tests/devices/testcases/test_device_login.py'
--- acceptance/tests/devices/testcases/test_device_login.py 2013-06-10 18:47:00 +0000
+++ acceptance/tests/devices/testcases/test_device_login.py 2013-06-13 00:15:30 +0000
@@ -2,11 +2,11 @@
2# This software is licensed under the GNU Affero General Public License2# This software is licensed under the GNU Affero General Public License
3# version 3 (see the file LICENSE).3# version 3 (see the file LICENSE).
44
5import sst.actions
6
5from acceptance import base, pages7from acceptance import base, pages
6from acceptance.tests import devices8from acceptance.tests import devices
79
8import sst.actions
9
1010
11class TestDeviceLogin(base.SSTTestCaseWithLogIn):11class TestDeviceLogin(base.SSTTestCaseWithLogIn):
1212
1313
=== modified file 'acceptance/tests/logout/logout_deep_pages.py'
--- acceptance/tests/logout/logout_deep_pages.py 2013-05-15 11:42:01 +0000
+++ acceptance/tests/logout/logout_deep_pages.py 2013-06-13 00:15:30 +0000
@@ -16,8 +16,6 @@
16 click_delete_button,16 click_delete_button,
17)17)
1818
19from identityprovider.utils import get_current_brand
20
2119
22config.set_base_url_from_env()20config.set_base_url_from_env()
2321
@@ -37,9 +35,7 @@
37# logout by clicking on link35# logout by clicking on link
38click_link('logout-link')36click_link('logout-link')
3937
40# no link present in ubuntuone brand38assert_element(href="/+login")
41if get_current_brand() != 'ubuntuone':
42 assert_element(href="/+login")
4339
44# make sure we're logged out40# make sure we're logged out
45go_to(urls.HOME)41go_to(urls.HOME)
4642
=== modified file 'acceptance/tests/logout/logout_ubuntu.py'
--- acceptance/tests/logout/logout_ubuntu.py 2013-06-05 17:09:49 +0000
+++ acceptance/tests/logout/logout_ubuntu.py 2013-06-13 00:15:30 +0000
@@ -5,7 +5,7 @@
5 assert_element,5 assert_element,
6 assert_title,6 assert_title,
7 click_button,7 click_button,
8 click_link,8 click_element,
9 get_element_by_css,9 get_element_by_css,
10 go_to,10 go_to,
11 write_textfield,11 write_textfield,
@@ -14,8 +14,6 @@
1414
15from acceptance import urls15from acceptance import urls
1616
17from identityprovider.utils import get_current_brand
18
1917
20# Set to Production, Staging, VPS, Developer etc..18# Set to Production, Staging, VPS, Developer etc..
21config.set_base_url_from_env()19config.set_base_url_from_env()
@@ -27,11 +25,10 @@
27click_button(get_element_by_css('*[data-qa-id="login_button"]'))25click_button(get_element_by_css('*[data-qa-id="login_button"]'))
2826
29# logout by clicking on link27# logout by clicking on link
30click_link('logout-link')28logout_element = get_element_by_css('*[data-qa-id="logout_link"]')
29click_element(logout_element)
3130
32# no link present in ubuntuone brand31assert_element(href="/+login")
33if get_current_brand() != 'ubuntuone':
34 assert_element(href="/+login")
3532
36# make sure we're logged out33# make sure we're logged out
37go_to(urls.HOME)34go_to(urls.HOME)
@@ -45,9 +42,7 @@
45# logout by hitting url directly42# logout by hitting url directly
46go_to(urls.LOGOUT)43go_to(urls.LOGOUT)
4744
48# no link present in ubuntuone brand45assert_element(href="/+login")
49if get_current_brand() != 'ubuntuone':
50 assert_element(href="/+login")
5146
52# make sure we're logged out47# make sure we're logged out
53go_to(urls.HOME)48go_to(urls.HOME)
5449
=== modified file 'acceptance/tests/new_account/passwords_bad_client-side.csv'
--- acceptance/tests/new_account/passwords_bad_client-side.csv 2012-03-06 13:10:19 +0000
+++ acceptance/tests/new_account/passwords_bad_client-side.csv 2013-06-13 00:15:30 +0000
@@ -1,6 +1,6 @@
1password^error1password^error
2'foo'^'Password too short'2'foo'^'Password too short'
3'foobar123'^'Strength: good'
4'Foo123'^'Password too short'3'Foo123'^'Password too short'
5' '^'Password too short'4' '^'Password too short'
6'12345678'^'Strength: fair'5'12345678'^'Strength: fair'
6'aA12_3555aA'^'Strength: strong'
77
=== modified file 'acceptance/tests/new_account/passwords_bad_client-side.py'
--- acceptance/tests/new_account/passwords_bad_client-side.py 2013-05-14 13:17:20 +0000
+++ acceptance/tests/new_account/passwords_bad_client-side.py 2013-06-13 00:15:30 +0000
@@ -6,20 +6,15 @@
6 assert_text,6 assert_text,
7 assert_title,7 assert_title,
8 assert_url,8 assert_url,
9 get_element,9 get_element_by_css,
10 go_to,10 go_to,
11 skip,11 sleep,
12 write_textfield,12 write_textfield,
13)13)
14from u1testutils.sst import config14from u1testutils.sst import config
1515
16from acceptance import urls16from acceptance import urls
1717
18from identityprovider.utils import get_current_brand
19
20
21if get_current_brand() == 'ubuntuone':
22 skip('Test not compatible with ubuntuone brand')
2318
24config.set_base_url_from_env()19config.set_base_url_from_env()
2520
@@ -27,7 +22,11 @@
27assert_url(urls.NEW_ACCOUNT)22assert_url(urls.NEW_ACCOUNT)
28assert_title('Create account')23assert_title('Create account')
2924
30elem = get_element(id='password_strength')25elem = get_element_by_css('*[data-qa-id="password_strength"]')
3126
32write_textfield('id_password', password)27write_textfield('id_password', password)
28
29# wait for animation
30sleep(0.5)
31
33assert_text(elem, error)32assert_text(elem, error)
3433
=== removed file 'acceptance/tests/new_account/passwords_bad_client-side_ubuntuone.csv'
--- acceptance/tests/new_account/passwords_bad_client-side_ubuntuone.csv 2013-05-10 10:13:09 +0000
+++ acceptance/tests/new_account/passwords_bad_client-side_ubuntuone.csv 1970-01-01 00:00:00 +0000
@@ -1,6 +0,0 @@
1password^error
2'fooo'^'Password too short'
3'foobar123'^'Strength: fair'
4'Foo123'^'Password too short'
5'12345678'^'Strength: weak'
6'aA12_3555aA'^'Strength: strong'
70
=== removed file 'acceptance/tests/new_account/passwords_bad_client-side_ubuntuone.py'
--- acceptance/tests/new_account/passwords_bad_client-side_ubuntuone.py 2013-05-15 09:38:24 +0000
+++ acceptance/tests/new_account/passwords_bad_client-side_ubuntuone.py 1970-01-01 00:00:00 +0000
@@ -1,38 +0,0 @@
1# password tests: client-side validation
2#
3# rules:
4# Password must be at least 8 characters long.
5from sst.actions import (
6 assert_text,
7 assert_title,
8 assert_url,
9 get_element_by_css,
10 go_to,
11 skip,
12 sleep,
13 write_textfield,
14)
15from u1testutils.sst import config
16
17from acceptance import urls
18
19from identityprovider.utils import get_current_brand
20
21
22if get_current_brand() != 'ubuntuone':
23 skip('Test only compatible with ubuntuone brand')
24
25config.set_base_url_from_env()
26
27go_to(urls.NEW_ACCOUNT)
28assert_url(urls.NEW_ACCOUNT)
29assert_title('Create account')
30
31elem = get_element_by_css('.yui3-passwordmeter-indicatorNode p')
32
33write_textfield('id_password', password)
34
35# wait for animation
36sleep(1)
37
38assert_text(elem, error)
390
=== modified file 'acceptance/tests/new_account/passwords_bad_server-side.csv'
--- acceptance/tests/new_account/passwords_bad_server-side.csv 2012-12-18 20:15:44 +0000
+++ acceptance/tests/new_account/passwords_bad_server-side.csv 2013-06-13 00:15:30 +0000
@@ -1,4 +1,4 @@
1password1password
2foo2foo
3Foo1233Foo123
4""
5\ No newline at end of file4\ No newline at end of file
5" "
66
=== modified file 'acceptance/tests/new_account/passwords_bad_server-side.py'
--- acceptance/tests/new_account/passwords_bad_server-side.py 2013-05-14 13:17:20 +0000
+++ acceptance/tests/new_account/passwords_bad_server-side.py 2013-06-13 00:15:30 +0000
@@ -3,12 +3,12 @@
3# rules:3# rules:
4# Password must be at least 8 characters long.4# Password must be at least 8 characters long.
5from sst.actions import (5from sst.actions import (
6 assert_attribute,
7 assert_text,6 assert_text,
7 assert_text_contains,
8 assert_title,8 assert_title,
9 assert_url,9 assert_url,
10 click_button,10 click_button,
11 get_element,11 get_element_by_css,
12 go_to,12 go_to,
13)13)
14from u1testutils import mail14from u1testutils import mail
@@ -16,8 +16,6 @@
1616
17from acceptance import helpers, urls17from acceptance import helpers, urls
1818
19from identityprovider.utils import get_current_brand
20
2119
22EMAIL = mail.make_unique_test_email_address()20EMAIL = mail.make_unique_test_email_address()
23NAME = 'Some Name'21NAME = 'Some Name'
@@ -26,15 +24,11 @@
26go_to(urls.NEW_ACCOUNT)24go_to(urls.NEW_ACCOUNT)
27assert_title('Create account')25assert_title('Create account')
28helpers.fill_registration_form(EMAIL, displayname=NAME, password=password)26helpers.fill_registration_form(EMAIL, displayname=NAME, password=password)
29click_button(get_element(name='continue'))27click_button(get_element_by_css('*[data-qa-id="register_button"]'))
3028
31assert_url(urls.NEW_ACCOUNT)29assert_url(urls.NEW_ACCOUNT)
32assert_text('id_displayname', NAME)30assert_text('id_displayname', NAME)
33assert_text('id_email', EMAIL)31assert_text('id_email', EMAIL)
3432
35if get_current_brand() == 'ubuntuone':33msg = 'at least 8 characters'
36 msg = 'Password with at least 8 characters'34assert_text_contains(get_element_by_css('span.error'), msg)
37 assert_attribute('id_password', 'placeholder', msg)
38else:
39 msg = 'Password must be at least 8 characters long.'
40 assert_text(get_element(css_class='formHelp'), msg)
4135
=== modified file 'acceptance/tests/root/links.py'
--- acceptance/tests/root/links.py 2013-05-14 13:17:20 +0000
+++ acceptance/tests/root/links.py 2013-06-13 00:15:30 +0000
@@ -12,9 +12,7 @@
12)12)
13from u1testutils.sst import config13from u1testutils.sst import config
1414
15from acceptance import urls15from acceptance import helpers, urls
16
17from identityprovider.utils import get_current_brand
1816
1917
20config.set_base_url_from_env()18config.set_base_url_from_env()
@@ -22,9 +20,9 @@
22go_to(urls.HOME)20go_to(urls.HOME)
23wait_for(assert_title, 'Log in')21wait_for(assert_title, 'Log in')
2422
25if get_current_brand() == 'ubuntuone':23if helpers.get_current_brand() == 'ubuntuone':
26 links = (24 links = (
27 ('Terms of use', 'https://one.ubuntu.com/terms/'),25 ('Terms of service', 'https://one.ubuntu.com/terms/'),
28 ('Privacy', 'https://one.ubuntu.com/privacy/'),26 ('Privacy', 'https://one.ubuntu.com/privacy/'),
29 ('Login support', 'https://forms.canonical.com/sso-support/'),27 ('Login support', 'https://forms.canonical.com/sso-support/'),
30 ('Choose your language', urls.get_base_url() + '/set_language'),28 ('Choose your language', urls.get_base_url() + '/set_language'),
3129
=== modified file 'requirements/testing.txt'
--- requirements/testing.txt 2013-06-05 17:11:48 +0000
+++ requirements/testing.txt 2013-06-13 00:15:30 +0000
@@ -31,5 +31,5 @@
31zope.schema==4.2.031zope.schema==4.2.0
32zope.testbrowser==3.5.132zope.testbrowser==3.5.1
33bzr+http://bazaar.launchpad.net/~canonical-isd-qa/selenium-simple-test/trunk/@41333bzr+http://bazaar.launchpad.net/~canonical-isd-qa/selenium-simple-test/trunk/@413
34bzr+http://bazaar.launchpad.net/~canonical-isd-hackers/u1-test-utils/trunk@7834bzr+http://bazaar.launchpad.net/~canonical-isd-hackers/u1-test-utils/trunk@80
35bzr+ssh://bazaar.launchpad.net/~bloodearnest/+junk/test-email-server/35bzr+ssh://bazaar.launchpad.net/~bloodearnest/+junk/test-email-server/
3636
=== modified file 'scripts/acceptance-dev.sh'
--- scripts/acceptance-dev.sh 2013-06-11 11:04:05 +0000
+++ scripts/acceptance-dev.sh 2013-06-13 00:15:30 +0000
@@ -24,7 +24,7 @@
2424
25while getopts ":b:t:hfcp:" opt; do25while getopts ":b:t:hfcp:" opt; do
26 case $opt in26 case $opt in
27 b) BRAND="brand:"$OPTARG ;;27 b) BRAND=$OPTARG ;;
28 t) TESTCASE=$OPTARG ;;28 t) TESTCASE=$OPTARG ;;
29 h) HEADLESS="true" ;;29 h) HEADLESS="true" ;;
30 f) HEADLESS="false" ;;30 f) HEADLESS="false" ;;
@@ -68,6 +68,11 @@
68 fab manage:add_openid_rp_config,$SST_BASE_URL/consumer,--allow-unverified,--allowed-user-attribs="fullname\,nickname\,email\,language,account_verified"68 fab manage:add_openid_rp_config,$SST_BASE_URL/consumer,--allow-unverified,--allowed-user-attribs="fullname\,nickname\,email\,language,account_verified"
69fi69fi
7070
71if [ $BRAND ]; then
72 fab manage:add_switch,"brand_"$BRAND
73 BRAND="brand:"$BRAND
74fi
75
71# handle exit cleanly (mainly Ctrl-C)76# handle exit cleanly (mainly Ctrl-C)
72trap clean_up SIGHUP SIGINT SIGTERM77trap clean_up SIGHUP SIGINT SIGTERM
7378
7479
=== modified file 'scripts/run-acceptance-tests'
--- scripts/run-acceptance-tests 2013-06-11 10:14:59 +0000
+++ scripts/run-acceptance-tests 2013-06-13 00:15:30 +0000
@@ -47,6 +47,9 @@
47if [ ${TARGET} = "dev" ]; then47if [ ${TARGET} = "dev" ]; then
48 # dev is special: we need to start it up.48 # dev is special: we need to start it up.
49 ./scripts/acceptance-dev.sh49 ./scripts/acceptance-dev.sh
50if [ ${TARGET} = "dev-u1" ]; then
51 # dev is special: we need to start it up.
52 ./scripts/acceptance-dev.sh -b ubuntuone
50else53else
51 SST_BASE_URL="$SST_BASE_URL" fab acceptance:screenshot=true,report=xml54 SST_BASE_URL="$SST_BASE_URL" fab acceptance:screenshot=true,report=xml
52fi55fi
5356
=== modified file 'src/identityprovider/media/ubuntu/styles.css'
--- src/identityprovider/media/ubuntu/styles.css 2013-05-22 14:13:01 +0000
+++ src/identityprovider/media/ubuntu/styles.css 2013-06-13 00:15:30 +0000
@@ -606,7 +606,8 @@
606 color: #dd4814;606 color: #dd4814;
607}607}
608608
609#subheader ul li a, #subheader ul li span, #subheader ul li input {609#subheader ul li span,
610#subheader ul li input {
610 padding: 14px 8px 0;611 padding: 14px 8px 0;
611 display: block;612 display: block;
612 height: 28px;613 height: 28px;
613614
=== modified file 'src/identityprovider/templates/server/decide.html'
--- src/identityprovider/templates/server/decide.html 2013-06-04 16:35:37 +0000
+++ src/identityprovider/templates/server/decide.html 2013-06-13 00:15:30 +0000
@@ -17,7 +17,9 @@
17{% block content %}17{% block content %}
18 <div id="trust-root">18 <div id="trust-root">
19 <h2 class="main" data-qa-id="rp_login_title">19 <h2 class="main" data-qa-id="rp_login_title">
20 {% blocktrans %} You are logging in to <a data-qa-id="rp_backlink" href="{{ trust_root }}">{{ trust_root }}</a>{% endblocktrans %}20 {% blocktrans %} You are logging in to
21 <a data-qa-id="rp_backlink" href="{{ trust_root }}">{{ trust_root }}</a>
22 {% endblocktrans %}
21 </h2>23 </h2>
22 </div>24 </div>
2325
@@ -62,7 +64,9 @@
6264
63 <p>65 <p>
64 <input type="hidden" name="ok" />66 <input type="hidden" name="ok" />
65 <button type="submit" class="btn" name="yes" data-qa-id="rp_confirm_login"><span><span>{% trans "Yes, log me in" %}</span></span></button>67 <button type="submit" class="btn" name="yes" data-qa-id="rp_confirm_login">
68 <span><span>{% trans "Yes, log me in" %}</span></span>
69 </button>
66 {% trans "or" %}70 {% trans "or" %}
67 <a href="+cancel">{% trans "cancel" %}</a>71 <a href="+cancel">{% trans "cancel" %}</a>
68 </p>72 </p>
6973
=== modified file 'src/identityprovider/templatetags/menu_item.py'
--- src/identityprovider/templatetags/menu_item.py 2010-07-12 21:23:42 +0000
+++ src/identityprovider/templatetags/menu_item.py 2013-06-13 00:15:30 +0000
@@ -7,8 +7,9 @@
77
88
9@register.inclusion_tag('menu_item.html', takes_context=True)9@register.inclusion_tag('menu_item.html', takes_context=True)
10def menu_item(context, section, label, link):10def menu_item(context, section, label, link, extra_qa_data_id=None):
11 return {'current_section': context.get('current_section', None),11 return {'current_section': context.get('current_section', None),
12 'section': section,12 'section': section,
13 'label': label,13 'label': label,
14 'link': link}14 'link': link,
15 'extra_qa_data_id': extra_qa_data_id}
1516
=== modified file 'src/identityprovider/tests/test_views_server.py'
--- src/identityprovider/tests/test_views_server.py 2013-05-21 19:05:32 +0000
+++ src/identityprovider/tests/test_views_server.py 2013-06-13 00:15:30 +0000
@@ -1066,6 +1066,8 @@
1066 trust_root = tree.find('div#trust-root')1066 trust_root = tree.find('div#trust-root')
1067 self.assertEqual(len(trust_root), 1)1067 self.assertEqual(len(trust_root), 1)
1068 trust_root = trust_root[0]1068 trust_root = trust_root[0]
1069 # we need to strip the element text to avoid having a test failure
1070 # caused by newlines inside the html template
1069 self.assertEqual(trust_root[0].text.strip(), 'You are logging in to')1071 self.assertEqual(trust_root[0].text.strip(), 'You are logging in to')
10701072
1071 link = trust_root.getchildren()[0].find('a')1073 link = trust_root.getchildren()[0].find('a')
@@ -1074,7 +1076,7 @@
1074 button = tree.find('button[type="submit"][name="yes"]')1076 button = tree.find('button[type="submit"][name="yes"]')
1075 self.assertEqual(len(button), 1)1077 self.assertEqual(len(button), 1)
1076 button = button[0]1078 button = button[0]
1077 self.assertEqual(button.text_content(), 'Yes, log me in')1079 self.assertEqual(button.text_content().strip(), 'Yes, log me in')
10781080
1079 def test_user_unverified_no_rpconfig(self):1081 def test_user_unverified_no_rpconfig(self):
1080 assert OpenIDRPConfig.objects.count() == 01082 assert OpenIDRPConfig.objects.count() == 0
10811083
=== modified file 'src/webui/templates/account/applications.html'
--- src/webui/templates/account/applications.html 2013-04-17 13:23:35 +0000
+++ src/webui/templates/account/applications.html 2013-06-13 00:15:30 +0000
@@ -12,7 +12,6 @@
12 <h1 class="main">{% trans "Applications you use" %}</h1>12 <h1 class="main">{% trans "Applications you use" %}</h1>
13{% endblock %}13{% endblock %}
1414
15
16{% block content %}15{% block content %}
17{% if tokens %}16{% if tokens %}
18<p>17<p>
@@ -31,13 +30,13 @@
31 <tbody>30 <tbody>
32 {% for token in tokens %}31 {% for token in tokens %}
33 <tr>32 <tr>
34 <td>{{ token.name }}</td>33 <td data-qa-id="application_token">{{ token.name }}</td>
35 <td>{{ token.created_at|date:"Y-m-d" }}</td>34 <td>{{ token.created_at|date:"Y-m-d" }}</td>
36 <td class="actions">35 <td class="actions">
37 <form action="{% url 'applications' %}" method="post">36 <form action="{% url 'applications' %}" method="post">
38 {% csrf_token %}37 {% csrf_token %}
39 <input type="hidden" name="token_id" value="{{ token.token }}" />38 <input type="hidden" name="token_id" value="{{ token.token }}" />
40 <button type="submit" class="btn-sm" name="Delete">39 <button type="submit" class="btn-sm" name="Delete" data-qa-id="delete_application">
41 <span>{% trans "Delete" %}</span>40 <span>{% trans "Delete" %}</span>
42 </button>41 </button>
43 </form>42 </form>
4443
=== modified file 'src/webui/templates/account/confirm_email_invalidation.html'
--- src/webui/templates/account/confirm_email_invalidation.html 2013-02-22 20:30:24 +0000
+++ src/webui/templates/account/confirm_email_invalidation.html 2013-06-13 00:15:30 +0000
@@ -21,7 +21,9 @@
21 <form action="" method="POST">21 <form action="" method="POST">
22 {% csrf_token %}22 {% csrf_token %}
23 <p>23 <p>
24 <button type="submit" class="btn" name="invalidate"><span><span>{% trans "Yes, invalidate" %}</span></span></button>24 <button type="submit" class="btn" name="invalidate" data-qa-id="confirm_email_invalidation">
25 <span><span>{% trans "Yes, invalidate" %}</span></span>
26 </button>
25 {% trans "or" %} {% include "common/cancel_link.html" %}27 {% trans "or" %} {% include "common/cancel_link.html" %}
26 </p>28 </p>
27 </form>29 </form>
2830
=== modified file 'src/webui/templates/account/confirm_new_email.html'
--- src/webui/templates/account/confirm_new_email.html 2013-05-31 03:30:26 +0000
+++ src/webui/templates/account/confirm_new_email.html 2013-06-13 00:15:30 +0000
@@ -26,11 +26,11 @@
26 {% csrf_token %}26 {% csrf_token %}
27 <p>27 <p>
28 <input type="hidden" name="post" value="yes" />28 <input type="hidden" name="post" value="yes" />
29 <button type="submit" name="continue" class="btn">29 <button type="submit" name="continue" class="btn" data-qa-id="confirm_email_validation">
30 <span><span>{% trans "Yes, I'm sure" %}</span></span>30 <span><span>{% trans "Yes, I'm sure" %}</span></span>
31 </button>31 </button>
32 {% trans "or" %}32 {% trans "or" %}
33 <a href="{% if token %}/{{ token }}{% endif %}/">{% trans "cancel" %}</a>33 <a href="{% if token %}/{{ token }}{% endif %}/" data-qa-id="cancel_email_validation">{% trans "cancel" %}</a>
34 </p>34 </p>
35 </form>35 </form>
36</div>36</div>
3737
=== modified file 'src/webui/templates/account/delete_email.html'
--- src/webui/templates/account/delete_email.html 2013-05-31 03:13:32 +0000
+++ src/webui/templates/account/delete_email.html 2013-06-13 00:15:30 +0000
@@ -2,7 +2,7 @@
2{% load i18n %}2{% load i18n %}
33
4{% comment %}4{% comment %}
5Copyright 2010 Canonical Ltd. This software is licensed under the5Copyright 2010-2013 Canonical Ltd. This software is licensed under the
6GNU Affero General Public License version 3 (see the file LICENSE).6GNU Affero General Public License version 3 (see the file LICENSE).
7{% endcomment %}7{% endcomment %}
88
@@ -26,7 +26,9 @@
26 <form action="" method="POST">26 <form action="" method="POST">
27 {% csrf_token %}27 {% csrf_token %}
28 <p>28 <p>
29 <button type="submit" class="btn" name="delete"><span><span>{% trans "Yes, delete" %}</span></span></button>29 <button type="submit" class="btn" name="delete" data-qa-id="confirm_delete_email">
30 <span><span>{% trans "Yes, delete" %}</span></span>
31 </button>
30 {% trans "or" %}32 {% trans "or" %}
31 {% include "common/cancel_link.html" %}33 {% include "common/cancel_link.html" %}
32 </p>34 </p>
3335
=== modified file 'src/webui/templates/account/edit.html'
--- src/webui/templates/account/edit.html 2013-06-07 03:39:56 +0000
+++ src/webui/templates/account/edit.html 2013-06-13 00:15:30 +0000
@@ -145,7 +145,9 @@
145145
146 <p class="actions">146 <p class="actions">
147 {% if not readonly %}147 {% if not readonly %}
148 <button type="submit" class="btn" name="update" data-qa-id="update_preferences"><span><span>{% trans "Update" %}</span></span></button>148 <button type="submit" class="btn" name="update" data-qa-id="update_preferences">
149 <span><span>{% trans "Update" %}</span></span>
150 </button>
149 {% endif %}151 {% endif %}
150 {% if token %}152 {% if token %}
151 {% trans "or" %}153 {% trans "or" %}
152154
=== modified file 'src/webui/templates/account/emails.html'
--- src/webui/templates/account/emails.html 2013-05-15 11:07:23 +0000
+++ src/webui/templates/account/emails.html 2013-06-13 00:15:30 +0000
@@ -51,7 +51,9 @@
51 {% if not readonly %}51 {% if not readonly %}
52 <td class="actions">52 <td class="actions">
53 {% if not email.is_preferred %}53 {% if not email.is_preferred %}
54 <a href="./+remove-email?id={{ email.id }}" class="btn-sm" data-qa-id="remove_verified_email"><span>{% trans "Delete" %}</span></a>54 <a href="./+remove-email?id={{ email.id }}" class="btn-sm" data-qa-id="remove_verified_email">
55 <span>{% trans "Delete" %}</span>
56 </a>
55 {% endif %}57 {% endif %}
56 </td>58 </td>
57 {% endif %}59 {% endif %}
@@ -74,7 +76,9 @@
74 {% if email.is_verifiable %}76 {% if email.is_verifiable %}
75 <a href="./+verify-email?id={{ email.id }}" data-qa-id="verify_unverified_{{ email }}" class="verify-email btn-sm"><span>{% trans "Verify" %}</span></a>77 <a href="./+verify-email?id={{ email.id }}" data-qa-id="verify_unverified_{{ email }}" class="verify-email btn-sm"><span>{% trans "Verify" %}</span></a>
76 {% endif %}78 {% endif %}
77 <a href="./+remove-email?id={{ email.id }}" data-qa-id="delete_unverified_{{ email }}" class="btn-sm"><span>{% trans "Delete" %}</span></a>79 <a href="./+remove-email?id={{ email.id }}" data-qa-id="delete_unverified_{{ email }}" class="btn-sm">
80 <span>{% trans "Delete" %}</span>
81 </a>
78 </td>82 </td>
79 {% endif %}83 {% endif %}
80 </tr>84 </tr>
@@ -99,7 +103,7 @@
99 {% endif %}103 {% endif %}
100 </p>104 </p>
101 <p class="actions">105 <p class="actions">
102 <button type="submit" class="btn" name="continue">106 <button type="submit" class="btn" name="continue" data-qa-id="add_new_email">
103 <span><span>{% trans "Add address" %}</span></span>107 <span><span>{% trans "Add address" %}</span></span>
104 </button>108 </button>
105 {% blocktrans %}or <a href="/">cancel</a>{% endblocktrans %}109 {% blocktrans %}or <a href="/">cancel</a>{% endblocktrans %}
106110
=== modified file 'src/webui/templates/account/new_email.html'
--- src/webui/templates/account/new_email.html 2013-04-17 13:23:35 +0000
+++ src/webui/templates/account/new_email.html 2013-06-13 00:15:30 +0000
@@ -28,7 +28,9 @@
28 {% endif %}28 {% endif %}
29 </p>29 </p>
30 <p class="actions">30 <p class="actions">
31 <button type="submit" class="btn" name="continue"><span><span>{% trans "Send instructions" %}</span></span></button>31 <button type="submit" class="btn" name="continue" data-qa-id="send_instructions_confirm_email">
32 <span><span>{% trans "Send instructions" %}</span></span>
33 </button>
32 {% trans "or" %}34 {% trans "or" %}
33 <a href=".">{% trans "cancel" %}</a>35 <a href=".">{% trans "cancel" %}</a>
34 </p>36 </p>
3537
=== modified file 'src/webui/templates/device/addition-generic.html'
--- src/webui/templates/device/addition-generic.html 2013-05-15 07:47:10 +0000
+++ src/webui/templates/device/addition-generic.html 2013-06-13 00:15:30 +0000
@@ -74,10 +74,11 @@
74 <p>74 <p>
75 <input type="hidden" name="type" value="{{ type }}">75 <input type="hidden" name="type" value="{{ type }}">
76 <input type="hidden" name="hex_key" value="{{ hex_key }}">76 <input type="hidden" name="hex_key" value="{{ hex_key }}">
77 <button class="btn" type="submit" data-qa-id="add_generic_device">77 <button class="btn" type="submit" data-qa-id="confirm_add_device">
78 <span><span>{% trans "Add device" %}</span></span>78 <span><span>{% trans "Add device" %}</span></span>
79 </button>79 </button>
80 {% trans "or" %} <a data-qa-id="cancel" href="{{ device_list_path }}">{% trans "cancel" %}</a>80 {% trans "or" %}
81 <a data-qa-id="cancel_add_device" href="{{ device_list_path }}">{% trans "cancel" %}</a>
81 </p>82 </p>
8283
83</form>84</form>
8485
=== modified file 'src/webui/templates/device/generate-codes.html'
--- src/webui/templates/device/generate-codes.html 2013-05-31 03:13:32 +0000
+++ src/webui/templates/device/generate-codes.html 2013-06-13 00:15:30 +0000
@@ -29,10 +29,11 @@
29<form method="post">29<form method="post">
30 {% csrf_token %}30 {% csrf_token %}
31 <p>31 <p>
32 <button class="btn" type="submit" data-qa-id="confirm-codes">32 <button class="btn" type="submit" data-qa-id="confirm_new_codes">
33 <span><span>{% trans "Confirm new codes" %}</span></span>33 <span><span>{% trans "Confirm new codes" %}</span></span>
34 </button>34 </button>
35 {% trans "or" %} <a href="{% url 'device-print' device_id %}" data-qa-id="cancel">{% trans "cancel" %}</a>35 {% trans "or" %}
36 <a href="{% url 'device-print' device_id %}" data-qa-id="cancel_new_codes">{% trans "cancel" %}</a>
36 </p>37 </p>
37</form>38</form>
38{% endblock %}39{% endblock %}
3940
=== modified file 'src/webui/templates/device/list.html'
--- src/webui/templates/device/list.html 2013-06-07 21:07:00 +0000
+++ src/webui/templates/device/list.html 2013-06-13 00:15:30 +0000
@@ -56,7 +56,7 @@
56 <span>{% trans "Delete" %}</span>56 <span>{% trans "Delete" %}</span>
57 </a>57 </a>
58 {% if device.device_type == 'paper' %}58 {% if device.device_type == 'paper' %}
59 <a class="btn-sm" href="{% url 'device-print' device.id %}">59 <a class="btn-sm" href="{% url 'device-print' device.id %}" data-qa-id="print_device">
60 <span>{% trans "View Codes" %}</span>60 <span>{% trans "View Codes" %}</span>
61 </a>61 </a>
62 {% endif %}62 {% endif %}
6363
=== modified file 'src/webui/templates/device/print-codes.html'
--- src/webui/templates/device/print-codes.html 2013-05-21 15:50:20 +0000
+++ src/webui/templates/device/print-codes.html 2013-06-13 00:15:30 +0000
@@ -23,13 +23,15 @@
23{% include 'device/code-list.html' %}23{% include 'device/code-list.html' %}
2424
25<p>25<p>
26 <a class="btn" id="printbtn" onclick="window.print()" data-qa-id="print_btn"><span><span>{% trans "Print Codes" %}</span></span>26 <a class="btn" id="printbtn" onclick="window.print()" data-qa-id="print_codes">
27 <span><span>{% trans "Print Codes" %}</span></span>
27 </a>28 </a>
28 {% if generation_enabled %}29 {% if generation_enabled %}
29 <a class="btn" href="{% url 'device-generate' device_id %}" data-qa-id="generate_codes">30 <a class="btn" href="{% url 'device-generate' device_id %}" data-qa-id="generate_codes">
30 <span><span>{% trans "Generate new codes" %}</span></span>31 <span><span>{% trans "Generate new codes" %}</span></span>
31 </a>32 </a>
32 {% endif %}33 {% endif %}
33 {% trans "or" %} <a href="{% url 'device-list' %}" data-qa-id="go_back">{% trans "go back to device list" %}</a>34 {% trans "or" %}
35 <a href="{% url 'device-list' %}" data-qa-id="cancel_print_codes">{% trans "go back to device list" %}</a>
34</p>36</p>
35{% endblock %}37{% endblock %}
3638
=== modified file 'src/webui/templates/device/removal.html'
--- src/webui/templates/device/removal.html 2013-05-15 07:47:10 +0000
+++ src/webui/templates/device/removal.html 2013-06-13 00:15:30 +0000
@@ -30,7 +30,8 @@
30 <button class="btn" type="submit" data-qa-id="delete_this_device">30 <button class="btn" type="submit" data-qa-id="delete_this_device">
31 <span><span>{% trans "Delete this device" %}</span></span>31 <span><span>{% trans "Delete this device" %}</span></span>
32 </button>32 </button>
33 {% trans "or" %} <a data-qa-id="cancel_deleting_this_device" href="{{ device_list_path }}">{% trans "cancel" %}</a>33 {% trans "or" %}
34 <a data-qa-id="cancel_deleting_this_device" href="{{ device_list_path }}">{% trans "cancel" %}</a>
34 </p>35 </p>
35</form>36</form>
3637
3738
=== modified file 'src/webui/templates/device/rename.html'
--- src/webui/templates/device/rename.html 2013-06-07 21:07:00 +0000
+++ src/webui/templates/device/rename.html 2013-06-13 00:15:30 +0000
@@ -22,7 +22,7 @@
22<form method="post" action="">22<form method="post" action="">
23 {% csrf_token %}23 {% csrf_token %}
2424
25 <p><label>25 <p><label for="id_name">
26 {% trans "Name:" %}<br>26 {% trans "Name:" %}<br>
27 {{ form.name }}27 {{ form.name }}
28 {% if form.name.errors %}28 {% if form.name.errors %}
2929
=== modified file 'src/webui/templates/device/types.html'
--- src/webui/templates/device/types.html 2013-05-22 19:42:47 +0000
+++ src/webui/templates/device/types.html 2013-06-13 00:15:30 +0000
@@ -62,7 +62,8 @@
62 <button class="btn" type="submit" data-qa-id="add_device_from_type">62 <button class="btn" type="submit" data-qa-id="add_device_from_type">
63 <span><span>{% trans "Add device" %}</span></span>63 <span><span>{% trans "Add device" %}</span></span>
64 </button>64 </button>
65 {% trans "or" %} <a data-qa-id="cancel" href="{{ device_list_path }}">{% trans "cancel" %}</a>65 {% trans "or" %}
66 <a data-qa-id="cancel_add_device_from_type" href="{{ device_list_path }}">{% trans "cancel" %}</a>
66 </p>67 </p>
67 <p>68 <p>
68 {% blocktrans with "twofactor_faq"|static_url as 2FFAQ %}69 {% blocktrans with "twofactor_faq"|static_url as 2FFAQ %}
6970
=== modified file 'src/webui/templates/enter_token.html'
--- src/webui/templates/enter_token.html 2013-05-31 03:13:32 +0000
+++ src/webui/templates/enter_token.html 2013-06-13 00:15:30 +0000
@@ -20,14 +20,14 @@
2020
21<form method="post">21<form method="post">
22 {% csrf_token %}22 {% csrf_token %}
23 <p>23 <p class="input-row">
24 <label for="id_token">{% trans "Confirmation code" %}</label><br />24 <label for="id_token">{% trans "Confirmation code" %}</label><br />
25 {{ form.confirmation_code }}25 {{ form.confirmation_code }}
26 {% if form.confirmation_code.errors %}26 {% if form.confirmation_code.errors %}
27 <span class="error">{{ form.confirmation_code.errors|join:"" }}</span>27 <span class="error">{{ form.confirmation_code.errors|join:"" }}</span>
28 {% endif %}28 {% endif %}
29 </p>29 </p>
30 <p>30 <p class="input-row">
31 <label for="id_email">{% trans "Email address" %}</label><br />31 <label for="id_email">{% trans "Email address" %}</label><br />
32 {{ form.email }}32 {{ form.email }}
33 {% if form.email.errors %}33 {% if form.email.errors %}
@@ -35,7 +35,7 @@
35 {% endif %}35 {% endif %}
36 </p>36 </p>
3737
38 <p><button class="btn" type="submit" name="continue">38 <p><button class="btn" type="submit" name="continue" data-qa-id="confirm_enter_token">
39 <span><span>{% trans "Confirm" %}</span></span></button></p>39 <span><span>{% trans "Confirm" %}</span></span></button></p>
40</form>40</form>
4141
4242
=== modified file 'src/webui/templates/launchpad/base.html'
--- src/webui/templates/launchpad/base.html 2013-05-15 08:30:15 +0000
+++ src/webui/templates/launchpad/base.html 2013-06-13 00:15:30 +0000
@@ -9,7 +9,7 @@
9{% load i18n %}9{% load i18n %}
10{% load static_url %}10{% load static_url %}
11<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr" {% block html_extra %}{% endblock %}>11<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr" {% block html_extra %}{% endblock %}>
12 <head>12 <head data-qa-id="brand_launchpad">
13 <title>{% block title %}{% trans "Log in" %}{% endblock %}</title>13 <title>{% block title %}{% trans "Log in" %}{% endblock %}</title>
14 <link rel="shortcut icon" href="{{ STATIC_URL }}identityprovider/launchpad/favicon.png" />14 <link rel="shortcut icon" href="{{ STATIC_URL }}identityprovider/launchpad/favicon.png" />
15 <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}identityprovider/launchpad/styles.css"/>15 <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}identityprovider/launchpad/styles.css"/>
@@ -38,7 +38,7 @@
38 {% if user.is_authenticated %}38 {% if user.is_authenticated %}
39 {% include "widgets/launchpad/logout-button.html" %}39 {% include "widgets/launchpad/logout-button.html" %}
40 {% else %}40 {% else %}
41 <a href="/+login">{% trans "Log in or create account" %}</a>41 {% include "widgets/launchpad/login-button.html" %}
42 {% endif %}42 {% endif %}
43 </div>43 </div>
44 </div>44 </div>
@@ -71,12 +71,6 @@
71 {% endfor %}71 {% endfor %}
72 {% endif %}72 {% endif %}
7373
74 {% if readonly %}
75 <div class="message">
76 {% blocktrans %}We are currently in read-only mode. That means that at the moment you can't create new accounts, update your personal information, or request password reminders.{% endblocktrans %}
77 </div>
78 {% endif %}
79
80 <div id="{% block content_id %}box{% endblock %}">74 <div id="{% block content_id %}box{% endblock %}">
81 {% block content %}{% endblock %}75 {% block content %}{% endblock %}
82 </div>76 </div>
8377
=== modified file 'src/webui/templates/launchpad/registration/confirm_new_account.html'
--- src/webui/templates/launchpad/registration/confirm_new_account.html 2013-05-15 07:25:13 +0000
+++ src/webui/templates/launchpad/registration/confirm_new_account.html 2013-06-13 00:15:30 +0000
@@ -6,6 +6,8 @@
6GNU Affero General Public License version 3 (see the file LICENSE).6GNU Affero General Public License version 3 (see the file LICENSE).
7{% endcomment %}7{% endcomment %}
88
9{% block html_extra %}data-qa-id="confirm_new_account"{% endblock %}
10
9{% block title %}{% trans "Complete creating your account" %}{% endblock %}11{% block title %}{% trans "Complete creating your account" %}{% endblock %}
1012
11{% block extra_header_top %}13{% block extra_header_top %}
@@ -15,7 +17,7 @@
15{% endblock %}17{% endblock %}
1618
17{% block text_title %}19{% block text_title %}
18 <h1 class="main" data-qa-id="confirm_new_account">{% blocktrans %}Complete creating your {{ brand_description }} account{% endblocktrans %}</h1>20 <h1 class="main">{% blocktrans %}Complete creating your {{ brand_description }} account{% endblocktrans %}</h1>
19{% endblock %}21{% endblock %}
2022
21{% block content_id %}auth{% endblock %}23{% block content_id %}auth{% endblock %}
@@ -26,7 +28,9 @@
26<form id="login-form" class="longfields" method="post" name="loginform">28<form id="login-form" class="longfields" method="post" name="loginform">
27 {% csrf_token %}29 {% csrf_token %}
28 <p class="actions">30 <p class="actions">
29 <button type="submit" name="continue" class="btn"><span><span>{% trans "Complete account creation" %}</span></span></button>31 <button type="submit" name="continue" class="btn" data-qa-id="complete_account_creation">
32 <span><span>{% trans "Complete account creation" %}</span></span>
33 </button>
30 {% trans "or" %}34 {% trans "or" %}
31 {% include "common/cancel_link.html" %}35 {% include "common/cancel_link.html" %}
32 </p>36 </p>
3337
=== modified file 'src/webui/templates/launchpad/registration/email_sent.html'
--- src/webui/templates/launchpad/registration/email_sent.html 2013-04-17 13:23:35 +0000
+++ src/webui/templates/launchpad/registration/email_sent.html 2013-06-13 00:15:30 +0000
@@ -7,6 +7,8 @@
7GNU Affero General Public License version 3 (see the file LICENSE).7GNU Affero General Public License version 3 (see the file LICENSE).
8{% endcomment %}8{% endcomment %}
99
10{% block html_extra %}data-qa-id="forgot_password_step_2"{% endblock %}
11
10{% block title %}{{ email_heading }}{% endblock %}12{% block title %}{{ email_heading }}{% endblock %}
1113
12{% block text_title %}14{% block text_title %}
@@ -36,7 +38,7 @@
36 <input id="confirmation_code" name="confirmation_code" type="text" class="textType" />38 <input id="confirmation_code" name="confirmation_code" type="text" class="textType" />
37 <input type="hidden" name="email" value="{{ email }}" />39 <input type="hidden" name="email" value="{{ email }}" />
38 </p>40 </p>
39 <p><button id="submit" type="submit" class="btn" disabled="true">41 <p><button id="submit" type="submit" class="btn" data-qa-id="confirm_email_from_code">
40 <span><span>{% trans "Confirm" %}</span></span>42 <span><span>{% trans "Confirm" %}</span></span>
41 </button>43 </button>
42 {% url 'account-emails' as emails_url %}44 {% url 'account-emails' as emails_url %}
4345
=== modified file 'src/webui/templates/launchpad/registration/forgot_password.html'
--- src/webui/templates/launchpad/registration/forgot_password.html 2013-02-27 20:45:16 +0000
+++ src/webui/templates/launchpad/registration/forgot_password.html 2013-06-13 00:15:30 +0000
@@ -6,6 +6,8 @@
6GNU Affero General Public License version 3 (see the file LICENSE).6GNU Affero General Public License version 3 (see the file LICENSE).
7{% endcomment %}7{% endcomment %}
88
9{% block html_extra %}data-qa-id="forgot_password_step_1"{% endblock %}
10
9{% block title %}{% trans "Reset password" %}{% endblock %}11{% block title %}{% trans "Reset password" %}{% endblock %}
1012
11{% block text_title %}13{% block text_title %}
@@ -32,7 +34,9 @@
32 </span>34 </span>
33 </p>35 </p>
34 <p class="actions">36 <p class="actions">
35 <button type="submit" name="continue" class="btn"><span><span>{% trans "Send instructions" %}</span></span></button>37 <button type="submit" name="continue" class="btn" data-qa-id="send_password_reset_token">
38 <span><span>{% trans "Send instructions" %}</span></span>
39 </button>
36 {% trans "or" %}40 {% trans "or" %}
37 {% include "common/cancel_link.html" %}41 {% include "common/cancel_link.html" %}
38 </p>42 </p>
3943
=== modified file 'src/webui/templates/launchpad/registration/login.html'
--- src/webui/templates/launchpad/registration/login.html 2013-06-05 17:09:49 +0000
+++ src/webui/templates/launchpad/registration/login.html 2013-06-13 00:15:30 +0000
@@ -74,7 +74,9 @@
74{% endif %}74{% endif %}
75 <div class="actions">75 <div class="actions">
76 {% if next %}<input type="hidden" name="next" value="{{ next }}" />{% endif %}76 {% if next %}<input type="hidden" name="next" value="{{ next }}" />{% endif %}
77 <button type="submit" class="btn" name="continue" data-qa-id="login_button"><span><span>{% trans "Log in" %}</span></span></button>77 <button type="submit" class="btn" name="continue" data-qa-id="login_button">
78 <span><span>{% trans "Log in" %}</span></span>
79 </button>
78 {% if token %}{% trans "or" %}80 {% if token %}{% trans "or" %}
79 {% include "common/cancel_link.html" %}{% endif %}81 {% include "common/cancel_link.html" %}{% endif %}
80 </div>82 </div>
8183
=== modified file 'src/webui/templates/launchpad/registration/logout.html'
--- src/webui/templates/launchpad/registration/logout.html 2013-02-27 20:45:16 +0000
+++ src/webui/templates/launchpad/registration/logout.html 2013-06-13 00:15:30 +0000
@@ -6,6 +6,8 @@
6GNU Affero General Public License version 3 (see the file LICENSE).6GNU Affero General Public License version 3 (see the file LICENSE).
7{% endcomment %}7{% endcomment %}
88
9{% block html_extra %}data-qa-id="logout"{% endblock %}
10
9{% block title %}{% trans "You have been logged out" %}{% endblock %}11{% block title %}{% trans "You have been logged out" %}{% endblock %}
1012
11{% block text_title %}13{% block text_title %}
1214
=== modified file 'src/webui/templates/launchpad/registration/new_account.html'
--- src/webui/templates/launchpad/registration/new_account.html 2013-05-03 15:30:36 +0000
+++ src/webui/templates/launchpad/registration/new_account.html 2013-06-13 00:15:30 +0000
@@ -8,6 +8,8 @@
8LICENSE).8LICENSE).
9{% endcomment %}9{% endcomment %}
1010
11{% block html_extra %}data-qa-id="new_account"{% endblock %}
12
11{% block title %}{% trans "Create account" %}{% endblock %}13{% block title %}{% trans "Create account" %}{% endblock %}
1214
13{% block extra_header_top %}15{% block extra_header_top %}
@@ -75,7 +77,9 @@
75 <input type="hidden" name="old" value="old">77 <input type="hidden" name="old" value="old">
76 {% endif %}78 {% endif %}
7779
78 <button type="submit" class="btn" name="continue"><span><span>{% trans "Send instructions" %}</span></span></button>80 <button type="submit" class="btn" name="continue" data-qa-id="register_button">
81 <span><span>{% trans "Send instructions" %}</span></span>
82 </button>
79 {% trans "or" %}83 {% trans "or" %}
80 {% include "common/cancel_link.html" %}84 {% include "common/cancel_link.html" %}
81 </p>85 </p>
8286
=== modified file 'src/webui/templates/launchpad/registration/reset_password.html'
--- src/webui/templates/launchpad/registration/reset_password.html 2013-04-10 13:32:29 +0000
+++ src/webui/templates/launchpad/registration/reset_password.html 2013-06-13 00:15:30 +0000
@@ -6,6 +6,8 @@
6GNU Affero General Public License version 3 (see the file LICENSE).6GNU Affero General Public License version 3 (see the file LICENSE).
7{% endcomment %}7{% endcomment %}
88
9{% block html_extra %}data-qa-id="reset_password"{% endblock %}
10
9{% block title %}{% trans "Reset password" %}{% endblock %}11{% block title %}{% trans "Reset password" %}{% endblock %}
1012
11{% block extra_header_top %}13{% block extra_header_top %}
@@ -61,7 +63,7 @@
61 {% csrf_token %}63 {% csrf_token %}
62 {% include "widgets/passwords.html" %}64 {% include "widgets/passwords.html" %}
63 <p class="actions">65 <p class="actions">
64 <button type="submit" name="continue" class="btn">66 <button type="submit" name="continue" class="btn" data-qa-id="reset_password">
65 <span><span>{% trans "Reset password" %}</span></span>67 <span><span>{% trans "Reset password" %}</span></span>
66 </button>68 </button>
67 {% trans "or" %}69 {% trans "or" %}
6870
=== modified file 'src/webui/templates/launchpad/registration/twofactor.html'
--- src/webui/templates/launchpad/registration/twofactor.html 2013-04-17 13:23:35 +0000
+++ src/webui/templates/launchpad/registration/twofactor.html 2013-06-13 00:15:30 +0000
@@ -3,6 +3,8 @@
3{% load i18n %}3{% load i18n %}
4{% load static_url %}4{% load static_url %}
55
6{% block html_extra %}data-qa-id="two_factor_verify"{% endblock %}
7
6{% block content %}8{% block content %}
7<div id="mainbar">9<div id="mainbar">
8 <div id="auth">10 <div id="auth">
@@ -41,7 +43,9 @@
4143
42 <div class="actions">44 <div class="actions">
43 {% if next %}<input type="hidden" name="next" value="{{ next }}" />{% endif %}45 {% if next %}<input type="hidden" name="next" value="{{ next }}" />{% endif %}
44 <button type="submit" class="btn" name="continue"><span><span>{% trans "Authenticate" %}</span></span></button>46 <button type="submit" class="btn" name="continue" data-qa-id="auth_button">
47 <span><span>{% trans "Authenticate" %}</span></span>
48 </button>
45 {% if token %}{% trans "or" %}49 {% if token %}{% trans "or" %}
46 {% include "common/cancel_link.html" %}{% endif %}50 {% include "common/cancel_link.html" %}{% endif %}
47 </div>51 </div>
4852
=== modified file 'src/webui/templates/menu_item.html'
--- src/webui/templates/menu_item.html 2012-12-04 18:51:42 +0000
+++ src/webui/templates/menu_item.html 2013-06-13 00:15:30 +0000
@@ -3,10 +3,16 @@
3GNU Affero General Public License version 3 (see the file LICENSE).3GNU Affero General Public License version 3 (see the file LICENSE).
4{% endcomment %}4{% endcomment %}
55
6<li id="{{ section }}">6<li id="{{ section }}" data-qa-id="{{ section }}">
7 {% ifequal section current_section %}7 {% ifequal section current_section %}
8 <span class="active">{{ label }}</span>8 <span class="active" {% if extra_qa_data_id %}data-qa-id="{{ extra_qa_data_id }}"{% endif %}>
9 {{ label }}
10 </span>
9 {% else %}11 {% else %}
10 <a id="{{ section }}-link" href="{{ link }}">{{ label }}</a>12 <a id="{{ section }}-link" data-qa-id="{{ section }}_link" href="{{ link }}">
13 <span {% if extra_qa_data_id %}data-qa-id="{{ extra_qa_data_id }}"{% endif %}>
14 {{ label }}
15 </span>
16 </a>
11 {% endifequal %}17 {% endifequal %}
12</li>18</li>
1319
=== modified file 'src/webui/templates/select_language.html'
--- src/webui/templates/select_language.html 2013-04-10 13:32:29 +0000
+++ src/webui/templates/select_language.html 2013-06-13 00:15:30 +0000
@@ -22,6 +22,7 @@
22 <input type="hidden" name="next" value="{{next}}" />22 <input type="hidden" name="next" value="{{next}}" />
23 <input type="hidden" name="language" value="{{lang.0}}" />23 <input type="hidden" name="language" value="{{lang.0}}" />
24 <div><input type="submit" name="submit" value="{{lang.1|capfirst}}"24 <div><input type="submit" name="submit" value="{{lang.1|capfirst}}"
25 data-qa-id="choose_language"
25 style="background: transparent url('{{ STATIC_URL }}identityprovider/flags/{{lang.0}}.png') center left no-repeat" />26 style="background: transparent url('{{ STATIC_URL }}identityprovider/flags/{{lang.0}}.png') center left no-repeat" />
26 </div>27 </div>
27 </form>28 </form>
2829
=== modified file 'src/webui/templates/ubuntu/base.html'
--- src/webui/templates/ubuntu/base.html 2013-05-15 07:47:10 +0000
+++ src/webui/templates/ubuntu/base.html 2013-06-13 00:15:30 +0000
@@ -9,7 +9,7 @@
9{% load i18n %}9{% load i18n %}
10{% load static_url %}10{% load static_url %}
11<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr" {% block html_extra %}{% endblock %}>11<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr" {% block html_extra %}{% endblock %}>
12 <head>12 <head data-qa-id="brand_ubuntu">
13 <title>{% block title %}{% trans "Log in" %}{% endblock %}</title>13 <title>{% block title %}{% trans "Log in" %}{% endblock %}</title>
14 <link rel="icon" type="image/vnd.microsoft.icon" href="{{ STATIC_URL }}identityprovider/ubuntu/favicon.ico" />14 <link rel="icon" type="image/vnd.microsoft.icon" href="{{ STATIC_URL }}identityprovider/ubuntu/favicon.ico" />
15 <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}identityprovider/reset.css"/>15 <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}identityprovider/reset.css"/>
@@ -46,7 +46,7 @@
46 {% block extra_header %}{% endblock %}46 {% block extra_header %}{% endblock %}
47 <meta name="viewport" content="width=400" />47 <meta name="viewport" content="width=400" />
48 </head>48 </head>
49 <body {% block bodyclass %}class="onecol"{% endblock %} {% if embedded %}onload="blank_targets()"{% endif %}>49 <body data-qa-id="{% block qaid %}{% endblock %}" {% block bodyclass %}class="onecol"{% endblock %} {% if embedded %}onload="blank_targets()"{% endif %}>
50 <div id="container">50 <div id="container">
51 <div id="container-inner">51 <div id="container-inner">
52 <div id="header">52 <div id="header">
5353
=== modified file 'src/webui/templates/ubuntu/registration/confirm_new_account.html'
--- src/webui/templates/ubuntu/registration/confirm_new_account.html 2013-05-15 07:47:10 +0000
+++ src/webui/templates/ubuntu/registration/confirm_new_account.html 2013-06-13 00:15:30 +0000
@@ -28,7 +28,9 @@
28<form id="login-form" class="longfields" method="post" name="loginform">28<form id="login-form" class="longfields" method="post" name="loginform">
29 {% csrf_token %}29 {% csrf_token %}
30 <p class="actions">30 <p class="actions">
31 <button type="submit" name="continue" class="btn"><span><span>{% trans "Complete account creation" %}</span></span></button>31 <button type="submit" name="continue" class="btn" data-qa-id="complete_account_creation">
32 <span><span>{% trans "Complete account creation" %}</span></span>
33 </button>
32 {% trans "or" %}34 {% trans "or" %}
33 {% include "common/cancel_link.html" %}35 {% include "common/cancel_link.html" %}
34 </p>36 </p>
3537
=== modified file 'src/webui/templates/ubuntu/registration/email_sent.html'
--- src/webui/templates/ubuntu/registration/email_sent.html 2013-05-15 07:52:08 +0000
+++ src/webui/templates/ubuntu/registration/email_sent.html 2013-06-13 00:15:30 +0000
@@ -38,7 +38,7 @@
38 <input id="confirmation_code" name="confirmation_code" type="text" class="textType" />38 <input id="confirmation_code" name="confirmation_code" type="text" class="textType" />
39 <input type="hidden" name="email" value="{{ email }}" />39 <input type="hidden" name="email" value="{{ email }}" />
40 </p>40 </p>
41 <p><button id="submit" type="submit" class="btn" disabled="true">41 <p><button id="submit" type="submit" class="btn" data-qa-id="confirm_email_from_code">
42 <span><span>{% trans "Confirm" %}</span></span>42 <span><span>{% trans "Confirm" %}</span></span>
43 </button>43 </button>
44 {% url 'account-emails' as emails_url %}44 {% url 'account-emails' as emails_url %}
4545
=== modified file 'src/webui/templates/ubuntu/registration/forgot_password.html'
--- src/webui/templates/ubuntu/registration/forgot_password.html 2013-05-15 07:47:10 +0000
+++ src/webui/templates/ubuntu/registration/forgot_password.html 2013-06-13 00:15:30 +0000
@@ -34,10 +34,11 @@
34 </span>34 </span>
35 </p>35 </p>
36 <p class="actions">36 <p class="actions">
37 <button type="submit" name="continue" class="btn"><span><span>{% trans "Send instructions" %}</span></span></button>37 <button type="submit" name="continue" class="btn" data-qa-id="send_password_reset_token">
38 <span><span>{% trans "Send instructions" %}</span></span>
39 </button>
38 {% trans "or" %}40 {% trans "or" %}
39 {% include "common/cancel_link.html" %}41 {% include "common/cancel_link.html" %}
40 </p>42 </p>
41 </form>43 </form>
42
43{% endblock %}44{% endblock %}
4445
=== modified file 'src/webui/templates/ubuntu/registration/login.html'
--- src/webui/templates/ubuntu/registration/login.html 2013-06-05 17:09:49 +0000
+++ src/webui/templates/ubuntu/registration/login.html 2013-06-13 00:15:30 +0000
@@ -77,7 +77,9 @@
7777
78 <div class="actions">78 <div class="actions">
79 {% if next %}<input type="hidden" name="next" value="{{ next }}" />{% endif %}79 {% if next %}<input type="hidden" name="next" value="{{ next }}" />{% endif %}
80 <button type="submit" class="btn" name="continue" data-qa-id="login_button"><span><span>{% trans "Log in" %}</span></span></button>80 <button type="submit" class="btn" name="continue" data-qa-id="login_button">
81 <span><span>{% trans "Log in" %}</span></span>
82 </button>
81 {% if token %}{% trans "or" %}83 {% if token %}{% trans "or" %}
82 {% include "common/cancel_link.html" %}{% endif %}84 {% include "common/cancel_link.html" %}{% endif %}
83 </div>85 </div>
8486
=== modified file 'src/webui/templates/ubuntu/registration/new_account.html'
--- src/webui/templates/ubuntu/registration/new_account.html 2013-05-15 07:52:08 +0000
+++ src/webui/templates/ubuntu/registration/new_account.html 2013-06-13 00:15:30 +0000
@@ -77,7 +77,9 @@
77 <input type="hidden" name="old" value="old">77 <input type="hidden" name="old" value="old">
78 {% endif %}78 {% endif %}
7979
80 <button type="submit" class="btn" name="continue"><span><span>{% trans "Send instructions" %}</span></span></button>80 <button type="submit" class="btn" name="continue" data-qa-id="register_button">
81 <span><span>{% trans "Send instructions" %}</span></span>
82 </button>
81 {% trans "or" %}83 {% trans "or" %}
82 {% include "common/cancel_link.html" %}84 {% include "common/cancel_link.html" %}
83 </p>85 </p>
@@ -85,5 +87,4 @@
85 <script type="text/javascript">87 <script type="text/javascript">
86 document.newaccountform.displayname.focus();88 document.newaccountform.displayname.focus();
87 </script>89 </script>
88
89{% endblock %}90{% endblock %}
9091
=== modified file 'src/webui/templates/ubuntu/registration/reset_password.html'
--- src/webui/templates/ubuntu/registration/reset_password.html 2013-05-15 07:47:10 +0000
+++ src/webui/templates/ubuntu/registration/reset_password.html 2013-06-13 00:15:30 +0000
@@ -63,7 +63,7 @@
63 {% csrf_token %}63 {% csrf_token %}
64 {% include "widgets/passwords.html" %}64 {% include "widgets/passwords.html" %}
65 <p class="actions">65 <p class="actions">
66 <button type="submit" name="continue" class="btn">66 <button type="submit" name="continue" class="btn" data-qa-id="reset_password">
67 <span><span>{% trans "Reset password" %}</span></span>67 <span><span>{% trans "Reset password" %}</span></span>
68 </button>68 </button>
69 {% trans "or" %}69 {% trans "or" %}
@@ -71,5 +71,4 @@
71 </p>71 </p>
72 <div style="clear: both">&nbsp;</div>72 <div style="clear: both">&nbsp;</div>
73 </form>73 </form>
74
75{% endblock %}74{% endblock %}
7675
=== modified file 'src/webui/templates/ubuntu/registration/twofactor.html'
--- src/webui/templates/ubuntu/registration/twofactor.html 2013-06-07 03:39:56 +0000
+++ src/webui/templates/ubuntu/registration/twofactor.html 2013-06-13 00:15:30 +0000
@@ -42,7 +42,9 @@
4242
43 <div class="actions">43 <div class="actions">
44 {% if next %}<input type="hidden" name="next" value="{{ next }}" />{% endif %}44 {% if next %}<input type="hidden" name="next" value="{{ next }}" />{% endif %}
45 <button type="submit" class="btn" name="continue" data-qa-id="auth_button"><span><span>{% trans "Authenticate" %}</span></span></button>45 <button type="submit" class="btn" name="continue" data-qa-id="auth_button">
46 <span><span>{% trans "Authenticate" %}</span></span>
47 </button>
46 {% if token %}{% trans "or" %}48 {% if token %}{% trans "or" %}
47 {% include "common/cancel_link.html" %}{% endif %}49 {% include "common/cancel_link.html" %}{% endif %}
48 </div>50 </div>
4951
=== modified file 'src/webui/templates/ubuntuone/account/applications.html'
--- src/webui/templates/ubuntuone/account/applications.html 2013-05-15 07:52:08 +0000
+++ src/webui/templates/ubuntuone/account/applications.html 2013-06-13 00:15:30 +0000
@@ -28,13 +28,13 @@
28 <tbody>28 <tbody>
29 {% for token in tokens %}29 {% for token in tokens %}
30 <tr>30 <tr>
31 <td>{{ token.name }}</td>31 <td data-qa-id="application_token">{{ token.name }}</td>
32 <td class="application-date">{{ token.created_at|date:"Y/m/d" }}</td>32 <td class="application-date">{{ token.created_at|date:"Y/m/d" }}</td>
33 <td class="actions">33 <td class="actions">
34 <form action="{% url 'applications' %}" method="post">34 <form action="{% url 'applications' %}" method="post">
35 {% csrf_token %}35 {% csrf_token %}
36 <input type="hidden" name="token_id" value="{{ token.token }}" />36 <input type="hidden" name="token_id" value="{{ token.token }}" />
37 <button type="submit" class="cta btn-sm secondary" name="Delete">37 <button type="submit" class="cta btn-sm secondary" name="Delete" data-qa-id="delete_application">
38 <span>{% trans "Delete" %}</span>38 <span>{% trans "Delete" %}</span>
39 </button>39 </button>
40 </form>40 </form>
@@ -44,8 +44,6 @@
44 </tbody>44 </tbody>
45 </table>45 </table>
46</section>46</section>
47
48
49{% else %}47{% else %}
50<p>{% trans "You don't have any applications associated with this account." %}</p>48<p>{% trans "You don't have any applications associated with this account." %}</p>
51{% endif %}49{% endif %}
5250
=== modified file 'src/webui/templates/ubuntuone/account/confirm_new_email.html'
--- src/webui/templates/ubuntuone/account/confirm_new_email.html 2013-05-31 03:30:26 +0000
+++ src/webui/templates/ubuntuone/account/confirm_new_email.html 2013-06-13 00:15:30 +0000
@@ -22,10 +22,10 @@
22 {% csrf_token %}22 {% csrf_token %}
23 <p>23 <p>
24 <input type="hidden" name="post" value="yes" />24 <input type="hidden" name="post" value="yes" />
25 <button type="submit" name="continue" class="btn cta">25 <button type="submit" name="continue" class="btn cta" data-qa-id="confirm_email_validation">
26 <span>{% trans "Yes, I'm sure" %}</span>26 <span>{% trans "Yes, I'm sure" %}</span>
27 </button>27 </button>
28 <a class="cta secondary" href="{% if token %}/{{ token }}{% endif %}/">{% trans "Cancel" %}</a>28 <a class="cta secondary" href="{% if token %}/{{ token }}{% endif %}/" data-qa-id="cancel_email_validation">{% trans "Cancel" %}</a>
29 </p>29 </p>
30 </form>30 </form>
31</div>31</div>
3232
=== modified file 'src/webui/templates/ubuntuone/account/delete_email.html'
--- src/webui/templates/ubuntuone/account/delete_email.html 2013-05-31 03:13:32 +0000
+++ src/webui/templates/ubuntuone/account/delete_email.html 2013-06-13 00:15:30 +0000
@@ -24,7 +24,9 @@
24 <form action="" method="POST">24 <form action="" method="POST">
25 {% csrf_token %}25 {% csrf_token %}
26 <p>26 <p>
27 <button type="submit" class="cta" name="delete"><span>{% trans "Yes, delete" %}</span></button>27 <button type="submit" class="btn cta" name="delete" data-qa-id="confirm_delete_email">
28 <span>{% trans "Yes, delete" %}</span>
29 </button>
28 {% include "common/cancel_link.html" %}30 {% include "common/cancel_link.html" %}
29 </p>31 </p>
30 </form>32 </form>
3133
=== modified file 'src/webui/templates/ubuntuone/account/edit.html'
--- src/webui/templates/ubuntuone/account/edit.html 2013-05-30 09:21:29 +0000
+++ src/webui/templates/ubuntuone/account/edit.html 2013-06-13 00:15:30 +0000
@@ -118,7 +118,9 @@
118118
119 <p class="actions">119 <p class="actions">
120 {% if not readonly %}120 {% if not readonly %}
121 <button type="submit" class="btn cta" name="update"><span>{% trans "Save changes" %}</span></button>121 <button type="submit" class="btn cta" name="update" data-qa-id="update_preferences">
122 <span>{% trans "Save changes" %}</span>
123 </button>
122 {% endif %}124 {% endif %}
123 {% if token %}125 {% if token %}
124 {% trans "or" %}126 {% trans "or" %}
125127
=== modified file 'src/webui/templates/ubuntuone/account/emails.html'
--- src/webui/templates/ubuntuone/account/emails.html 2013-05-15 11:07:23 +0000
+++ src/webui/templates/ubuntuone/account/emails.html 2013-06-13 00:15:30 +0000
@@ -46,7 +46,9 @@
46 {% if not readonly %}46 {% if not readonly %}
47 <td class="actions">47 <td class="actions">
48 {% if not email.is_preferred %}48 {% if not email.is_preferred %}
49 <a href="./+remove-email?id={{ email.id }}" class="btn-sm" data-qa-id="remove_verified_email"><span>{% trans "Delete" %}</span></a>49 <a href="./+remove-email?id={{ email.id }}" class="btn-sm" data-qa-id="remove_verified_email">
50 <span>{% trans "Delete" %}</span>
51 </a>
50 {% endif %}52 {% endif %}
51 </td>53 </td>
52 {% endif %}54 {% endif %}
@@ -73,7 +75,9 @@
73 {% if email.is_verifiable %}75 {% if email.is_verifiable %}
74 <a href="./+verify-email?id={{ email.id }}" data-qa-id="verify_unverified_{{ email }}" class="verify-email btn-sm"><span>{% trans "Verify" %}</span></a>76 <a href="./+verify-email?id={{ email.id }}" data-qa-id="verify_unverified_{{ email }}" class="verify-email btn-sm"><span>{% trans "Verify" %}</span></a>
75 {% endif %}77 {% endif %}
76 <a href="./+remove-email?id={{ email.id }}" data-qa-id="delete_unverified_{{ email }}" class="btn-sm"><span>{% trans "Delete" %}</span></a>78 <a href="./+remove-email?id={{ email.id }}" data-qa-id="delete_unverified_{{ email }}" class="btn-sm">
79 <span>{% trans "Delete" %}</span>
80 </a>
77 </td>81 </td>
78 {% endif %}82 {% endif %}
79 </tr>83 </tr>
@@ -101,7 +105,7 @@
101 {% endif %}105 {% endif %}
102 </div>106 </div>
103 <p class="actions">107 <p class="actions">
104 <button type="submit" class="btn cta" name="continue">108 <button type="submit" class="btn cta" name="continue" data-qa-id="add_new_email">
105 <span>{% trans "Add address" %}</span>109 <span>{% trans "Add address" %}</span>
106 </button>110 </button>
107 <a class="cta secondary" href="/">{% trans "Cancel" %}</a>111 <a class="cta secondary" href="/">{% trans "Cancel" %}</a>
108112
=== modified file 'src/webui/templates/ubuntuone/account/new_email.html'
--- src/webui/templates/ubuntuone/account/new_email.html 2013-05-14 13:11:47 +0000
+++ src/webui/templates/ubuntuone/account/new_email.html 2013-06-13 00:15:30 +0000
@@ -25,7 +25,9 @@
25 {% endif %}25 {% endif %}
26 </p>26 </p>
27 <p class="actions">27 <p class="actions">
28 <button type="submit" class="btn cta" name="continue"><span>{% trans "Send instructions" %}</span></button>28 <button type="submit" class="btn cta" name="continue" data-qa-id="send_instructions_confirm_email">
29 <span>{% trans "Send instructions" %}</span>
30 </button>
29 <a class="cta secondary" href=".">{% trans "Cancel" %}</a>31 <a class="cta secondary" href=".">{% trans "Cancel" %}</a>
30 </p>32 </p>
31 </form>33 </form>
3234
=== modified file 'src/webui/templates/ubuntuone/base.html'
--- src/webui/templates/ubuntuone/base.html 2013-06-10 07:32:53 +0000
+++ src/webui/templates/ubuntuone/base.html 2013-06-13 00:15:30 +0000
@@ -3,7 +3,7 @@
3<!--[if IE 8 ]><html class="ie8" lang="en" dir="ltr"><![endif]-->3<!--[if IE 8 ]><html class="ie8" lang="en" dir="ltr"><![endif]-->
4<!--[if (gte IE 9)|!(IE)]><!--><html lang="en" dir="ltr" {% block html_extra %}{% endblock %}><!--<![endif]-->4<!--[if (gte IE 9)|!(IE)]><!--><html lang="en" dir="ltr" {% block html_extra %}{% endblock %}><!--<![endif]-->
5{% comment %}Copyright 2013 Canonical Ltd. This software is licensed under the GNU Affero General Public License version 3 (see the file LICENSE).{% endcomment %}5{% comment %}Copyright 2013 Canonical Ltd. This software is licensed under the GNU Affero General Public License version 3 (see the file LICENSE).{% endcomment %}
6<head>6<head data-qa-id="brand_ubuntuone">
7 <meta charset="utf-8">7 <meta charset="utf-8">
8 <meta name="viewport" content="width=device-width">8 <meta name="viewport" content="width=device-width">
9 {% block extra_meta %}{% endblock %}9 {% block extra_meta %}{% endblock %}
1010
=== modified file 'src/webui/templates/ubuntuone/device/list.html'
--- src/webui/templates/ubuntuone/device/list.html 2013-05-15 07:52:08 +0000
+++ src/webui/templates/ubuntuone/device/list.html 2013-06-13 00:15:30 +0000
@@ -44,14 +44,14 @@
44 <tr>44 <tr>
45 <td class="name">{{ device.name }}</td>45 <td class="name">{{ device.name }}</td>
46 <td class="actions">46 <td class="actions">
47 <a class="btn-sm" href="{% url 'device-rename' device.id %}">47 <a class="btn-sm" href="{% url 'device-rename' device.id %}" data-qa-id="rename_device">
48 <span>{% trans "Rename" %}</span>48 <span>{% trans "Rename" %}</span>
49 </a>49 </a>
50 <a class="btn-sm" href="{% url 'device-removal' device.id %}" data-qa-id="delete_device">50 <a class="btn-sm" href="{% url 'device-removal' device.id %}" data-qa-id="delete_device">
51 <span>{% trans "Delete" %}</span>51 <span>{% trans "Delete" %}</span>
52 </a>52 </a>
53 {% if device.device_type == 'paper' %}53 {% if device.device_type == 'paper' %}
54 <a class="btn-sm" href="{% url 'device-print' device.id %}">54 <a class="btn-sm" href="{% url 'device-print' device.id %}" data-qa-id="print_device">
55 <span>{% trans "View Codes" %}</span>55 <span>{% trans "View Codes" %}</span>
56 </a>56 </a>
57 {% endif %}57 {% endif %}
@@ -66,7 +66,9 @@
66 <p>{% trans "You don't have any authentication devices associated with this account." %}</p>66 <p>{% trans "You don't have any authentication devices associated with this account." %}</p>
67 {% endif %}67 {% endif %}
6868
69 <p><a data-qa-id="add_new_device" href="{{ device_addition_path }}">{% trans "Add a new authentication device" %}</a></p>69 <p><a data-qa-id="add_new_device" href="{{ device_addition_path }}">
70 {% trans "Add a new authentication device" %}
71 </a></p>
7072
71 <p><a href="{% url 'device-help' %}">{% trans "Report a lost or stolen device" %}</a></p>73 <p><a href="{% url 'device-help' %}">{% trans "Report a lost or stolen device" %}</a></p>
7274
7375
=== modified file 'src/webui/templates/ubuntuone/device/print-codes.html'
--- src/webui/templates/ubuntuone/device/print-codes.html 2013-05-21 15:50:20 +0000
+++ src/webui/templates/ubuntuone/device/print-codes.html 2013-06-13 00:15:30 +0000
@@ -27,12 +27,14 @@
27{% include 'device/code-list.html' %}27{% include 'device/code-list.html' %}
2828
29<p>29<p>
30 <button class="btn cta" id="printbtn" onclick="window.print()" data-qa-id="print_btn"><span>{% trans "Print Codes" %}</span></button>30 <button class="btn cta" id="printbtn" onclick="window.print()" data-qa-id="print_codes">
31 <span>{% trans "Print Codes" %}</span>
32 </button>
33 <a class="cta secondary" href="{% url 'device-list' %}" data-qa-id="cancel_print_codes">{% trans "Go back" %}</a>
31 {% if generation_enabled %}34 {% if generation_enabled %}
35 <a class="btn cta secondary print-new-codes" href="{% url 'device-generate' device_id %}" data-qa-id="generate_codes">
36 <span>{% trans "Generate new codes" %}</span>
37 </a>
32 {% endif %}38 {% endif %}
33 <a class="cta secondary" href="{% url 'device-list' %}">{% trans "Go back" %}</a>
34 <a class="cta secondary print-new-codes" href="{% url 'device-generate' device_id %}">
35 <span>{% trans "Generate new codes" %}</span>
36</a>
37</p>39</p>
38{% endblock %}40{% endblock %}
3941
=== modified file 'src/webui/templates/ubuntuone/device/rename.html'
--- src/webui/templates/ubuntuone/device/rename.html 2013-04-24 08:09:34 +0000
+++ src/webui/templates/ubuntuone/device/rename.html 2013-06-13 00:15:30 +0000
@@ -6,6 +6,8 @@
6Affero General Public License version 3 (see the file LICENSE).6Affero General Public License version 3 (see the file LICENSE).
7{% endcomment %}7{% endcomment %}
88
9{% block html_extra %}data-qa-id="device_rename"{% endblock %}
10
9{% block title %}11{% block title %}
10 {% blocktrans %}{{ user }}'s devices{% endblocktrans %}12 {% blocktrans %}{{ user }}'s devices{% endblocktrans %}
11{% endblock %}13{% endblock %}
@@ -27,10 +29,10 @@
27 </label></p>29 </label></p>
2830
29 <p>31 <p>
30 <button class="btn cta" type="submit">32 <button class="btn cta" type="submit" data-qa-id="rename_this_device">
31 <span>{% trans "Rename" %}</span>33 <span>{% trans "Rename" %}</span>
32 </button>34 </button>
33 <a class="cta secondary" href="{{ device_list_path }}">{% trans "Cancel" %}</a>35 <a class="cta secondary" href="{{ device_list_path }}" data-qa-id="cancel_renaming_this_device">{% trans "Cancel" %}</a>
34 </p>36 </p>
3537
36</form>38</form>
3739
=== modified file 'src/webui/templates/ubuntuone/device/types.html'
--- src/webui/templates/ubuntuone/device/types.html 2013-05-22 19:42:47 +0000
+++ src/webui/templates/ubuntuone/device/types.html 2013-06-13 00:15:30 +0000
@@ -60,7 +60,7 @@
60 <button class="btn cta" type="submit" data-qa-id="add_device_from_type">60 <button class="btn cta" type="submit" data-qa-id="add_device_from_type">
61 <span>{% trans "Add device" %}</span>61 <span>{% trans "Add device" %}</span>
62 </button>62 </button>
63 <a class="cta secondary" data-qa-id="cancel" href="{{ device_list_path }}">{% trans "Cancel" %}</a>63 <a class="cta secondary" data-qa-id="cancel_add_device_from_type" href="{{ device_list_path }}">{% trans "Cancel" %}</a>
64 </p>64 </p>
65 <p>65 <p>
66 {% blocktrans with "twofactor_faq"|static_url as 2FFAQ %}66 {% blocktrans with "twofactor_faq"|static_url as 2FFAQ %}
6767
=== modified file 'src/webui/templates/ubuntuone/enter_token.html'
--- src/webui/templates/ubuntuone/enter_token.html 2013-05-31 03:13:32 +0000
+++ src/webui/templates/ubuntuone/enter_token.html 2013-06-13 00:15:30 +0000
@@ -35,7 +35,7 @@
35 {% endif %}35 {% endif %}
36 </p>36 </p>
3737
38 <p><button class="btn cta" type="submit" name="continue">38 <p><button class="btn" type="submit" name="continue" data-qa-id="confirm_enter_token">
39 <span><span>{% trans "Confirm" %}</span></span></button></p>39 <span><span>{% trans "Confirm" %}</span></span></button></p>
40</form>40</form>
4141
4242
=== modified file 'src/webui/templates/ubuntuone/registration/_create_account_form.html'
--- src/webui/templates/ubuntuone/registration/_create_account_form.html 2013-06-07 09:38:53 +0000
+++ src/webui/templates/ubuntuone/registration/_create_account_form.html 2013-06-13 00:15:30 +0000
@@ -66,7 +66,8 @@
66 <input type="hidden" name="old" value="old">66 <input type="hidden" name="old" value="old">
67 {% endif %}67 {% endif %}
6868
69 <button type="submit" class="btn cta" name="continue"><span>{% trans "Create account" %}</span></button>69 <button type="submit" class="btn cta" name="continue" data-qa-id="register_button">
70 <span>{% trans "Create account" %}</span>
71 </button>
70 </div>72 </div>
71</form>73</form>
72
7374
=== modified file 'src/webui/templates/ubuntuone/registration/_login_form.html'
--- src/webui/templates/ubuntuone/registration/_login_form.html 2013-06-06 12:27:42 +0000
+++ src/webui/templates/ubuntuone/registration/_login_form.html 2013-06-13 00:15:30 +0000
@@ -40,7 +40,9 @@
4040
41 <div class="actions">41 <div class="actions">
42 {% if next %}<input type="hidden" name="next" value="{{ next }}">{% endif %}42 {% if next %}<input type="hidden" name="next" value="{{ next }}">{% endif %}
43 <button type="submit" class="btn cta" name="continue" data-qa-id="login_button"><span>{% trans "Log in" %}</span></button>43 <button type="submit" class="btn cta" name="continue" data-qa-id="login_button">
44 <span>{% trans "Log in" %}</span>
45 </button>
44 <p class="forgot-password">{% include "common/forgot_password_link.html" %}</p>46 <p class="forgot-password">{% include "common/forgot_password_link.html" %}</p>
4547
46 {% comment %}48 {% comment %}
4749
=== modified file 'src/webui/templates/ubuntuone/registration/confirm_new_account.html'
--- src/webui/templates/ubuntuone/registration/confirm_new_account.html 2013-05-15 07:47:10 +0000
+++ src/webui/templates/ubuntuone/registration/confirm_new_account.html 2013-06-13 00:15:30 +0000
@@ -22,7 +22,9 @@
22<form id="login-form" class="longfields" method="post" name="loginform">22<form id="login-form" class="longfields" method="post" name="loginform">
23 {% csrf_token %}23 {% csrf_token %}
24 <p class="actions">24 <p class="actions">
25 <button type="submit" name="continue" class="btn"><span><span>{% trans "Complete account creation" %}</span></span></button>25 <button type="submit" name="continue" class="btn" data-qa-id="complete_account_creation">
26 <span><span>{% trans "Complete account creation" %}</span></span>
27 </button>
26 {% trans "or" %}28 {% trans "or" %}
27 {% include "common/cancel_link.html" %}29 {% include "common/cancel_link.html" %}
28 </p>30 </p>
2931
=== modified file 'src/webui/templates/ubuntuone/registration/email_sent.html'
--- src/webui/templates/ubuntuone/registration/email_sent.html 2013-05-28 16:59:50 +0000
+++ src/webui/templates/ubuntuone/registration/email_sent.html 2013-06-13 00:15:30 +0000
@@ -34,7 +34,7 @@
34 <input id="confirmation_code" name="confirmation_code" type="text" class="textType" />34 <input id="confirmation_code" name="confirmation_code" type="text" class="textType" />
35 <input type="hidden" name="email" value="{{ email }}" />35 <input type="hidden" name="email" value="{{ email }}" />
36 </p>36 </p>
37 <p><button id="submit" type="submit" class="btn cta" disabled="true">37 <p><button id="submit" type="submit" class="btn cta" data-qa-id="confirm_email_from_code">
38 <span>{% trans "Continue" %}</span>38 <span>{% trans "Continue" %}</span>
39 </button>39 </button>
40 {% url 'account-emails' as emails_url %}40 {% url 'account-emails' as emails_url %}
4141
=== modified file 'src/webui/templates/ubuntuone/registration/forgot_password.html'
--- src/webui/templates/ubuntuone/registration/forgot_password.html 2013-05-15 07:47:10 +0000
+++ src/webui/templates/ubuntuone/registration/forgot_password.html 2013-06-13 00:15:30 +0000
@@ -34,8 +34,9 @@
34 </span>34 </span>
35 </p>35 </p>
36 <p class="actions">36 <p class="actions">
37 <button type="submit" name="continue" class="btn cta"><span><span>{% trans "Continue" %}</span></span></button>37 <button type="submit" name="continue" class="btn cta" data-qa-id="send_password_reset_token">
38 <span><span>{% trans "Continue" %}</span></span>
39 </button>
38 </p>40 </p>
39 </form>41 </form>
40
41{% endblock %}42{% endblock %}
4243
=== modified file 'src/webui/templates/ubuntuone/registration/reset_password.html'
--- src/webui/templates/ubuntuone/registration/reset_password.html 2013-05-15 07:47:10 +0000
+++ src/webui/templates/ubuntuone/registration/reset_password.html 2013-06-13 00:15:30 +0000
@@ -18,15 +18,14 @@
18{% block content_id %}auth{% endblock %}18{% block content_id %}auth{% endblock %}
1919
20{% block content %}20{% block content %}
21 <p>8 characters minimum.</p>21 <p>{% trans "8 characters minimum." %}</p>
22 <form id="login-form" class="longfields" method="post">22 <form id="login-form" class="longfields" method="post">
23 {% csrf_token %}23 {% csrf_token %}
24 {% include "widgets/ubuntuone/passwords.html" with edit_account_labels=1 fields=form %}24 {% include "widgets/ubuntuone/passwords.html" with edit_account_labels=1 fields=form %}
25 <p class="actions">25 <p class="actions">
26 <button type="submit" name="continue" class="btn cta">26 <button type="submit" name="continue" class="btn cta" data-qa-id="reset_password">
27 <span><span>{% trans "Continue" %}</span></span>27 <span><span>{% trans "Continue" %}</span></span>
28 </button>28 </button>
29 </p>29 </p>
30 </form>30 </form>
31
32{% endblock %}31{% endblock %}
3332
=== modified file 'src/webui/templates/ubuntuone/registration/twofactor.html'
--- src/webui/templates/ubuntuone/registration/twofactor.html 2013-05-15 07:52:08 +0000
+++ src/webui/templates/ubuntuone/registration/twofactor.html 2013-06-13 00:15:30 +0000
@@ -2,6 +2,8 @@
22
3{% load i18n %}3{% load i18n %}
44
5{% block html_extra %}data-qa-id="two_factor_verify"{% endblock %}
6
5{% block extra_css %}7{% block extra_css %}
6 {% if rpconfig and rpconfig.logo_url %}8 {% if rpconfig and rpconfig.logo_url %}
7 <style type="text/css" data-qa-id="test_2f_rp">9 <style type="text/css" data-qa-id="test_2f_rp">
@@ -60,7 +62,9 @@
6062
61 <div class="actions">63 <div class="actions">
62 {% if next %}<input type="hidden" name="next" value="{{ next }}">{% endif %}64 {% if next %}<input type="hidden" name="next" value="{{ next }}">{% endif %}
63 <button type="submit" class="cta" name="continue"><span>{% trans "Authenticate" %}</span></button>65 <button type="submit" class="cta" name="continue" data-qa-id="auth_button">
66 <span>{% trans "Authenticate" %}</span>
67 </button>
64 {% if token %}{% trans "or" %}68 {% if token %}{% trans "or" %}
65 {% include "common/cancel_link.html" %}{% endif %}69 {% include "common/cancel_link.html" %}{% endif %}
66 </div>70 </div>
6771
=== modified file 'src/webui/templates/ubuntuone/select_language.html'
--- src/webui/templates/ubuntuone/select_language.html 2013-04-11 10:43:00 +0000
+++ src/webui/templates/ubuntuone/select_language.html 2013-06-13 00:15:30 +0000
@@ -48,7 +48,9 @@
48 </p>48 </p>
49 {% endfor %}49 {% endfor %}
5050
51 <button type="submit" name="submit" class="cta">{% trans "Choose language" %}</button>51 <button type="submit" name="submit" data-qa-id="choose_language" class="btn cta">
52 {% trans "Choose language" %}
53 </button>
52 </form>54 </form>
5355
54 </div>56 </div>
5557
=== modified file 'src/webui/templates/ubuntuone/server/decide.html'
--- src/webui/templates/ubuntuone/server/decide.html 2013-05-31 03:30:26 +0000
+++ src/webui/templates/ubuntuone/server/decide.html 2013-06-13 00:15:30 +0000
@@ -22,22 +22,23 @@
2222
2323
24<div class="info">24<div class="info">
25 {% blocktrans %} You are logging in to <a data-qa-id="rp_backlink"25 <p data-qa-id="rp_login_title">{% blocktrans %} You are logging in to
26 href="{{ trust_root }}">{{ trust_root }}</a>{% endblocktrans %}26 <a data-qa-id="rp_backlink" href="{{ trust_root }}">{{ trust_root }}</a>
27 {% endblocktrans %}</p>
27 {% if rpconfig %}28 {% if rpconfig %}
28 <p>{% blocktrans with site_name=rpconfig.displayname %}{{ site_name }} has29 <p>{% blocktrans with site_name=rpconfig.displayname %}{{ site_name }} has
29 requested some personal information, please choose what you would like to30 requested some personal information, please choose what you would like to
30 share:{% endblocktrans %}</p>31 share:{% endblocktrans %}</p>
31 {% else %}32 {% else %}
32 <p>{% blocktrans %} The site has requested some personal information,33 <p>{% blocktrans %} The site has requested some personal information,
33 please choose what you would like to share:{% endblocktrans %}</p>34 please choose what you would like to share:{% endblocktrans %}</p>
34 {% endif %}35 {% endif %}
35</div>36</div>
3637
37 <div class="actions">38 <div class="actions">
38 <form action="{{ action }}" method="POST" name="decideform">39 <form action="{{ action }}" method="POST" name="decideform">
39 {% csrf_token %}40 {% csrf_token %}
40 <div class="info-items">41 <div data-qa-id="info-items" class="info-items">
41 {% if user_attribs_form.has_data or teams_form.has_data %}42 {% if user_attribs_form.has_data or teams_form.has_data %}
42 <ul class="list">43 <ul class="list">
43 {% if user_attribs_form.has_data %}44 {% if user_attribs_form.has_data %}
@@ -69,7 +70,9 @@
6970
70 <p>71 <p>
71 <input type="hidden" name="ok" />72 <input type="hidden" name="ok" />
72 <button type="submit" class="cta" name="yes" data-qa-id="rp_confirm_login"><span><span>{% trans "Yes, log me in" %}</span></span></button>73 <button type="submit" class="btn cta" name="yes" data-qa-id="rp_confirm_login">
74 <span><span>{% trans "Yes, log me in" %}</span></span>
75 </button>
73 {% trans "or" %}76 {% trans "or" %}
74 <a href="+cancel">{% trans "cancel" %}</a>77 <a href="+cancel">{% trans "cancel" %}</a>
75 </p>78 </p>
7679
=== added file 'src/webui/templates/widgets/launchpad/login-button.html'
--- src/webui/templates/widgets/launchpad/login-button.html 1970-01-01 00:00:00 +0000
+++ src/webui/templates/widgets/launchpad/login-button.html 2013-06-13 00:15:30 +0000
@@ -0,0 +1,12 @@
1{% comment %}
2Copyright 2010 Canonical Ltd. This software is licensed under the
3GNU Affero General Public License version 3 (see the file LICENSE).
4{% endcomment %}
5
6{% load i18n %}
7
8<span id="login" data-qa-id="login">
9 <a id="login-link" data-qa-id="login_link" href="{% url 'login' %}">
10 {% trans "Log in or create account" %}
11 </a>
12</span>
013
=== modified file 'src/webui/templates/widgets/launchpad/logout-button.html'
--- src/webui/templates/widgets/launchpad/logout-button.html 2013-06-05 15:22:18 +0000
+++ src/webui/templates/widgets/launchpad/logout-button.html 2013-06-13 00:15:30 +0000
@@ -1,16 +1,19 @@
1{% comment %}1{% comment %}
2Copyright 2010 Canonical Ltd. This software is licensed under the2Copyright 2010-2013 Canonical Ltd. This software is licensed under
3GNU Affero General Public License version 3 (see the file LICENSE).3the GNU Affero General Public License version 3 (see the file
4LICENSE).
4{% endcomment %}5{% endcomment %}
56
6{% load i18n %}7{% load i18n %}
78
8<form action="/+logout" method="post">9<form action="{% url 'logout' %}" method="post" id="account" data-qa-id="account">
9 {% csrf_token %}10 {% csrf_token %}
10 <input type="hidden" name="loggingout" value="1" />11 <input type="hidden" name="loggingout" value="1" />
11 {% if not readonly %}<a href="/+edit" class="sprite person">{% endif %}12 {% if not readonly %}
13 <a href="{% url 'account-index' %}" id="account-link" data-qa-id="account_link" class="sprite person">
14 {% endif %}
12 <span data-qa-id="user_name">{% if user.username %}{{ user.username }}{% else %}{{ user.displayname }}{% endif %}</span>15 <span data-qa-id="user_name">{% if user.username %}{{ user.username }}{% else %}{{ user.displayname }}{% endif %}</span>
13 {% if not readonly %}</a>{% endif %}16 {% if not readonly %}</a>{% endif %}
14 &bull;17 &bull;
15 <input type="submit" name="logout" value="Log Out" />18 <input type="submit" name="logout" id="logout-link" data-qa-id="logout_link" value="Log Out" />
16</form>19</form>
1720
=== modified file 'src/webui/templates/widgets/passwords.html'
--- src/webui/templates/widgets/passwords.html 2012-12-18 18:37:03 +0000
+++ src/webui/templates/widgets/passwords.html 2013-06-13 00:15:30 +0000
@@ -22,7 +22,7 @@
22 {% if form.password.errors %}22 {% if form.password.errors %}
23 <span class="error">{{ form.password.errors|first }}</span>23 <span class="error">{{ form.password.errors|first }}</span>
24 {% endif %}24 {% endif %}
25 <span id="password_strength"></span>25 <span id="password_strength" data-qa-id="password_strength"></span>
26 <span class="formHelp">{{ form.password.help_text }}</span>26 <span class="formHelp">{{ form.password.help_text }}</span>
27</p>27</p>
2828
2929
=== modified file 'src/webui/templates/widgets/ubuntu/login-button.html'
--- src/webui/templates/widgets/ubuntu/login-button.html 2013-04-17 13:23:35 +0000
+++ src/webui/templates/widgets/ubuntu/login-button.html 2013-06-13 00:15:30 +0000
@@ -4,9 +4,9 @@
4{% endcomment %}4{% endcomment %}
55
6{% load i18n %}6{% load i18n %}
7{% load menu_item %}
78
8<ul>9<ul>
9 <li id="login">10 {% url 'login' as login_url %}
10 <a href="{% url 'login' %}" id="login-link">{% trans "Log in or create account" %}</a>11 {% menu_item "login" _("Log in or create account") login_url %}
11 </li>12<ul>
12</ul>
1313
=== modified file 'src/webui/templates/widgets/ubuntu/logout-button.html'
--- src/webui/templates/widgets/ubuntu/logout-button.html 2013-04-17 13:23:35 +0000
+++ src/webui/templates/widgets/ubuntu/logout-button.html 2013-06-13 00:15:30 +0000
@@ -1,5 +1,5 @@
1{% comment %}1{% comment %}
2Copyright 2010, 2012 Canonical Ltd. This software is licensed under2Copyright 2010-2013 Canonical Ltd. This software is licensed under
3the GNU Affero General Public License version 3 (see the file3the GNU Affero General Public License version 3 (see the file
4LICENSE).4LICENSE).
5{% endcomment %}5{% endcomment %}
@@ -15,7 +15,7 @@
15{% else %}15{% else %}
16 {% url 'account-index' as account_url %}16 {% url 'account-index' as account_url %}
17{% endif %}17{% endif %}
18{% menu_item "account" user.displayname account_url %}18{% menu_item "account" user.displayname account_url extra_qa_data_id="user_name" %}
1919
20{% if token and not readonly %}20{% if token and not readonly %}
21 {% url 'account-edit' token=token as edit_url %}21 {% url 'account-edit' token=token as edit_url %}
2222
=== modified file 'src/webui/templates/widgets/ubuntuone/header-me-menu.html'
--- src/webui/templates/widgets/ubuntuone/header-me-menu.html 2013-06-10 07:32:53 +0000
+++ src/webui/templates/widgets/ubuntuone/header-me-menu.html 2013-06-13 00:15:30 +0000
@@ -1,9 +1,15 @@
1{% load i18n %}1{% load i18n %}
2{% load menu_item %}
3
2<ul>4<ul>
3{% if user.is_authenticated %}5{% if user.is_authenticated %}
4 <li>6 <li id="account" data-qa-id="account">
5 <span data-qa-id="user_name" class="user-name">{{user.displayname}}</span> <a href="{% url 'account-index' %}">{% trans "My account" %}</a> <span class="sep">|</span>7 <span data-qa-id="user_name" class="user-name">{{user.displayname}}</span>
6 <a href="{% url 'logout' %}" id="logout-link">{% trans "Log out" %}</a>8 <a href="{% url 'account-index' %}" id="account-link" data-qa-id="account_link">{% trans "My account" %}</a> <span class="sep">|</span>
9 <a href="{% url 'logout' %}" id="logout-link" data-qa-id="logout_link">{% trans "Log out" %}</a>
7 </li>10 </li>
11{% else %}
12 {% url 'login' as login_url %}
13 {% menu_item "login" _("Log in or Sign up") login_url %}
8{% endif %}14{% endif %}
9</ul>15</ul>
1016
=== modified file 'src/webui/templates/widgets/ubuntuone/personal-menu.html'
--- src/webui/templates/widgets/ubuntuone/personal-menu.html 2013-06-03 06:32:02 +0000
+++ src/webui/templates/widgets/ubuntuone/personal-menu.html 2013-06-13 00:15:30 +0000
@@ -15,7 +15,7 @@
15{% else %}15{% else %}
16 {% url 'account-index' as account_url %}16 {% url 'account-index' as account_url %}
17{% endif %}17{% endif %}
18{% menu_item "account" _("Personal details") account_url %}18{% menu_item "account2" _("Personal details") account_url %}
1919
20{% if not token and not readonly %}20{% if not token and not readonly %}
21 {% ifswitch TWOFACTOR %}21 {% ifswitch TWOFACTOR %}
2222
=== modified file 'src/webui/views/account.py'
--- src/webui/views/account.py 2013-05-16 13:24:00 +0000
+++ src/webui/views/account.py 2013-06-13 00:15:30 +0000
@@ -52,6 +52,7 @@
52 get_rpconfig_from_request,52 get_rpconfig_from_request,
53 require_testing_enabled,53 require_testing_enabled,
54)54)
55from identityprovider.utils import get_current_brand
5556
56from webui.decorators import (57from webui.decorators import (
57 check_readonly,58 check_readonly,
@@ -334,7 +335,7 @@
334@sso_login_required335@sso_login_required
335@check_readonly336@check_readonly
336def applications(request):337def applications(request):
337 if settings.BRAND not in ('ubuntu', 'ubuntuone'):338 if get_current_brand() not in ('ubuntu', 'ubuntuone'):
338 raise Http404339 raise Http404
339340
340 if request.method == 'POST':341 if request.method == 'POST':
@@ -349,7 +350,7 @@
349 pass350 pass
350 return HttpResponseRedirect('/+applications')351 return HttpResponseRedirect('/+applications')
351 else:352 else:
352 tokens = request.user.oauth_tokens()353 tokens = request.user.oauth_tokens().order_by('created_at')
353 context = RequestContext(request, {354 context = RequestContext(request, {
354 'current_section': 'applications',355 'current_section': 'applications',
355 'tokens': tokens,356 'tokens': tokens,
356357
=== modified file 'src/webui/views/ui.py'
--- src/webui/views/ui.py 2013-06-07 14:51:46 +0000
+++ src/webui/views/ui.py 2013-06-13 00:15:30 +0000
@@ -872,7 +872,7 @@
872872
873873
874def static_page(request, page_name):874def static_page(request, page_name):
875 if settings.BRAND not in ('ubuntu', 'ubuntuone'):875 if get_current_brand() not in ('ubuntu', 'ubuntuone'):
876 raise Http404876 raise Http404
877877
878 return render_to_response('static/%s.html' % page_name,878 return render_to_response('static/%s.html' % page_name,