[FIX] mrp_subcontracting: only import needed files

Follow the same behavior than project. Only import the code for the
views. It's not a good idea to import all the backend since it's not
needed and it could cause issue with extra features

closes odoo/odoo#121669

closes odoo/odoo#119040

X-original-commit: 8f3f10731545f32d283772fc009733c1b43f536b
Related: odoo/enterprise#41188
Related: odoo/enterprise#39987
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
This commit is contained in:
Arnold Moyaux
2023-06-21 10:37:04 +02:00
committed by William Henrotin
parent bd98ef5944
commit 9a01c6a29c
2 changed files with 120 additions and 4 deletions
+94 -2
View File
@@ -37,8 +37,100 @@
'mrp_subcontracting/static/src/components/**/*',
],
'mrp_subcontracting.webclient': [
('include', 'web.assets_backend'),
('remove', 'web/static/src/webclient/menus/*.js'),
('include', 'web._assets_helpers'),
('include', 'web._assets_backend_helpers'),
'web/static/src/scss/pre_variables.scss',
'web/static/lib/bootstrap/scss/_variables.scss',
('include', 'web._assets_bootstrap'),
'base/static/src/css/modules.css',
'web/static/src/core/utils/transitions.scss',
'web/static/src/core/**/*',
'web/static/src/search/**/*',
'web/static/src/views/*.js',
'web/static/src/views/*.xml',
'web/static/src/views/*.scss',
'web/static/src/views/fields/**/*',
'web/static/src/views/form/**/*',
'web/static/src/views/kanban/**/*',
'web/static/src/views/list/**/*',
'web/static/src/views/view_button/**/*',
'web/static/src/views/view_components/**/*',
'web/static/src/views/view_dialogs/**/*',
'web/static/src/views/widgets/**/*',
'web/static/src/webclient/**/*',
('remove', 'web/static/src/webclient/navbar/navbar.scss'), # already in assets_common
('remove', 'web/static/src/webclient/clickbot/clickbot.js'), # lazy loaded
('remove', 'web/static/src/views/form/button_box/*.scss'),
# remove the report code and whitelist only what's needed
('remove', 'web/static/src/webclient/actions/reports/**/*'),
'web/static/src/webclient/actions/reports/*.js',
'web/static/src/webclient/actions/reports/*.xml',
'web/static/src/env.js',
'web/static/lib/jquery.scrollTo/jquery.scrollTo.js',
'web/static/lib/py.js/lib/py.js',
'web/static/lib/py.js/lib/py_extras.js',
'web/static/lib/jquery.ba-bbq/jquery.ba-bbq.js',
'web/static/src/legacy/scss/fields.scss',
'web/static/src/legacy/scss/views.scss',
'web/static/src/legacy/scss/form_view.scss',
'web/static/src/legacy/scss/list_view.scss',
'base/static/src/scss/res_partner.scss',
# Form style should be computed before
'web/static/src/views/form/button_box/*.scss',
'web/static/src/legacy/action_adapters.js',
'web/static/src/legacy/legacy_service_provider.js',
'web/static/src/legacy/legacy_client_actions.js',
'web/static/src/legacy/legacy_dialog.js',
'web/static/src/legacy/legacy_load_views.js',
'web/static/src/legacy/legacy_promise_error_handler.js',
'web/static/src/legacy/legacy_rpc_error_handler.js',
'web/static/src/legacy/root_widget.js',
'web/static/src/legacy/legacy_setup.js',
'web/static/src/legacy/root_widget.js',
'web/static/src/legacy/backend_utils.js',
'web/static/src/legacy/utils.js',
'web/static/src/legacy/web_client.js',
'web/static/src/legacy/js/chrome/*',
'web/static/src/legacy/js/components/*',
'web/static/src/legacy/js/control_panel/*',
'web/static/src/legacy/js/core/domain.js',
'web/static/src/legacy/js/core/mvc.js',
'web/static/src/legacy/js/core/py_utils.js',
'web/static/src/legacy/js/core/context.js',
'web/static/src/legacy/js/core/misc.js',
'web/static/src/legacy/js/fields/abstract_field.js',
'web/static/src/legacy/js/fields/basic_fields.js',
'web/static/src/legacy/js/fields/field_utils.js',
'web/static/src/legacy/js/fields/relational_fields.js',
'web/static/src/legacy/js/fields/field_registry.js',
'web/static/src/legacy/js/fields/field_utils.js',
'web/static/src/legacy/js/views/abstract_model.js',
'web/static/src/legacy/js/views/basic/basic_model.js',
'web/static/src/legacy/js/views/view_utils.js',
'web/static/src/legacy/js/services/data_manager.js',
'web/static/src/legacy/js/services/session.js',
'web/static/src/legacy/js/tools/tools.js',
'web/static/src/legacy/js/views/**/*',
'web/static/src/legacy/js/widgets/date_picker.js',
'web/static/src/legacy/js/widgets/domain_selector_dialog.js',
'web/static/src/legacy/js/widgets/domain_selector.js',
'web/static/src/legacy/js/widgets/model_field_selector.js',
'web/static/src/legacy/js/widgets/model_field_selector_popover.js',
'web/static/src/legacy/js/env.js',
'web/static/src/legacy/js/owl_compatibility.js',
'web/static/src/legacy/pseudo_web_client.js',
'mrp_subcontracting/static/src/subcontracting_portal/*',
'web/static/src/start.js',
'web/static/src/legacy/legacy_setup.js',
@@ -1,5 +1,29 @@
/** @odoo-module **/
import { startWebClient } from '@web/start';
import { SubcontractingPortalWebClient } from './subcontracting_portal';
import { startWebClient } from "@web/start";
import { SubcontractingPortalWebClient } from "./subcontracting_portal";
import { registry } from "@web/core/registry";
const servicesToRemove = ["menu"];
const servicesRegistry = registry.category("services");
/**
* Remove services unsued in subcontracting portal feature.
*
* This function is used before starting the webclient
* to remove the services that we don't want in the registry.
* In this case, the home_menu service is removed via the assets
* but the services in web_studio depends on this service and are not removed.
* Since this module has not web_studio module in this dependencies, this function will remove
* the services that we don't want instead of create a new module just to remove the services in assets.
*/
export function removeServices() {
for (const service of servicesToRemove) {
if (servicesRegistry.contains(service)) {
servicesRegistry.remove(service);
}
}
}
removeServices();
startWebClient(SubcontractingPortalWebClient);