Files
odoo_source/addons/web/views/webclient_templates.xml
T
mreficent 355a5dfc36 [IMP] *: fix typos in comments
closes odoo/odoo#35404

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-08-07 10:28:33 +00:00

955 lines
64 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="_assets_utils">
<link rel="stylesheet" type="text/scss" href="/web/static/lib/bootstrap/scss/_functions.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/lib/bootstrap/scss/_mixins.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/bs_mixins_overrides.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/utils.scss"/>
</template>
<template id="_assets_primary_variables">
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/primary_variables.scss"/>
</template>
<template id="_assets_secondary_variables">
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/secondary_variables.scss"/>
</template>
<template id="_assets_helpers">
<t t-call="web._assets_utils"/>
<t t-call="web._assets_primary_variables"/>
<t t-call="web._assets_secondary_variables"/>
<t t-raw="0"/>
<link rel="stylesheet" type="text/scss" href="/web/static/lib/bootstrap/scss/_variables.scss"/>
</template>
<template id="_assets_backend_helpers">
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/bootstrap_overridden.scss"/>
</template>
<template id="_assets_frontend_helpers">
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/bootstrap_overridden_frontend.scss"/>
</template>
<template id="_assets_bootstrap">
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/import_bootstrap.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/bootstrap_review.scss"/>
</template>
<!-- The assets common minimal code should not require any library to work. -->
<!-- An exception is made for the promises polyfill and extensions that the -->
<!-- boot.js script needs to work -->
<template id="_assets_common_minimal_js">
<script type="text/javascript" src="/web/static/lib/es6-promise/es6-promise-polyfill.js"></script>
<script type="text/javascript" src="/web/static/lib/unhandled-rejection-polyfill/unhandled-rejection-polyfill.js"></script>
<script type="text/javascript" src="/web/static/src/js/promise_extension.js"></script>
<script type="text/javascript" src="/web/static/src/js/boot.js"></script>
</template>
<template id="assets_common_minimal_js">
<t t-call="web._assets_common_minimal_js"/>
</template>
<template id="assets_common" name="Common Assets (used in backend interface and website)">
<t t-call="web._assets_helpers"/>
<link rel="stylesheet" type="text/css" href="/web/static/lib/jquery.ui/jquery-ui.css"/>
<link rel="stylesheet" type="text/css" href="/web/static/lib/fontawesome/css/font-awesome.css"/>
<link rel="stylesheet" type="text/css" href="/web/static/lib/select2/select2.css"/>
<link rel="stylesheet" type="text/css" href="/web/static/lib/select2-bootstrap-css/select2-bootstrap.css"/>
<link rel="stylesheet" type="text/scss" href="/web/static/lib/tempusdominus/tempusdominus.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/fonts.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/ui.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/ui_extra.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/navbar.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/mimetypes.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/modal.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/animation.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/rainbow.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/datepicker.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/daterangepicker.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/banner.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/colorpicker.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/keyboard.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/name_and_signature.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/web.zoomodoo.scss"/>
<link rel="stylesheet" type="text/less" href="/web/static/src/scss/fontawesome_overridden.scss"/>
<t t-call="web._assets_common_minimal_js"/>
<script type="text/javascript" src="/web/static/lib/underscore/underscore.js"></script>
<script type="text/javascript" src="/web/static/lib/underscore.string/lib/underscore.string.js"></script>
<script type="text/javascript" src="/web/static/lib/moment/moment.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery/jquery.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.ui/jquery-ui.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery/jquery.browser.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.blockUI/jquery.blockUI.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.hotkeys/jquery.hotkeys.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.placeholder/jquery.placeholder.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.form/jquery.form.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.ba-bbq/jquery.ba-bbq.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.mjs.nestedSortable/jquery.mjs.nestedSortable.js"></script>
<script type="text/javascript" src="/web/static/lib/popper/popper.js"></script>
<script type="text/javascript" src="/web/static/lib/bootstrap/js/index.js"></script>
<script type="text/javascript" src="/web/static/lib/bootstrap/js/util.js"></script>
<script type="text/javascript" src="/web/static/lib/bootstrap/js/alert.js"></script>
<script type="text/javascript" src="/web/static/lib/bootstrap/js/button.js"></script>
<script type="text/javascript" src="/web/static/lib/bootstrap/js/carousel.js"></script>
<script type="text/javascript" src="/web/static/lib/bootstrap/js/collapse.js"></script>
<script type="text/javascript" src="/web/static/lib/bootstrap/js/dropdown.js"></script>
<script type="text/javascript" src="/web/static/lib/bootstrap/js/modal.js"></script>
<script type="text/javascript" src="/web/static/lib/bootstrap/js/tooltip.js"></script>
<script type="text/javascript" src="/web/static/lib/bootstrap/js/popover.js"></script>
<script type="text/javascript" src="/web/static/lib/bootstrap/js/scrollspy.js"></script>
<script type="text/javascript" src="/web/static/lib/bootstrap/js/tab.js"></script>
<script type="text/javascript" src="/web/static/lib/bootstrap/js/toast.js"></script>
<script type="text/javascript" src="/web/static/lib/tempusdominus/tempusdominus.js"/>
<script type="text/javascript" src="/web/static/lib/select2/select2.js"></script>
<script type="text/javascript" src="/web/static/lib/clipboard/clipboard.js"></script>
<script type="text/javascript" src="/web/static/lib/jSignature/jSignatureCustom.js"></script>
<script type="text/javascript" src="/web/static/lib/qweb/qweb2.js"></script>
<script type="text/javascript" src="/web/static/src/js/libs/autocomplete.js"></script>
<script type="text/javascript" src="/web/static/src/js/libs/bootstrap.js"></script>
<script type="text/javascript" src="/web/static/src/js/libs/jquery.js"></script>
<script type="text/javascript" src="/web/static/src/js/libs/download.js"></script>
<script type="text/javascript" src="/web/static/src/js/libs/content-disposition.js"></script>
<script type="text/javascript" src="/web/static/src/js/libs/underscore.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/abstract_service.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/abstract_storage_service.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/ajax.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/bus.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/class.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/collections.js"/>
<script type="text/javascript" src="/web/static/src/js/core/concurrency.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/dialog.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/dom.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/local_storage.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/mixins.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/qweb.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/ram_storage.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/registry.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/rpc.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/service_mixins.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/session.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/session_storage.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/time.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/translation.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/utils.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/widget.js"></script>
<script type="text/javascript" src="/web/static/src/js/services/ajax_service.js"></script>
<script type="text/javascript" src="/web/static/src/js/services/config.js"></script>
<script type="text/javascript" src="/web/static/src/js/services/core.js"></script>
<script type="text/javascript" src="/web/static/src/js/services/local_storage_service.js"></script>
<script type="text/javascript" src="/web/static/src/js/services/notification_service.js"></script>
<script type="text/javascript" src="/web/static/src/js/services/crash_manager.js"></script>
<script type="text/javascript" src="/web/static/src/js/services/session_storage_service.js"></script>
<script type="text/javascript" src="/web/static/src/js/tools/debug_manager.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/name_and_signature.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/notification.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/rainbow_man.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/colorpicker_dialog.js"></script>
<script type="text/javascript" src="/web/static/src/js/libs/zoomodoo.js"></script>
</template>
<template id="assets_common_lazy" inherit_id="web.assets_common" primary="True">
<xpath expr="//t[@t-call='web._assets_common_minimal_js']" position="replace"/>
</template>
<template id="assets_backend" name="Backend Assets (used in backend interface)">
<t t-call="web._assets_helpers">
<t t-call="web._assets_backend_helpers"/>
</t>
<t t-call="web._assets_bootstrap"/>
<link rel="stylesheet" type="text/css" href="/base/static/src/css/modules.css"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/webclient_extra.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/webclient_layout.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/webclient.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/domain_selector.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/model_field_selector.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/progress_bar.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/dropdown.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/dropdown_extra.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/tooltip.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/switch_company_menu.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/debug_manager.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/control_panel.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/fields.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/fields_extra.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/views.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/pivot_view.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/graph_view.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/form_view.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/form_view_extra.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/list_view.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/list_view_extra.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/kanban_dashboard.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/kanban_examples_dialog.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/kanban_column_progressbar.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/kanban_view.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/kanban_view_mobile.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/web_calendar.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/web_calendar_mobile.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/search_view.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/search_panel.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/search_view_mobile.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/dropdown_menu.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/search_view_extra.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/data_export.scss"/>
<link rel="stylesheet" type="text/scss" href="/base/static/src/scss/onboarding.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/attachment_preview.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/notification.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/base_document_layout.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/base_settings.scss"/>
<script type="text/javascript" src="/base/static/src/js/res_config_settings.js"></script>
<script type="text/javascript" src="/web/static/lib/jquery.scrollTo/jquery.scrollTo.js"></script>
<script type="text/javascript" src="/web/static/lib/fuzzy-master/fuzzy.js"></script>
<script type="text/javascript" charset="utf-8">
odoo._modules = <t t-raw="get_modules_order()"/>;
</script>
<script type="text/javascript" src="/web/static/lib/py.js/lib/py.js"></script>
<script type="text/javascript" src="/web/static/lib/py.js/lib/py_extras.js"></script>
<!-- Special case: core.js declares $.browser needed by ba-bbq -->
<script type="text/javascript" src="/web/static/lib/jquery.ba-bbq/jquery.ba-bbq.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/domain.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/mvc.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/py_utils.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome/abstract_action.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome/action_manager.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome/action_manager_act_window.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome/action_manager_report.js"/>
<script type="text/javascript" src="/web/static/src/js/chrome/action_mixin.js"/>
<script type="text/javascript" src="/web/static/src/js/core/browser_detection.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome/keyboard_navigation_mixin.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome/abstract_web_client.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome/web_client.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome/root_widget.js"></script>
<script type="text/javascript" src="/web/static/src/js/_deprecated/data.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/context.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/data_comparison_utils.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/math_utils.js"></script>
<script type="text/javascript" src="/web/static/src/js/core/misc.js"></script>
<script type="text/javascript" src="/web/static/src/js/services/crash_manager_service.js"></script>
<script type="text/javascript" src="/web/static/src/js/services/data_manager.js"></script>
<script type="text/javascript" src="/web/static/src/js/services/report_service.js"></script>
<script type="text/javascript" src="/web/static/src/js/services/session.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/auto_complete.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/change_password.js"></script>
<script type="text/javascript" src="/web/static/src/js/tools/test_menus_loader.js"/>
<script type="text/javascript" src="/web/static/src/js/tools/debug_manager_backend.js"></script>
<script type="text/javascript" src="/web/static/src/js/tools/tools.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/data_export.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/date_picker.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/domain_selector_dialog.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/domain_selector.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/iframe_widget.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome/loading.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/model_field_selector.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome/sidebar.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome/pager.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome/systray_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/switch_company_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome/user_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome/menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/chrome/apps_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/dropdown_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/pie_chart.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/ribbon.js"></script>
<script type="text/javascript" src="/web/static/src/js/apps.js"></script>
<script type="text/javascript" src="/web/static/src/js/fields/abstract_field.js"></script>
<script type="text/javascript" src="/web/static/src/js/fields/basic_fields.js"></script>
<script type="text/javascript" src="/web/static/src/js/fields/field_registry.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/basic/widget_registry.js"></script>
<script type="text/javascript" src="/web/static/src/js/fields/field_utils.js"></script>
<script type="text/javascript" src="/web/static/src/js/fields/relational_fields.js"></script>
<script type="text/javascript" src="/web/static/src/js/fields/special_fields.js"></script>
<script type="text/javascript" src="/web/static/src/js/fields/upgrade_fields.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/abstract_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/abstract_renderer.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/abstract_model.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/abstract_controller.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/basic/basic_model.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/basic/basic_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/basic/basic_controller.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/basic/basic_renderer.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/control_panel_controller.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/control_panel_model.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/control_panel_renderer.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/control_panel_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/mobile_control_panel_controller.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/mobile_control_panel_renderer.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/search/search_bar_autocomplete_sources.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/search/search_bar_autocomplete_sources_registry.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/search/search_facet.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/search/search_bar.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/search/filter_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/search/groupby_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/search/groupby_menu_mixin.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/search/time_range_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/search/favorite_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/search/add_new_favorite_menu.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/search/control_panel_view_parameters.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/search/favorites_submenus_registry.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/search/search_filters.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/control_panel/search/search_filters_registry.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/search_panel.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/field_manager_mixin.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/standalone_field_manager_mixin.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/view_registry.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/view_dialogs.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/view_utils.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/form/form_renderer.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/form/form_controller.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/form/form_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/graph/graph_model.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/graph/graph_controller.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/graph/graph_renderer.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/graph/graph_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/kanban/kanban_column.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/kanban/kanban_column_progressbar.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/kanban/kanban_column_quick_create.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/kanban/kanban_model.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/kanban/kanban_controller.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/kanban/kanban_examples_registry.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/kanban/kanban_record.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/kanban/kanban_record_quick_create.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/kanban/kanban_renderer.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/kanban/kanban_renderer_mobile.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/kanban/kanban_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/kanban/quick_create_form_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/list/list_editable_renderer.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/list/list_model.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/list/list_renderer.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/list/list_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/list/list_controller.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/pivot/pivot_model.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/pivot/pivot_controller.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/pivot/pivot_renderer.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/pivot/pivot_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/calendar/calendar_controller.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/calendar/calendar_model.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/calendar/calendar_quick_create.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/calendar/calendar_renderer.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/calendar/calendar_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/views/qweb/qweb_view.js"></script>
<script type="text/javascript" src="/web/static/src/js/widgets/attach_document.js"></script>
<script type="text/javascript" src="/web/static/src/js/fields/signature.js"></script>
<script type="text/javascript" src="/web/static/src/js/report/utils.js"/>
<script type="text/javascript" src="/web/static/src/js/report/client_action.js"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/report_backend.scss"/>
</template>
<template id="_assets_frontend_minimal_js">
<script type="text/javascript" src="/web/static/src/js/public/lazyloader.js"/>
</template>
<template id="assets_frontend_minimal_js">
<t t-call="web._assets_frontend_minimal_js"/>
</template>
<template id="assets_frontend" name="Website Assets">
<t t-call="web._assets_helpers">
<t t-call="web._assets_frontend_helpers"/>
</t>
<t t-call="web._assets_bootstrap"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/lazyloader.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/navbar_mobile.scss"/>
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/notification.scss"/>
<t t-call="web._assets_frontend_minimal_js"/>
<script type="text/javascript" src="/web/static/src/js/services/session.js"/>
<script type="text/javascript" src="/web/static/src/js/public/public_crash_manager.js"/>
<script type="text/javascript" src="/web/static/src/js/public/public_notification.js"/>
<script type="text/javascript" src="/web/static/src/js/public/public_root.js"/>
<script type="text/javascript" src="/web/static/src/js/public/public_root_instance.js"/>
<script type="text/javascript" src="/web/static/src/js/public/public_widget.js"/>
</template>
<template id="assets_frontend_lazy" inherit_id="web.assets_frontend" primary="True">
<xpath expr="//t[@t-call='web._assets_frontend_minimal_js']" position="replace"/>
</template>
<!-- Do not direcly call this template, call 'conditional_assets_tests' instead -->
<template id="assets_tests" name="Tests Assets">
</template>
<template id="conditional_assets_tests" name="Tests Assets Bundle">
<t t-call-assets="web.assets_tests" t-if="'tests' in debug or test_mode_enabled" defer_load="True" />
</template>
<template id="web.layout" name="Web layout">&lt;!DOCTYPE html&gt;
<html t-att="html_data or {}">
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/>
<title t-esc="title or 'Odoo'"/>
<link type="image/x-icon" rel="shortcut icon" t-att-href="x_icon or '/web/static/src/img/favicon.ico'"/>
<script type="text/javascript">
var odoo = {
csrf_token: "<t t-esc="request.csrf_token(None)"/>",
debug: "<t t-esc="debug"/>",
};
</script>
<t t-raw="head or ''"/>
</head>
<body t-att-class="body_classname">
<t t-raw="0"/>
</body>
</html>
</template>
<template id="web.frontend_layout" name="Frontend Layout" inherit_id="web.layout" primary="True">
<xpath expr="//head/link[last()]" position="after">
<t t-call-assets="web.assets_common" t-js="false"/>
<t t-call-assets="web.assets_frontend" t-js="false"/>
</xpath>
<xpath expr="//head/script" position="after">
<script type="text/javascript">
odoo.session_info = <t t-raw="json.dumps(request.env['ir.http'].get_frontend_session_info())"/>;
</script>
<t t-call-assets="web.assets_common_minimal_js" t-css="false" defer_load="True"/>
<t t-call-assets="web.assets_frontend_minimal_js" t-css="false" defer_load="True"/>
<t t-call="web.conditional_assets_tests"/>
<t t-call-assets="web.assets_common_lazy" t-css="false" lazy_load="True"/>
<t t-call-assets="web.assets_frontend_lazy" t-css="false" lazy_load="True"/>
</xpath>
<xpath expr="//t[@t-raw='0']" position="replace">
<div id="wrapwrap" t-attf-class="#{pageName or ''}">
<header t-if="not no_header" id="top" data-anchor="true">
<img class="img-responsive d-block mx-auto"
t-attf-src="/web/binary/company_logo"
alt="Logo"/>
</header>
<main>
<t t-raw="0"/>
</main>
<footer t-if="not no_footer" id="bottom" data-anchor="true" class="bg-light o_footer">
<div id="footer"/>
<div class="o_footer_copyright">
<div class="container py-3">
<div class="row">
<div class="col-sm text-center text-sm-left text-muted">
<t t-call="web.debug_icon"/>
<span>Copyright &amp;copy;</span> <span t-field="res_company.name" itemprop="name">Company name</span>
</div>
<div class="col-sm text-center text-sm-right">
<t t-call="web.brand_promotion"/>
</div>
</div>
</div>
</div>
</footer>
</div>
</xpath>
</template>
<template id="brand_promotion" name="Brand Promotion">
<div class="o_brand_promotion">
Powered by <a target="_blank" href="http://www.odoo.com?utm_source=db&amp;utm_medium=portal">Odoo</a>
</div>
</template>
<template id="web.login_layout" name="Login Layout">
<t t-call="web.frontend_layout">
<t t-set="html_data" t-value="{'style': 'height: 100%;'}"/>
<t t-set="body_classname" t-value="'bg-100'"/>
<t t-set="no_header" t-value="True"/>
<t t-set="no_footer" t-value="True"/>
<div class="container py-5">
<div t-attf-class="card border-0 mx-auto bg-100 {{login_card_classes}} o_database_list" style="max-width: 300px;">
<div class="card-body">
<div t-attf-class="text-center pb-3 border-bottom {{'mb-3' if form_small else 'mb-4'}}">
<img t-attf-src="/web/binary/company_logo{{ '?dbname='+db if db else '' }}" alt="Logo" style="max-height:120px; max-width: 100%; width:auto"/>
</div>
<t t-raw="0"/>
<div class="text-center small mt-4 pt-3 border-top" t-if="not disable_footer">
<t t-if="not disable_database_manager">
<a class="border-right pr-2 mr-1" href="/web/database/manager">Manage Databases</a>
</t>
<a href="https://www.odoo.com?utm_source=db&amp;utm_medium=auth" target="_blank">Powered by <span>Odoo</span></a>
</div>
</div>
</div>
</div>
</t>
</template>
<template id="web.login" name="Login">
<t t-call="web.login_layout">
<form class="oe_login_form" role="form" t-attf-action="/web/login" method="post" onsubmit="this.action = this.action + location.hash">
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
<div class="form-group field-db" t-if="databases and len(databases) &gt; 1">
<label for="db" class="col-form-label">Database</label>
<div t-attf-class="input-group {{'input-group-sm' if form_small else ''}}">
<input type="text" name="db" t-att-value="request.db" id="db" t-attf-class="form-control #{'form-control-sm' if form_small else ''}" required="required" readonly="readonly"/>
<span class="input-group-append">
<a role="button" href="/web/database/selector" class="btn btn-secondary">Select <i class="fa fa-database" role="img" aria-label="Database" title="Database"></i></a>
</span>
</div>
</div>
<div class="form-group field-login">
<label for="login">Email</label>
<input type="text" placeholder="Email" name="login" t-att-value="login" id="login" t-attf-class="form-control #{'form-control-sm' if form_small else ''}" required="required" autofocus="autofocus" autocapitalize="off"/>
</div>
<div class="form-group field-password">
<label for="password">Password</label>
<input type="password" placeholder="Password" name="password" id="password" t-attf-class="form-control #{'form-control-sm' if form_small else ''}" required="required" autocomplete="current-password" t-att-autofocus="'autofocus' if login else None" maxlength="4096"/>
</div>
<p class="alert alert-danger" t-if="error" role="alert">
<t t-esc="error"/>
</p>
<p class="alert alert-success" t-if="message" role="status">
<t t-esc="message"/>
</p>
<div t-attf-class="clearfix oe_login_buttons text-center mb-1 {{'pt-2' if form_small else 'pt-3'}}">
<button type="submit" class="btn btn-primary btn-block">Log in</button>
<t t-if="debug">
<button type="submit" name="redirect" value="/web/become" class="btn btn-link btn-sm btn-block">Log in as superuser</button>
</t>
<div class="o_login_auth"/>
</div>
<input type="hidden" name="redirect" t-att-value="redirect"/>
</form>
</t>
</template>
<template id="web.js_tests_assets">
<t t-call-assets="web.assets_common" t-js="false"/>
<t t-call-assets="web.assets_backend" t-js="false"/>
<t t-call-assets="web.assets_common" t-css="false"/>
<t t-call-assets="web.assets_backend" t-css="false"/>
<link type="text/css" rel="stylesheet" href="/web/static/lib/qunit/qunit-2.9.1.css"/>
<script type="text/javascript" src="/web/static/lib/qunit/qunit-2.9.1.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/qunit_config.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/qunit_asserts.js"></script>
<!-- add lazy-loaded libs to make tests synchronous -->
<link rel="stylesheet" href="/web/static/lib/fullcalendar/css/fullcalendar.css"/>
<script type="text/javascript" src="/web/static/lib/fullcalendar/js/fullcalendar.js"></script>
<script type="text/javascript" src="/web/static/lib/ace/ace.js"></script>
<script type="text/javascript" src="/web/static/lib/ace/javascript_highlight_rules.js"></script>
<script type="text/javascript" src="/web/static/lib/ace/mode-python.js"></script>
<script type="text/javascript" src="/web/static/lib/ace/mode-xml.js"></script>
<script type="text/javascript" src="/web/static/lib/ace/mode-js.js"></script>
<script type="text/javascript">
// define the 'web.web_client' module because some other modules require it
odoo.define('web.web_client', function (require) {
var WebClient = require('web.WebClient');
var web_client = new WebClient();
return web_client;
});
</script>
<style>
body {
position: relative; // bootstrap-datepicker needs this
}
body:not(.debug) .modal-backdrop, body:not(.debug) .modal, body:not(.debug) .ui-autocomplete {
opacity: 0 !important;
}
#qunit-testrunner-toolbar label {
font-weight: inherit;
margin-bottom: inherit;
}
#qunit-testrunner-toolbar input[type=text] {
width: inherit;
display: inherit;
}
</style>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_create.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_dom.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_fields.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_file.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_form.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_graph.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_kanban.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_mock.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_modal.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_pivot.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/mock_server.js"></script>
<script type="text/javascript" src="/web/static/tests/boot_tests.js"></script>
</template>
<template id="web.qunit_suite">
<t t-call="web.layout">
<t t-set="html_data" t-value="{'style': 'height: 100%;'}"/>
<t t-set="title">Web Tests</t>
<t t-set="head">
<t t-call="web.js_tests_assets"/>
<script type="text/javascript" src="/base/static/tests/base_settings_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/qweb_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/services/notification_service_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/fields/basic_fields_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/fields/field_utils_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/fields/relational_fields_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/fields/relational_fields/field_many2many_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/fields/relational_fields/field_many2one_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/fields/relational_fields/field_one2many_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/fields/signature.js"></script>
<script type="text/javascript" src="/web/static/tests/fields/special_fields.js"></script>
<script type="text/javascript" src="/web/static/tests/fields/upgrade_fields_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/abstract_controller_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/abstract_view_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/control_panel_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/form_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/graph_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/list_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/pivot_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/kanban_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/calendar_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/qweb_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/basic_model_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/abstract_view_banner_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/kanban_model_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/view_dialogs_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/search_filter_menu_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/search_groupby_menu_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/widgets/dropdown_menu_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/search_panel_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/search_view_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/core/ajax_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/core/registry_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/core/py_utils_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/core/class_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/core/rpc_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/core/domain_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/core/data_comparison_utils_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/core/math_utils_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/core/mixins_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/core/time_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/core/concurrency_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/core/util_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/core/widget_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/core/dom_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/chrome/action_manager_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/chrome/pager_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/chrome/keyboard_navigation_mixin_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/chrome/user_menu_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/chrome/systray_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/widgets/company_switcher_tests.js"/>
<script type="text/javascript" src="/web/static/tests/widgets/data_export_tests.js"/>
<script type="text/javascript" src="/web/static/tests/widgets/domain_selector_tests.js"/>
<script type="text/javascript" src="/web/static/tests/widgets/model_field_selector_tests.js"/>
<script type="text/javascript" src="/web/static/tests/widgets/rainbow_man_tests.js"/>
<script type="text/javascript" src="/web/static/tests/tools/debug_manager_tests.js"/>
</t>
<div id="qunit"/>
<div id="qunit-fixture"/>
</t>
</template>
<template id="web.qunit_mobile_suite">
<t t-call="web.layout">
<t t-set="html_data" t-value="{'style': 'height: 100%;'}"/>
<t t-set="title">Web Mobile Tests</t>
<t t-set="head">
<script>
// force the config.device.isMobile key to be true so that
// mobile specific files aren't rejected
window.odoo = {};
var odooDefine;
Object.defineProperty(window.odoo, 'define', {
get: function () {
return odooDefine;
},
set: function (define) {
odooDefine = function () {
define.apply(this, arguments);
if (arguments[0] === 'web.config') {
define.call(this, 'web.config.patch', function (require) {
var config = require('web.config');
config.device.isMobile = true;
config.device.size_class = config.device.SIZES.XS;
});
}
};
},
});
</script>
<t t-call="web.js_tests_assets"/>
<script type="text/javascript" src="/web/static/lib/jquery.touchSwipe/jquery.touchSwipe.js"></script>
<script type="text/javascript" src="/base/static/tests/base_settings_mobile_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/chrome/action_manager_mobile_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/calendar_mobile_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/kanban_mobile_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/views/mobile_control_panel_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/fields/basic_fields_mobile_tests.js"></script>
<script type="text/javascript" src="/web/static/tests/fields/relational_fields_mobile_tests.js"></script>
</t>
<div id="qunit"/>
<div id="qunit-fixture"/>
</t>
</template>
<template id="web.benchmark_suite">
<t t-call="web.layout">
<t t-set="html_data" t-value="{'style': 'height: 100%;'}"/>
<t t-set="title">Web Benchmarks</t>
<t t-set="head">
<link type="text/css" rel="stylesheet" href="/web/static/lib/qunit/qunit-2.9.1.css"/>
<script type="text/javascript" src="/web/static/lib/qunit/qunit-2.9.1.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/qunit_config.js"></script>
<script type="text/javascript" src="/web/static/lib/benchmarkjs/lodash.js"></script>
<script type="text/javascript" src="/web/static/lib/benchmarkjs/benchmark.js"></script>
<t t-call-assets="web.assets_common" t-js="false"/>
<t t-call-assets="web.assets_backend" t-js="false"/>
<t t-call-assets="web.assets_common" t-css="false"/>
<t t-call-assets="web.assets_backend" t-css="false"/>
<script type="text/javascript" src="/web/static/tests/helpers/qunit_asserts.js"></script>
<script type="text/javascript">
QUnit.config.hidepassed = false;
odoo.define('web.WebClientWithoutServices', function (require) {
var ServiceProviderMixin = require('web.ServiceProviderMixin');
var WebClient = require('web.WebClient');
var WebClientWithoutServices = WebClient.extend({
/**
* Patch web client so that it is no longer a service provider.
*
* @override
*/
init: function () {
var originalServiceProviderMixinInit = ServiceProviderMixin.init;
ServiceProviderMixin.init = function () {};
this._super.apply(this, arguments);
ServiceProviderMixin.init = originalServiceProviderMixinInit;
},
});
return WebClientWithoutServices;
});
// define the 'web.web_client' module because some other modules require it
odoo.define('web.web_client', function (require) {
var WebClient = require('web.WebClientWithoutServices');
var web_client = new WebClient();
return web_client;
});
</script>
<style>
body:not(.debug) .modal-backdrop, body:not(.debug) .modal, body:not(.debug) .ui-autocomplete {
opacity: 0 !important;
}
#qunit-testrunner-toolbar label {
font-weight: inherit;
margin-bottom: inherit;
}
#qunit-testrunner-toolbar input[type=text] {
width: inherit;
display: inherit;
}
</style>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_create.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_dom.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_fields.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_form.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_graph.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_kanban.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_mock.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_modal.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils_pivot.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/test_utils.js"></script>
<script type="text/javascript" src="/web/static/tests/helpers/mock_server.js"></script>
<script type="text/javascript" src="/web/static/tests/views/list_benchmarks.js"></script>
<script type="text/javascript" src="/web/static/tests/views/kanban_benchmarks.js"></script>
<script type="text/javascript" src="/web/static/tests/views/form_benchmarks.js"></script>
</t>
<div id="qunit"/>
<div id="qunit-fixture"/>
</t>
</template>
<template id="web.webclient_bootstrap">
<t t-call="web.layout">
<t t-set="head_web">
<script type="text/javascript">
odoo.session_info = <t t-raw="json.dumps(session_info)"/>;
odoo.reloadMenus = function () {
return new Promise(function(resolve, reject) {
function onLoaded() {
resolve(oReq.response);
}
var oReq = new XMLHttpRequest();
oReq.responseType = "json";
oReq.addEventListener("load", onLoaded);
oReq.addEventListener("error", reject);
oReq.open("GET", '/web/webclient/load_menus/' + odoo.session_info.cache_hashes.load_menus);
oReq.send();
});
}
odoo.loadMenusPromise = odoo.reloadMenus();
</script>
<t t-call-assets="web.assets_common" t-js="false"/>
<t t-call-assets="web.assets_backend" t-js="false"/>
<t t-call-assets="web.assets_common" t-css="false"/>
<t t-call-assets="web.assets_backend" t-css="false"/>
<t t-call="web.conditional_assets_tests"/>
<![CDATA[
<!--[if lt IE 10]>
<body class="ie9">
<![endif]-->
]]>
<script type="text/javascript">
odoo.define('web.web_client', function (require) {
var WebClient = require('web.WebClient');
var web_client = new WebClient();
$(function() {
web_client.setElement($(document.body));
web_client.start();
});
return web_client;
});
</script>
</t>
<t t-set="head" t-value="head_web + (head or '')"/>
<t t-set="body_classname" t-value="'o_web_client'"/>
</t>
</template>
<template id="debug_icon" name="Debug Icon">
<t t-if="debug">
<t t-set="debug_mode_help" t-value="' (%s)' % debug if debug != '1' else ''"/>
<a t-attf-href="?#{keep_query('*', debug='')}" t-attf-title="Debug mode is activated#{debug_mode_help}. Click here to exit debug mode."
class="o_debug_mode"><span class="fa fa-bug"/></a>
</t>
</template>
<!--
Optional Bundle for PDFJS lib
Since PDFJS is quite huge (40000 lines), please only load it when it is necessary.
For now, it is only use to display the PDF slide Viewer during an embed.
Bundlized, the size is reduced to 3000 lines.
-->
<template id="pdf_js_lib" name="PDF JS Library">
<script type="text/javascript" src="/web/static/lib/pdfjs/src/shared/util.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/display/api.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/display/metadata.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/display/canvas.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/display/webgl.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/display/pattern_helper.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/display/font_loader.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/display/annotation_helper.js"></script>
<!-- files normally dynamically loaded in worker_loader.js -->
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/network.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/chunked_stream.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/pdf_manager.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/core.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/obj.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/charsets.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/annotation.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/function.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/colorspace.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/crypto.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/pattern.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/evaluator.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/cmap.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/fonts.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/font_renderer.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/glyphlist.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/image.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/metrics.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/parser.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/ps_parser.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/stream.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/worker.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/arithmetic_decoder.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/jpg.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/jpx.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/jbig2.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/bidi.js"></script>
<script type="text/javascript" src="/web/static/lib/pdfjs/src/core/murmurhash3.js"></script>
<!--
NOTE JEM : PDFJS not-minified load its assets dynamically. Not minify, this lib is huge (4000 lines).
To load PDFJS using odoo bundle, we create a custom worker_loader, to avoid reloading all the assets (core/*.js) dynamically.
Loading all this assets in a bundle can be problematic in debug mode, since we don't wait all assets to be loaded to start using PDFJS. That's why, in debug mode, we use the native loader, otherwise our custom loader is used.
-->
<t t-if="not debug">
<script>
// Use Odoo PDFJS Loader, to avoid dynamic assets loading
PDFJS.workerSrc = '/web/static/lib/pdfjs/worker_loader_by_odoo.js';
PDFJS.disableWorker = true;
</script>
</t>
<t t-if="debug">
<script>
// Specify the main script used to create a new PDF.JS web worker.
// In production, leave this undefined or change it to point to the
// combined `pdf.worker.js` file.
PDFJS.workerSrc = '/web/static/lib/pdfjs/src/worker_loader.js';
</script>
</t>
<!--
If no loader defined, this file will try to load pdf.worker.js (in build/).
It will crash since we don't use the minified version of PDFJS
-->
<script type="text/javascript" src="/web/static/lib/pdfjs/src/pdf.js"></script>
</template>
</odoo>