diff options
| author | Kevin Baptiste <kba@odoo.com> | 2019-08-12 07:18:23 +0000 |
|---|---|---|
| committer | Yannick Tivisse <yti@odoo.com> | 2019-11-28 10:05:12 +0000 |
| commit | ff1c35513aecef5fbc30f7c2f3834450e719714e (patch) | |
| tree | 8149f14df17095845e735d6cccaf9317a1f97af6 /odoo | |
| parent | 4c030311ada2ad19a2ee81b15544b7aed35b642b (diff) | |
[IMP] web: update to fontawesome 4.7.0 to 5.11.2
FontAwesome 5 introduced new names for some icons as described on
https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4#name-changes
This commit replaces the old names to the new ones.
closes odoo/odoo#35826
Taskid: 2050241
Related: odoo/enterprise#5180
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Diffstat (limited to 'odoo')
| -rw-r--r-- | odoo/addons/base/data/ir_demo_data.xml | 2 | ||||
| -rw-r--r-- | odoo/addons/base/tests/test_translate.py | 6 | ||||
| -rw-r--r-- | odoo/addons/base/tests/test_view_validation.py | 189 | ||||
| -rw-r--r-- | odoo/addons/base/views/ir_actions_views.xml | 4 | ||||
| -rw-r--r-- | odoo/addons/base/views/ir_mail_server_views.xml | 2 | ||||
| -rw-r--r-- | odoo/addons/base/views/ir_qweb_widget_templates.xml | 12 | ||||
| -rw-r--r-- | odoo/addons/base/views/res_company_views.xml | 2 | ||||
| -rw-r--r-- | odoo/addons/base/views/res_currency_views.xml | 2 | ||||
| -rw-r--r-- | odoo/addons/base/views/res_lang_views.xml | 4 | ||||
| -rw-r--r-- | odoo/addons/base/views/res_partner_views.xml | 2 | ||||
| -rw-r--r-- | odoo/addons/base/views/res_users_views.xml | 10 | ||||
| -rw-r--r-- | odoo/addons/base/wizard/base_document_layout_views.xml | 2 | ||||
| -rw-r--r-- | odoo/addons/base/wizard/base_module_update_views.xml | 2 | ||||
| -rw-r--r-- | odoo/addons/test_exceptions/view.xml | 44 |
14 files changed, 236 insertions, 47 deletions
diff --git a/odoo/addons/base/data/ir_demo_data.xml b/odoo/addons/base/data/ir_demo_data.xml index 60f8c9cb50c..32066df1a7b 100644 --- a/odoo/addons/base/data/ir_demo_data.xml +++ b/odoo/addons/base/data/ir_demo_data.xml @@ -15,7 +15,7 @@ <div class="col-12 text-center"> <div class="card text-white bg-danger mb-3 w-75 ml64"> <div class="card-header"> - <span class="fa fa-2x fa-warning" t-translation="off">&nbsp;</span> + <span class="fas fa-2x fa-exclamation-triangle" t-translation="off">&nbsp;</span> <span class="text-white text-uppercase">Danger Zone</span> </div> <div class="card-body bg-transparent text-center"> diff --git a/odoo/addons/base/tests/test_translate.py b/odoo/addons/base/tests/test_translate.py index 0d421842e0d..c1f56f76387 100644 --- a/odoo/addons/base/tests/test_translate.py +++ b/odoo/addons/base/tests/test_translate.py @@ -118,13 +118,13 @@ class TranslationToolsTestCase(BaseCase): source = """<form string="Form stuff"> <div> <label for="stuff"/> - <span class="fa fa-globe" title="Title stuff"/> + <span class="fa fa-globe-americas" title="Title stuff"/> </div> </form>""" result = xml_translate(terms.append, source) self.assertEqual(result, source) self.assertItemsEqual(terms, - ['Form stuff', '<span class="fa fa-globe" title="Title stuff"/>']) + ['Form stuff', '<span class="fa fa-globe-americas" title="Title stuff"/>']) def test_translate_xml_inline5(self): """ Test xml_translate() with inline elements with empty translated attrs only. """ @@ -132,7 +132,7 @@ class TranslationToolsTestCase(BaseCase): source = """<form string="Form stuff"> <div> <label for="stuff"/> - <span class="fa fa-globe" title=""/> + <span class="fa fa-globe-americas" title=""/> </div> </form>""" result = xml_translate(terms.append, source) diff --git a/odoo/addons/base/tests/test_view_validation.py b/odoo/addons/base/tests/test_view_validation.py new file mode 100644 index 00000000000..95a0e4de85a --- /dev/null +++ b/odoo/addons/base/tests/test_view_validation.py @@ -0,0 +1,189 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from lxml import etree +import io + +from odoo.tests.common import BaseCase +from odoo.tools.view_validation import ( + valid_page_in_book, valid_att_in_form, valid_type_in_colspan, + valid_type_in_col, valid_att_in_field, valid_att_in_label, + valid_field_in_graph, valid_field_in_tree, valid_alternative_image_text, + valid_simili_button, + valid_simili_progressbar, valid_dialog, valid_simili_dropdown, + valid_focusable_button, valid_prohibited_none_role, valid_simili_tabpanel, + valid_simili_tab, valid_simili_tablist, valid_alerts +) + +invalid_form = etree.parse(io.BytesIO(b'''\ +<form> + <label></label> + <ul class="dropdown-menu"><li/><li/></ul> + <div role="presentation"/> + <group> + <div> + <page></page> + <label colspan="True" string=""></label> + <field></field> + </div> + </group> + <notebook> + <page> + <group col="Two"> + <div> + <div class="o_progressbar">100%</div> + <label string=""></label> + <img/> + <span class="fas fa-exclamation-triangle"/> + <field colspan="Five"> </field> + </div> + </group> + <a class="btn"/> + <div class="btn"/> + <div class="tab-pane"/> + </page> + </notebook> + <div class="modal"/> + <a data-toggle="tab"/> + <div class="nav-tabs"/> + <div class="alert alert-success"/> +</form> +''')).getroot() + +valid_form = etree.parse(io.BytesIO(b'''\ +<form string=""> + <field name=""></field> + <field name=""></field> + <ul class="dropdown-menu" role="menu"></ul> + <notebook> + <page> + <field name=""></field> + <label for="" string=""></label> + <field name=""></field> + </page> + <page> + <group colspan="5" col="2"> + <div class="o_progressbar" role="progressbar" aria-valuenow="14" aria-valuemin="0" aria-valuemax="100">14%</div> + <label for=""></label> + <label for="" string="" colspan="5"></label> + <img alt="Test image"/> + <span class="fa fa-success" aria-label="Test span" title="Test span"/> + <a class="fa fa-success"><span aria-label="test" title="test"/></a> + <a class="btn" role="button"/> + <i class="fa fa-check"/> Test icon + <i class="fa fa-check"/> + </group> + </page> + </notebook> + <div role="dialog" class="modal"> + <header class="modal-header"/> + <main class="modal-body"/> + <i class="fa fa-check"/> <span>Test</span> + <footer class="modal-footer"/> + </div> + <div class="tab-pane" role="tabpanel"/> + <a data-toggle="tab" role="tab" aria-selected="true" aria-controls="test"/> + <div class="nav-tabs" role="tablist"/> + <div class="alert alert-success" role="alert"/> + <div class="alert alert-success" role="alertdialog"/> + <div class="alert alert-success" role="status"/> +</form> +''')).getroot() + +invalid_graph = etree.parse(io.BytesIO(b'''\ +<graph> + <label/> + <group> + <div> + <field></field> + <field></field> + </div> + </group> +</graph> +''')).getroot() + +valid_graph = etree.parse(io.BytesIO(b'''\ +<graph string=""> + <field name=""></field> + <field name=""></field> +</graph> +''')).getroot() + +invalid_tree = etree.parse(io.BytesIO(b'''\ +<tree> + <group> + <div> + <field></field> + <field></field> + </div> + </group> +</tree> +''')).getroot() + +valid_tree = etree.parse(io.BytesIO(b'''\ +<tree string=""> + <field name=""></field> + <field name=""></field> + <button/> + <field name=""></field> +</tree> +''')).getroot() + + +class TestViewValidation(BaseCase): + """ Test the view validation code (but not the views themselves). """ + + def test_page_validation(self): + assert not valid_page_in_book(invalid_form) + assert valid_page_in_book(valid_form) + + def test_all_field_validation(self): + assert not valid_att_in_field(invalid_form) + assert valid_att_in_field(valid_form) + + def test_all_label_validation(self): + assert not valid_att_in_label(invalid_form) + assert valid_att_in_label(valid_form) + + def test_form_string_validation(self): + assert valid_att_in_form(valid_form) + + def test_graph_validation(self): + assert not valid_field_in_graph(invalid_graph) + assert valid_field_in_graph(valid_graph) + + def test_tree_validation(self): + assert not valid_field_in_tree(invalid_tree) + assert valid_field_in_tree(valid_tree) + + def test_colspan_datatype_validation(self): + assert not valid_type_in_colspan(invalid_form) + assert valid_type_in_colspan(valid_form) + + def test_col_datatype_validation(self): + assert not valid_type_in_col(invalid_form) + assert valid_type_in_col(valid_form) + + def test_a11y_validation(self): + assert valid_alternative_image_text(invalid_form) == "Warning" + assert valid_alternative_image_text(valid_form) is True + assert valid_simili_button(invalid_form) == "Warning" + assert valid_simili_button(valid_form) is True + assert valid_dialog(invalid_form) == "Warning" + assert valid_dialog(valid_form) is True + assert valid_simili_dropdown(invalid_form) == "Warning" + assert valid_simili_dropdown(valid_form) is True + assert valid_simili_progressbar(invalid_form) == "Warning" + assert valid_simili_progressbar(valid_form) is True + assert valid_simili_tabpanel(invalid_form) == "Warning" + assert valid_simili_tabpanel(valid_form) is True + assert valid_simili_tablist(invalid_form) == "Warning" + assert valid_simili_tablist(valid_form) is True + assert valid_simili_tab(invalid_form) == "Warning" + assert valid_simili_tab(valid_form) is True + assert valid_focusable_button(invalid_form) == "Warning" + assert valid_focusable_button(valid_form) is True + assert valid_prohibited_none_role(invalid_form) == "Warning" + assert valid_prohibited_none_role(valid_form) is True + assert valid_alerts(invalid_form) == "Warning" + assert valid_alerts(valid_form) is True diff --git a/odoo/addons/base/views/ir_actions_views.xml b/odoo/addons/base/views/ir_actions_views.xml index 65b141cf0c3..3a924e016f9 100644 --- a/odoo/addons/base/views/ir_actions_views.xml +++ b/odoo/addons/base/views/ir_actions_views.xml @@ -399,7 +399,7 @@ env['res.partner'].create({'name': partner_name}) <button name="action_launch" states="open" string="Launch" type="object" icon="fa-cogs" help="Launch Configuration Wizard"/> <button name="action_open" states="done" string="Todo" type="object" help="Set as Todo" - icon="fa-exchange"/> + icon="fa-exchange-alt"/> </tree> </field> </record> @@ -415,7 +415,7 @@ env['res.partner'].create({'name': partner_name}) help="Launch Configuration Wizard"/> <button name="action_open" states="done" string="Set as Todo" type="object" - icon="fa-exchange" class="oe_highlight"/> + icon="fa-exchange-alt" class="oe_highlight"/> <field name="state" widget="statusbar" statusbar_visible="open,done" nolabel="1" readonly="1" /> </header> <sheet> diff --git a/odoo/addons/base/views/ir_mail_server_views.xml b/odoo/addons/base/views/ir_mail_server_views.xml index 2d795a82f90..98fa1c2eb7d 100644 --- a/odoo/addons/base/views/ir_mail_server_views.xml +++ b/odoo/addons/base/views/ir_mail_server_views.xml @@ -19,7 +19,7 @@ <field name="smtp_encryption"/> <field name="smtp_user"/> <field name="smtp_pass" password="True"/> - <button name="test_smtp_connection" type="object" string="Test Connection" icon="fa-television"/> + <button name="test_smtp_connection" type="object" string="Test Connection" icon="fa-tv"/> </group> </sheet> </form> diff --git a/odoo/addons/base/views/ir_qweb_widget_templates.xml b/odoo/addons/base/views/ir_qweb_widget_templates.xml index 470ef1482aa..608e42413cc 100644 --- a/odoo/addons/base/views/ir_qweb_widget_templates.xml +++ b/odoo/addons/base/views/ir_qweb_widget_templates.xml @@ -22,11 +22,11 @@ </t> <div itemprop="address" itemscope="itemscope" itemtype="http://schema.org/PostalAddress"> <div t-if="address and 'address' in fields" class="d-flex align-items-baseline"> - <i t-if="not options.get('no_marker')" class="fa fa-map-marker fa-fw" role="img" aria-label="Address" title="Address"/> + <i t-if="not options.get('no_marker')" class="fas fa-map-marker-alt fa-fw" role="img" aria-label="Address" title="Address"/> <span class="w-100 o_force_ltr" itemprop="streetAddress" t-raw="address.replace('\n', options.get('no_tag_br') and ', ' or ('<br/>%s' % ('' if options.get('no_marker') else '')))"/> </div> <div t-if="city and 'city' in fields" class="d-flex align-items-baseline"> - <i t-if="not options.get('no_marker')" class="fa fa-map-marker fa-fw" role="img" aria-label="Address" title="Address"/> + <i t-if="not options.get('no_marker')" class="fas fa-map-marker-alt fa-fw" role="img" aria-label="Address" title="Address"/> <span class="o_force_ltr"> <div> <span itemprop="addressLocality" t-esc="city"/>, @@ -35,13 +35,13 @@ </span> </div> <div t-if="phone and 'phone' in fields"><i t-if="not options.get('no_marker') or options.get('phone_icons')" class='fa fa-phone fa-fw' role="img" aria-label="Phone" title="Phone"/> <span class="o_force_ltr" itemprop="telephone" t-esc="phone"/></div> - <div t-if="mobile and 'mobile' in fields"><i t-if="not options.get('no_marker') or options.get('phone_icons')" class='fa fa-mobile fa-fw' role="img" aria-label="Mobile" title="Mobile"/> <span class="o_force_ltr" itemprop="telephone" t-esc="mobile"/></div> - <div t-if="fax and 'fax' in fields"><i t-if="not options.get('no_marker') or options.get('phone_icons')" class='fa fa-fax fa-fw' role="img" aria-label="Fax" title="Fax"/> <span class="o_force_ltr" itemprop="faxNumber" t-esc="fax"/></div> + <div t-if="mobile and 'mobile' in fields"><i t-if="not options.get('no_marker') or options.get('phone_icons')" class='fas fa-mobile-alt fa-fw' role="img" aria-label="Mobile" title="Mobile"/> <span class="o_force_ltr" itemprop="telephone" t-esc="mobile"/></div> + <div t-if="fax and 'fax' in fields"><i t-if="not options.get('no_marker') or options.get('phone_icons')" class='fab fa-fax fa-fw' role="img" aria-label="Fax" title="Fax"/> <span class="o_force_ltr" itemprop="faxNumber" t-esc="fax"/></div> <div t-if="website and 'website' in fields"> - <i t-if="not options.get('no_marker')" class='fa fa-globe' role="img" aria-label="Website" title="Website"/> + <i t-if="not options.get('no_marker')" class='fa fa-globe-americas' role="img" aria-label="Website" title="Website"/> <a t-att-href="website and '%s%s' % ('http://' if '://' not in website else '',website)"><span itemprop="website" t-esc="website"/></a> </div> - <div t-if="email and 'email' in fields"><i t-if="not options.get('no_marker')" class='fa fa-envelope fa-fw' role="img" aria-label="Email" title="Email"/> <span itemprop="email" t-esc="email"/></div> + <div t-if="email and 'email' in fields"><i t-if="not options.get('no_marker')" class='far fa-envelope fa-fw' role="img" aria-label="Email" title="Email"/> <span itemprop="email" t-esc="email"/></div> </div> <t t-if="object.country_id and object.country_id.name_position == 'after'"> <t t-call="base.contact_name"/> diff --git a/odoo/addons/base/views/res_company_views.xml b/odoo/addons/base/views/res_company_views.xml index 93f739c2766..0d6e18ad092 100644 --- a/odoo/addons/base/views/res_company_views.xml +++ b/odoo/addons/base/views/res_company_views.xml @@ -71,7 +71,7 @@ <t t-name="kanban-box"> <div t-attf-class="oe_kanban_global_click"> <div t-attf-class="#{!selection_mode ? 'text-center' : ''}"> - <i class="fa fa-building" role="img" aria-label="Enterprise" title="Enterprise"></i> <strong><field name="name"/></strong> + <i class="far fa-building" role="img" aria-label="Enterprise" title="Enterprise"></i> <strong><field name="name"/></strong> </div> <hr class="mt4 mb4"/> <div class="row" t-if="!selection_mode"> diff --git a/odoo/addons/base/views/res_currency_views.xml b/odoo/addons/base/views/res_currency_views.xml index bb7c987160e..6cf4ccdd378 100644 --- a/odoo/addons/base/views/res_currency_views.xml +++ b/odoo/addons/base/views/res_currency_views.xml @@ -120,7 +120,7 @@ <sheet> <div class="oe_button_box" name="button_box"> <button class="oe_stat_button" string="Rates" type="action" name="%(act_view_currency_rates)d" - icon="fa-money" widget="statinfo" attrs="{'invisible': [('active', '=', False)]}"/> + icon="fa-money-bill-alt" widget="statinfo" attrs="{'invisible': [('active', '=', False)]}"/> </div> <group> <group> diff --git a/odoo/addons/base/views/res_lang_views.xml b/odoo/addons/base/views/res_lang_views.xml index 483f2c1879f..41250f9364e 100644 --- a/odoo/addons/base/views/res_lang_views.xml +++ b/odoo/addons/base/views/res_lang_views.xml @@ -15,7 +15,7 @@ <button name="%(base.action_view_base_language_install)d" string="Activate Language and Update Translations" type="action" - icon="fa-refresh"/> + icon="fa-sync"/> </tree> </field> </record> @@ -31,7 +31,7 @@ name="%(base.action_view_base_language_install)d" type="action" class="oe_stat_button" - icon="fa-refresh" /> + icon="fa-sync" /> </div> <div class="oe_title"> <label for="name" class="oe_edit_only"/> diff --git a/odoo/addons/base/views/res_partner_views.xml b/odoo/addons/base/views/res_partner_views.xml index 0c9071d2d60..d65d82f962e 100644 --- a/odoo/addons/base/views/res_partner_views.xml +++ b/odoo/addons/base/views/res_partner_views.xml @@ -276,7 +276,7 @@ <button type="action" name="%(base.res_lang_act_window)d" - class="btn-sm btn-link mb4 fa fa-globe" + class="btn-sm btn-link mb4 fa fa-globe-americas" aria-label="More languages" groups="base.group_system" title="More languages" diff --git a/odoo/addons/base/views/res_users_views.xml b/odoo/addons/base/views/res_users_views.xml index 98d8542e96d..45ae154d492 100644 --- a/odoo/addons/base/views/res_users_views.xml +++ b/odoo/addons/base/views/res_users_views.xml @@ -220,7 +220,7 @@ <button type="action" name="%(base.res_lang_act_window)d" - class="btn-sm btn-link mb4 fa fa-globe" + class="btn-sm btn-link mb4 fa fa-globe-americas" aria-label="More languages" title="More languages"/> </div> @@ -273,13 +273,13 @@ </div> <div class="oe_kanban_details"> <ul> - <li class="text-success float-right mb4" t-if="record.active.raw_value"><i class="fa fa-circle" role="img" aria-label="Ok" title="Ok"></i></li> - <li class="text-danger float-right mb4" t-if="!record.active.raw_value"><i class="fa fa-circle" role="img" aria-label="Invalid" title="Invalid"></i></li> + <li class="text-success float-right mb4" t-if="record.active.raw_value"><i class="far fa-circle" role="img" aria-label="Ok" title="Ok"></i></li> + <li class="text-danger float-right mb4" t-if="!record.active.raw_value"><i class="far fa-circle" role="img" aria-label="Invalid" title="Invalid"></i></li> <li class="mb4"> <strong><field name="name"/></strong> </li> <li class="badge badge-pill float-right mb4" t-if="record.lang.raw_value"><field name="lang"/></li> - <li class="mb4" t-if="record.login.raw_value" title="Login"><i class="fa fa-envelope" role="img" aria-label="Login"/> <field name="login"/></li> + <li class="mb4" t-if="record.login.raw_value" title="Login"><i class="far fa-envelope" role="img" aria-label="Login"/> <field name="login"/></li> </ul> </div> </div> @@ -358,7 +358,7 @@ <button type="action" name="%(base.res_lang_act_window)d" - class="btn-sm btn-link mb4 fa fa-globe" + class="btn-sm btn-link mb4 fa fa-globe-americas" aria-label="More languages" groups="base.group_system" title="More languages" diff --git a/odoo/addons/base/wizard/base_document_layout_views.xml b/odoo/addons/base/wizard/base_document_layout_views.xml index 53f76eb34be..8ae5f3778c3 100644 --- a/odoo/addons/base/wizard/base_document_layout_views.xml +++ b/odoo/addons/base/wizard/base_document_layout_views.xml @@ -20,7 +20,7 @@ <field name="primary_color" widget="color" class="mb-4" /> <field name="secondary_color" widget="color" class="mb-4" /> <button class="btn btn-link" title="Reset to logo colors" attrs="{'invisible': [('custom_colors', '=', False)]}"> - <label for="custom_colors" class="fa fa-refresh mb-4" string="" /> + <label for="custom_colors" class="fas fa-sync mb-4" string="" /> </button> </div> <field name="font" widget="font" class="mb-4" /> diff --git a/odoo/addons/base/wizard/base_module_update_views.xml b/odoo/addons/base/wizard/base_module_update_views.xml index 2b1b8a00ffb..f1b252c1dcd 100644 --- a/odoo/addons/base/wizard/base_module_update_views.xml +++ b/odoo/addons/base/wizard/base_module_update_views.xml @@ -45,7 +45,7 @@ groups="base.group_no_one" parent="menu_management" sequence="40" - icon="fa-exchange"/> + icon="fa-exchange-alt"/> </data> </odoo> diff --git a/odoo/addons/test_exceptions/view.xml b/odoo/addons/test_exceptions/view.xml index 0e8f96a7c91..72c047e8da8 100644 --- a/odoo/addons/test_exceptions/view.xml +++ b/odoo/addons/test_exceptions/view.xml @@ -11,92 +11,92 @@ <separator/> <group> <div> - <button name="generate_except_osv" string="except_osv" type="object" icon="fa-refresh text-primary" /> + <button name="generate_except_osv" string="except_osv" type="object" icon="fa-sync text-primary" /> <label for="generate_except_osv" string="Warning-description"/> </div> <div> - <button name="generate_except_orm" string="except_orm" type="object" icon="fa-refresh text-primary"/> + <button name="generate_except_orm" string="except_orm" type="object" icon="fa-sync text-primary"/> <label for="generate_except_orm" string="Warning-description"/> </div> <div> - <button name="generate_warning" string="Warning" type="object" icon="fa-refresh text-primary"/> + <button name="generate_warning" string="Warning" type="object" icon="fa-sync text-primary"/> <label for="generate_warning" string="Warning-description"/> </div> <div> - <button name="generate_redirect_warning" string="RedirectWarning" type="object" icon="fa-refresh text-primary"/> + <button name="generate_redirect_warning" string="RedirectWarning" type="object" icon="fa-sync text-primary"/> <label for="generate_redirect_warning" string="Warning-description-redirection button"/> </div> <div> - <button name="generate_access_denied" string="AccessDenied" type="object" icon="fa-refresh text-primary"/> + <button name="generate_access_denied" string="AccessDenied" type="object" icon="fa-sync text-primary"/> <label for="generate_access_denied" string="Access denied-traceback"/> </div> <div> - <button name="generate_access_error" string="AccessError" type="object" icon="fa-refresh text-primary"/> + <button name="generate_access_error" string="AccessError" type="object" icon="fa-sync text-primary"/> <label for="generate_access_error" string="Access rights error-description" class="oe_inline"/> </div> <div> - <button name="generate_exc_access_denied" string="Exc AccessDenied" type="object" icon="fa-refresh text-primary"/> + <button name="generate_exc_access_denied" string="Exc AccessDenied" type="object" icon="fa-sync text-primary"/> <label for="generate_exc_access_denied" string="Access denied-traceback"/> </div> <div> - <button name="generate_undefined" string="Undefined" type="object" icon="fa-refresh text-primary"/> + <button name="generate_undefined" string="Undefined" type="object" icon="fa-sync text-primary"/> <label for="generate_undefined" string="Server error-traceback"/> </div> <div> - <button name="generate_user_error" string="UserError" type="object" icon="fa-refresh text-primary"/> + <button name="generate_user_error" string="UserError" type="object" icon="fa-sync text-primary"/> <label for="generate_user_error" string="Warning-description"/> </div> <div> - <button name="generate_missing_error" string="MissingError" type="object" icon="fa-refresh text-primary"/> + <button name="generate_missing_error" string="MissingError" type="object" icon="fa-sync text-primary"/> <label for="generate_missing_error" string="Missing Error-description"/> </div> <div> - <button name="generate_validation_error" string="ValidationError" type="object" icon="fa-refresh text-primary"/> + <button name="generate_validation_error" string="ValidationError" type="object" icon="fa-sync text-primary"/> <label for="generate_validation_error" string="Validation Error-description"/> </div> <div> - <button name="generate_except_osv_safe_eval" string="except_osv*" type="object" icon="fa-refresh text-primary"/> + <button name="generate_except_osv_safe_eval" string="except_osv*" type="object" icon="fa-sync text-primary"/> <label for="generate_except_osv_safe_eval" string="Warning-description"/> </div> <div> - <button name="generate_except_orm_safe_eval" string="except_orm*" type="object" icon="fa-refresh text-primary"/> + <button name="generate_except_orm_safe_eval" string="except_orm*" type="object" icon="fa-sync text-primary"/> <label for="generate_except_orm_safe_eval" string="Warning-description"/> </div> <div> - <button name="generate_warning_safe_eval" string="Warning*" type="object" icon="fa-refresh text-primary"/> + <button name="generate_warning_safe_eval" string="Warning*" type="object" icon="fa-sync text-primary"/> <label for="generate_warning_safe_eval" string="Warning-description"/> </div> <div> - <button name="generate_redirect_warning_safe_eval" string="RedirectWarning*" type="object" icon="fa-refresh text-primary"/> + <button name="generate_redirect_warning_safe_eval" string="RedirectWarning*" type="object" icon="fa-sync text-primary"/> <label for="generate_redirect_warning_safe_eval" string="Warning-description-redirection button" class="oe_inline"/> </div> <div> - <button name="generate_access_denied_safe_eval" string="AccessDenied*" type="object" icon="fa-refresh text-primary"/> + <button name="generate_access_denied_safe_eval" string="AccessDenied*" type="object" icon="fa-sync text-primary"/> <label for="generate_access_denied_safe_eval" string="Access denied-traceback"/> </div> <div> - <button name="generate_access_error_safe_eval" string="AccessError*" type="object" icon="fa-refresh text-primary"/> + <button name="generate_access_error_safe_eval" string="AccessError*" type="object" icon="fa-sync text-primary"/> <label for="generate_access_error_safe_eval" string="Access rights error-description"/> </div> <div> - <button name="generate_exc_access_denied_safe_eval" string="Exc AccessDenied*" type="object" icon="fa-refresh text-primary"/> + <button name="generate_exc_access_denied_safe_eval" string="Exc AccessDenied*" type="object" icon="fa-sync text-primary"/> <label for="generate_exc_access_denied_safe_eval" string="Access denied-traceback"/> </div> <div> - <button name="generate_undefined_safe_eval" string="Undefined*" type="object" icon="fa-refresh text-primary"/> + <button name="generate_undefined_safe_eval" string="Undefined*" type="object" icon="fa-sync text-primary"/> <label for="generate_undefined_safe_eval" string="Server error-traceback"/> </div> <div> - <button name="generate_user_error_safe_eval" string="UserError*" type="object" icon="fa-refresh text-primary"/> + <button name="generate_user_error_safe_eval" string="UserError*" type="object" icon="fa-sync text-primary"/> <label for="generate_user_error_safe_eval" string="Warning-description"/> </div> <div> - <button name="generate_missing_error_safe_eval" string="MissingError*" type="object" icon="fa-refresh text-primary"/> + <button name="generate_missing_error_safe_eval" string="MissingError*" type="object" icon="fa-sync text-primary"/> <label for="generate_missing_error_safe_eval" string="Missing Error-description"/> </div> <div> - <button name="generate_validation_error_safe_eval" string="ValidationError*" type="object" icon="fa-refresh text-primary"/> + <button name="generate_validation_error_safe_eval" string="ValidationError*" type="object" icon="fa-sync text-primary"/> <label for="generate_validation_error_safe_eval" string="Validation Error-description"/> </div> </group> |
