Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ophélie Gagnard
slapos.core
Commits
50215b31
Commit
50215b31
authored
Apr 29, 2022
by
Rafael Monnerat
Browse files
Options
Browse Files
Download
Plain Diff
Drop zocial update login form
See merge request
nexedi/slapos.core!380
parents
0efe833e
cf83819e
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
461 additions
and
122 deletions
+461
-122
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_login_page_css.css
...Item/web_page_module/rjs_gadget_slapos_login_page_css.css
+21
-0
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_login_page_css.xml
...Item/web_page_module/rjs_gadget_slapos_login_page_css.xml
+342
-0
master/bt5/slapos_jio/SkinTemplateItem/portal_skins/slapos_hal_json_style/login_form.zpt
...ateItem/portal_skins/slapos_hal_json_style/login_form.zpt
+84
-74
master/bt5/slapos_jio/SkinTemplateItem/portal_skins/slapos_hal_json_style/zocial.min.css.css
...tem/portal_skins/slapos_hal_json_style/zocial.min.css.css
+0
-8
master/bt5/slapos_jio/SkinTemplateItem/portal_skins/slapos_hal_json_style/zocial.min.css.xml
...tem/portal_skins/slapos_hal_json_style/zocial.min.css.xml
+0
-28
master/bt5/slapos_jio/bt/template_keep_last_workflow_history_only_path_list
...jio/bt/template_keep_last_workflow_history_only_path_list
+1
-0
master/bt5/slapos_jio/bt/template_path_list
master/bt5/slapos_jio/bt/template_path_list
+1
-0
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSAccountChangeCurrentPassword.zpt
...aposjs_zuite/testSlapOSJSAccountChangeCurrentPassword.zpt
+2
-2
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSAccountForceReLogin.zpt
..._tests/slaposjs_zuite/testSlapOSJSAccountForceReLogin.zpt
+2
-2
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSAccountLogin.zpt
.../portal_tests/slaposjs_zuite/testSlapOSJSAccountLogin.zpt
+2
-2
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSAccountRemoveCurrentLogin.zpt
.../slaposjs_zuite/testSlapOSJSAccountRemoveCurrentLogin.zpt
+2
-2
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSResetPasswordByMail.zpt
..._tests/slaposjs_zuite/testSlapOSJSResetPasswordByMail.zpt
+4
-4
No files found.
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_login_page_css.css
0 → 100644
View file @
50215b31
a
.create_new_account
{
padding
:
6pt
;
margin-top
:
10pt
;
margin-right
:
12pt
;
background-color
:
#FF6600
;
color
:
#FFFFFF
;
border-radius
:
0.325em
;
border-width
:
1px
;
border-style
:
solid
;
border-color
:
#FF6600
;
min-width
:
8em
;
text-decoration
:
none
;
box-shadow
:
0
2px
4px
rgb
(
0
0
0
/
20%
);
text-shadow
:
0
1px
2px
rgb
(
0
0
0
/
20%
);
display
:
inline-block
}
a
.create_new_account
:hover
,
a
.create_new_account
:focus
{
background-color
:
#ff8533
;
}
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_slapos_login_page_css.xml
0 → 100644
View file @
50215b31
This diff is collapsed.
Click to expand it.
master/bt5/slapos_jio/SkinTemplateItem/portal_skins/slapos_hal_json_style/login_form.zpt
View file @
50215b31
<html>
<html
tal:define=
"form_action string:WebSite_login;
absolute_url context/absolute_url;
portal context/getPortalObject;
available_oauth_login_list python: portal.ERP5Site_getAvailableOAuthLoginList();
enable_google_login python: 'google' in available_oauth_login_list;
enable_facebook_login python: 'facebook' in available_oauth_login_list;
enable_openidconnect_login python: 'openidconnect' in available_oauth_login_list;
"
>
<head>
<head>
<meta
charset=
"UTF-8"
>
<meta
charset=
"UTF-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1"
>
<title
tal:content=
"p
ython: here.getPortalObject().getTitle()
"
></title>
<title
tal:content=
"p
ortal/getTitle
"
></title>
<link
rel=
"stylesheet"
href=
"gadget_erp5_nojqm.css"
>
<link
rel=
"stylesheet"
href=
"gadget_erp5_nojqm.css"
>
<link
rel=
"stylesheet"
href=
"
zocial.min
.css"
>
<link
rel=
"stylesheet"
href=
"
gadget_slapos_login_page
.css"
>
</head>
</head>
<body
tal:define=
"form_action string:WebSite_login;
<body>
portal here/getPortalObject"
>
<div
data-role=
'page'
>
<div
data-gadget-scope=
'header'
>
<div
data-gadget-scope=
'header'
>
<div
class=
"ui-header"
>
<div
class=
"ui-header"
>
<h1><span
i18n:domain=
"ui"
i18n:translate=
""
>
Connect
</span></h1>
<h1><span
i18n:domain=
"ui"
i18n:translate=
""
>
Log in
</span></h1>
</div>
</div>
</div>
</div>
...
@@ -25,87 +30,92 @@
...
@@ -25,87 +30,92 @@
</div>
</div>
</div>
</div>
<div
data-role=
"page"
>
<div
role=
"main"
class=
"ui-container gadget-content"
>
<div
class=
"gadget-content"
>
<article>
<article>
<div
class=
"ui-field-contain"
>
<section>
<section>
<span
tal:replace=
"structure here/WebSection_getLoginWarningMessage"
></span>
<span
tal:replace=
"structure here/WebSection_getLoginWarningMessage"
></span>
</section>
</section>
</div>
<div
class=
"ui-field-contain"
>
<section>
<section>
<
tal:block
tal:condition=
"exists: request/portal_status_message"
>
<
div
class=
"visible"
data-gadget-scope=
"notification"
tal:condition=
"exists: request/portal_status_message"
>
<
span
tal:attributes=
"data-i18n request/portal_status_message"
><span
tal:content=
"request/portal_status_message"
></span></spa
n>
<
button
type=
"submit"
class=
"error"
tal:attributes=
"data-i18n request/portal_status_message"
><span
tal:content=
"request/portal_status_message"
></span></butto
n>
</
tal:block
>
</
div
>
</section>
</section>
</div>
<section
tal:condition=
"not: portal/portal_membership/isAnonymousUser"
>
<section
tal:condition=
"not: portal/portal_membership/isAnonymousUser"
>
<p
i18n:domain=
"ui"
i18n:translate=
""
>
It seems you're already authenticated.
</p>
<p
i18n:domain=
"ui"
i18n:translate=
""
>
It seems you're already authenticated.
</p>
<p><a
tal:condition=
"exists: request/came_from"
<p><a
tal:condition=
"exists: request/came_from"
tal:attributes=
"href request/came_from"
>
Go back
</a></p>
tal:attributes=
"href request/came_from"
>
Go back
</a></p>
</section>
</section>
<section
tal:condition=
"portal/portal_membership/isAnonymousUser"
>
<section
tal:condition=
"portal/portal_membership/isAnonymousUser"
>
<form
method=
"post"
tal:attributes=
"action python: '%s/' % context.absolute_url()"
>
<section
class=
"ui-content-header-plain"
>
<h3
class=
"ui-content-title ui-body-c"
>
<div
class=
"ui-field-contain"
>
<span
class=
"ui-icon ui-icon-custom ui-icon-sign-in"
></span>
<label
i18n:domain=
"ui"
i18n:translate=
""
>
Login
</label>
<tal:block
i18n:domain=
"ui"
i18n:translate=
""
>
Log in
</tal:block>
<div><input
autofocus
type=
"text"
name=
"__ac_name"
value=
""
required=
""
></div>
</h3>
</div><br/>
</section>
<div
class=
"ui-field-contain"
>
<form
method=
"post"
tal:attributes=
"action python: '%s/' % absolute_url"
class=
"field_container"
>
<label
i18n:domain=
"ui"
i18n:translate=
""
>
Password
</label>
<div>
<div><input
type=
"password"
name=
"__ac_password"
value=
""
required=
""
></div>
<div>
</div><br/>
<div
class=
"ui-field-contain"
>
<div
class=
"ui-field-contain"
>
<label
i18n:domain=
"ui"
i18n:translate=
""
>
Username
</label>
<label></label>
<div><input
autofocus
type=
"text"
name=
"__ac_name"
value=
""
required=
""
></div>
<div
tal:define=
"absolute_url python:context.absolute_url()"
>
<a
i18n:domain=
"ui"
i18n:translate=
""
tal:attributes=
"href python: '%s/WebSite_viewRecoverAccount?came_from=%s' % (absolute_url, absolute_url)"
>
I forgot my password!
</a>
</div>
</div><br/>
<div
class=
"ui-field-contain"
>
<label></label>
<div><input
type=
"submit"
value=
'Login'
i18n:attributes=
"value"
i18n:domain=
"ui"
tal:attributes=
"name python: '%s:method' % (form_action, )"
/></div>
</div>
<br/>
<div
class=
"ui-field-contain"
>
<label></label>
<div><a
tal:attributes=
"href string:join_form"
i18n:translate=
""
i18n:domain=
"ui"
class=
"zocial secondary"
>
Create New Account
</a>
</div>
</div>
</div>
<div
class=
"ui-field-contain"
>
<label
i18n:domain=
"ui"
i18n:translate=
""
>
Password
</label>
<hr
/>
<div><input
type=
"password"
name=
"__ac_password"
value=
""
autocomplete=
"off"
/></div>
<tal:block
tal:define=
"available_oauth_login_list python: context.getPortalObject().ERP5Site_getAvailableOAuthLoginList();"
>
<tal:block
tal:condition=
"python: 'google' in available_oauth_login_list"
>
<div
class=
"ui-field-contain"
>
<label></label>
<div>
<a
tal:attributes=
"href string:${here/portal_url}/ERP5Site_redirectToGoogleLoginPage"
i18n:translate=
""
i18n:domain=
"ui"
class=
"zocial google"
>
Sign in or Login with Google
</a>
</div>
</div>
</div><br/>
<div
class=
"dialog_button_container"
>
</tal:block>
<input
type=
"submit"
value=
"Login"
i18n:attributes=
"value"
i18n:domain=
"ui"
tal:attributes=
"name python: '%s:method' % (form_action, )"
/>
<a
i18n:domain=
"ui"
i18n:translate=
""
tal:attributes=
"href python: '%s/WebSite_viewRecoverAccount?came_from=%s' % (absolute_url, absolute_url)"
>
I forgot my password!
</a>
<tal:block
tal:condition=
"python: 'facebook' in available_oauth_login_list"
>
</div>
<div
class=
"ui-field-contain"
>
<div
class=
"ui-field-contain"
>
<label></label>
<label
i18n:domain=
"ui"
i18n:translate=
""
>
Or you can ...
</label>
<div>
<div></div>
<a
tal:attributes=
"href string:${here/portal_url}/ERP5Site_redirectToFacebookLoginPage"
</div>
i18n:translate=
""
i18n:domain=
"ui"
class=
"zocial facebook"
>
Sign in or Login with Facebook
</a>
<div
class=
"dialog_button_container"
>
<a
tal:attributes=
"href string:join_form"
i18n:translate=
""
i18n:domain=
"ui"
class=
"create_new_account"
>
Create New Account
</a>
</div>
<div
class=
"dialog_button_container"
tal:condition=
"enable_google_login"
tal:define=
"current_url python: context.getWebSiteValue().absolute_url()"
>
<a
tal:attributes=
"href string:${current_url}/ERP5Site_redirectToGoogleLoginPage"
i18n:translate=
""
i18n:domain=
"ui"
class=
"sign_in_with_google"
>
<img
alt=
"Sign in with Google"
src=
"google_login_button.png"
/>
</a>
</div>
</div>
<div
class=
"dialog_button_container"
tal:condition=
"enable_facebook_login"
tal:define=
"current_url python: context.getWebSiteValue().absolute_url()"
>
<a
tal:attributes=
"href string:${current_url}/ERP5Site_redirectToFacebookLoginPage"
i18n:translate=
""
i18n:domain=
"ui"
class=
"sign_in_with_facebook"
>
<img
alt=
"Login with Facebook"
src=
"facebook_login_button.png"
>
</a>
</div>
<div
class=
"dialog_button_container"
tal:condition=
"enable_openidconnect_login"
tal:define=
"current_url python: context.getWebSiteValue().absolute_url()"
>
<a
tal:attributes=
"href string:${current_url}/ERP5Site_redirectToOpenIdLoginPage"
i18n:translate=
""
i18n:domain=
"ui"
class=
"sign_in_with_openid"
>
<img
alt=
"Sign in with OpenID Connect"
src=
"openid_login_button.png"
/>
</a>
</div>
</div>
</div>
</
tal:block
>
</
div
>
</tal:block
>
<input
type=
"hidden"
name=
"url"
tal:attributes=
"value absolute_url"
/
>
<input
type=
"hidden"
name=
"url"
tal:attributes=
"value python: context.absolute_url()"
/>
<input
tal:condition=
"exists: request/came_from"
<input
tal:condition=
"exists: request/
came_from"
type=
"hidden"
name=
"
came_from"
type=
"hidden"
name=
"came_from"
tal:attributes=
"value request/came_from"
/>
tal:attributes=
"value request/came_from"
/
>
</form
>
</form
>
</section
>
</section
>
</article
>
</
article
>
</
div
>
</div>
</div>
</div>
</body>
</body>
</html>
</html>
\ No newline at end of file
master/bt5/slapos_jio/SkinTemplateItem/portal_skins/slapos_hal_json_style/zocial.min.css.css
deleted
100644 → 0
View file @
0efe833e
This diff is collapsed.
Click to expand it.
master/bt5/slapos_jio/SkinTemplateItem/portal_skins/slapos_hal_json_style/zocial.min.css.xml
deleted
100644 → 0
View file @
0efe833e
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"File"
module=
"OFS.Image"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
__name__
</string>
</key>
<value>
<string>
zocial.min.css
</string>
</value>
</item>
<item>
<key>
<string>
content_type
</string>
</key>
<value>
<string>
text/css
</string>
</value>
</item>
<item>
<key>
<string>
precondition
</string>
</key>
<value>
<string></string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<string>
zocial.min.css
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_jio/bt/template_keep_last_workflow_history_only_path_list
View file @
50215b31
...
@@ -213,6 +213,7 @@ web_page_module/rjs_slapos_load_meta_schema_json
...
@@ -213,6 +213,7 @@ web_page_module/rjs_slapos_load_meta_schema_json
web_page_module/rjs_slapos_load_meta_schema_xml_in_json_json
web_page_module/rjs_slapos_load_meta_schema_xml_in_json_json
web_page_module/rjs_slapos_load_meta_schema_xml_json
web_page_module/rjs_slapos_load_meta_schema_xml_json
web_page_module/rjs_slapos_load_software_schema_json
web_page_module/rjs_slapos_load_software_schema_json
web_page_module/rjs_gadget_slapos_login_page_css
web_page_module/rjs_tv4_min_js
web_page_module/rjs_tv4_min_js
web_page_module/rjs_vkbeautify_js
web_page_module/rjs_vkbeautify_js
web_site_module/hostingjs
web_site_module/hostingjs
...
...
master/bt5/slapos_jio/bt/template_path_list
View file @
50215b31
...
@@ -195,6 +195,7 @@ web_page_module/rjs_gadget_slapos_invoice_state_html
...
@@ -195,6 +195,7 @@ web_page_module/rjs_gadget_slapos_invoice_state_html
web_page_module/rjs_gadget_slapos_invoice_state_js
web_page_module/rjs_gadget_slapos_invoice_state_js
web_page_module/rjs_gadget_slapos_label_listbox_field_html
web_page_module/rjs_gadget_slapos_label_listbox_field_html
web_page_module/rjs_gadget_slapos_label_listbox_field_js
web_page_module/rjs_gadget_slapos_label_listbox_field_js
web_page_module/rjs_gadget_slapos_login_page_css
web_page_module/rjs_gadget_slapos_network_status_html
web_page_module/rjs_gadget_slapos_network_status_html
web_page_module/rjs_gadget_slapos_network_status_js
web_page_module/rjs_gadget_slapos_network_status_js
web_page_module/rjs_gadget_slapos_panel_html
web_page_module/rjs_gadget_slapos_panel_html
...
...
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSAccountChangeCurrentPassword.zpt
View file @
50215b31
...
@@ -88,12 +88,12 @@
...
@@ -88,12 +88,12 @@
</tr>
</tr>
<tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
waitForElementPresent
</td>
<td
tal:content=
"python: '//
spa
n[@data-i18n=\'%s\']' % (here.Base_translateString('Login and/or password is incorrect.', lang=lang))"
></td>
<td
tal:content=
"python: '//
butto
n[@data-i18n=\'%s\']' % (here.Base_translateString('Login and/or password is incorrect.', lang=lang))"
></td>
<td></td>
<td></td>
</tr>
</tr>
<tr>
<tr>
<td>
assertElementPresent
</td>
<td>
assertElementPresent
</td>
<td
tal:content=
"python: '//
spa
n[@data-i18n=\'%s\']' % (here.Base_translateString('Login and/or password is incorrect.', lang=lang))"
></td>
<td
tal:content=
"python: '//
butto
n[@data-i18n=\'%s\']' % (here.Base_translateString('Login and/or password is incorrect.', lang=lang))"
></td>
<td></td>
<td></td>
</tr>
</tr>
<tr>
<tr>
...
...
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSAccountForceReLogin.zpt
View file @
50215b31
...
@@ -31,12 +31,12 @@ have the correct "me" setting, so we just let the getSettingMe
...
@@ -31,12 +31,12 @@ have the correct "me" setting, so we just let the getSettingMe
function redirect us to the login page -->
function redirect us to the login page -->
<tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
waitForElementPresent
</td>
<td
tal:content=
"python: '//label[contains(text(), \'%s\')]' % (here.Base_translateString('
Login
', lang=lang))"
></td>
<td
tal:content=
"python: '//label[contains(text(), \'%s\')]' % (here.Base_translateString('
Username
', lang=lang))"
></td>
<td></td>
<td></td>
</tr>
</tr>
<tr>
<tr>
<td>
assertElementPresent
</td>
<td>
assertElementPresent
</td>
<td
tal:content=
"python: '//label[contains(text(), \'%s\')]' % (here.Base_translateString('
Login
', lang=lang))"
></td>
<td
tal:content=
"python: '//label[contains(text(), \'%s\')]' % (here.Base_translateString('
Username
', lang=lang))"
></td>
<td></td>
<td></td>
</tr>
</tr>
<tr>
<tr>
...
...
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSAccountLogin.zpt
View file @
50215b31
...
@@ -122,12 +122,12 @@
...
@@ -122,12 +122,12 @@
<tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
waitForElementPresent
</td>
<td
tal:content=
"python: '//label[contains(text(), \'%s\')]' % (here.Base_translateString('
Login
', lang=lang))"
></td>
<td
tal:content=
"python: '//label[contains(text(), \'%s\')]' % (here.Base_translateString('
Username
', lang=lang))"
></td>
<td></td>
<td></td>
</tr>
</tr>
<tr>
<tr>
<td>
assertElementPresent
</td>
<td>
assertElementPresent
</td>
<td
tal:content=
"python: '//label[contains(text(), \'%s\')]' % (here.Base_translateString('
Login
', lang=lang))"
></td>
<td
tal:content=
"python: '//label[contains(text(), \'%s\')]' % (here.Base_translateString('
Username
', lang=lang))"
></td>
<td></td>
<td></td>
</tr>
</tr>
<tr>
<tr>
...
...
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSAccountRemoveCurrentLogin.zpt
View file @
50215b31
...
@@ -104,12 +104,12 @@
...
@@ -104,12 +104,12 @@
</tr>
</tr>
<tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
waitForElementPresent
</td>
<td
tal:content=
"python: '//
spa
n[@data-i18n=\'%s\']' % (here.Base_translateString('Login and/or password is incorrect.', lang=lang))"
></td>
<td
tal:content=
"python: '//
butto
n[@data-i18n=\'%s\']' % (here.Base_translateString('Login and/or password is incorrect.', lang=lang))"
></td>
<td></td>
<td></td>
</tr>
</tr>
<tr>
<tr>
<td>
assertElementPresent
</td>
<td>
assertElementPresent
</td>
<td
tal:content=
"python: '//
spa
n[@data-i18n=\'%s\']' % (here.Base_translateString('Login and/or password is incorrect.', lang=lang))"
></td>
<td
tal:content=
"python: '//
butto
n[@data-i18n=\'%s\']' % (here.Base_translateString('Login and/or password is incorrect.', lang=lang))"
></td>
<td></td>
<td></td>
</tr>
</tr>
</tbody>
</tbody>
...
...
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSResetPasswordByMail.zpt
View file @
50215b31
...
@@ -88,13 +88,13 @@
...
@@ -88,13 +88,13 @@
</tr>
</tr>
<tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
waitForElementPresent
</td>
<td
tal:content=
"python: '//
spa
n[@data-i18n=\'%s\']' % (here.Base_translateString('An email has been sent to you.', lang=lang))"
></td>
<td
tal:content=
"python: '//
butto
n[@data-i18n=\'%s\']' % (here.Base_translateString('An email has been sent to you.', lang=lang))"
></td>
<td></td>
<td></td>
</tr>
</tr>
<tr>
<tr>
<td>
assertElementPresent
</td>
<td>
assertElementPresent
</td>
<td
tal:content=
"python: '//
spa
n[@data-i18n=\'%s\']' % (here.Base_translateString('An email has been sent to you.', lang=lang))"
></td>
<td
tal:content=
"python: '//
butto
n[@data-i18n=\'%s\']' % (here.Base_translateString('An email has been sent to you.', lang=lang))"
></td>
<td></td>
<td></td>
</tr>
</tr>
...
@@ -169,13 +169,13 @@
...
@@ -169,13 +169,13 @@
</tr>
</tr>
<tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
waitForElementPresent
</td>
<td>
//
spa
n[@data-i18n="Password changed."]
</td>
<td>
//
butto
n[@data-i18n="Password changed."]
</td>
<td></td>
<td></td>
</tr>
</tr>
<tr>
<tr>
<td>
assertElementPresent
</td>
<td>
assertElementPresent
</td>
<td>
//
spa
n[@data-i18n="Password changed."]
</td>
<td>
//
butto
n[@data-i18n="Password changed."]
</td>
<td></td>
<td></td>
</tr>
</tr>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment