From ce69990df66a690c13f0aa5a430cb3c14a4a853a Mon Sep 17 00:00:00 2001 From: Marc Durepos Date: Tue, 2 Sep 2025 12:58:15 -0400 Subject: [PATCH] Remove modules with 17.0 versions --- account_credit_hold/__init__.py | 1 - account_credit_hold/__manifest__.py | 20 - account_credit_hold/migration18.md | 246 ---- account_credit_hold/models/__init__.py | 5 - .../models/account_followup.py | 8 - .../models/account_followup_report.py | 12 - account_credit_hold/models/res_partner.py | 80 -- account_credit_hold/models/sale_order.py | 17 - account_credit_hold/models/stock_picking.py | 9 - account_credit_hold/readme.md | 40 - .../views/account_followup_views.xml | 49 - .../views/res_partner_views.xml | 34 - .../views/sale_order_views.xml | 18 - .../views/stock_picking_views.xml | 19 - aged_partner_balance_na/__init__.py | 33 - aged_partner_balance_na/__manifest__.py | 32 - aged_partner_balance_na/models/__init__.py | 1 - .../models/aged_partner_balance.py | 245 ---- .../__init__.py | 5 - .../__manifest__.py | 21 - .../migration18.md | 87 -- .../models/__init__.py | 2 - .../models/mail_wizard_invite.py | 11 - bemade_documents_portal/__init__.py | 2 - bemade_documents_portal/__manifest__.py | 32 - .../controllers/__init__.py | 1 - bemade_documents_portal/controllers/portal.py | 65 - bemade_documents_portal/models/__init__.py | 1 - bemade_documents_portal/models/documents.py | 17 - .../views/document_portal_templates.xml | 112 -- bemade_fetchmail_only_production/README.md | 0 bemade_fetchmail_only_production/__init__.py | 4 - .../__manifest__.py | 20 - .../migration18.md | 31 - .../models/__init__.py | 4 - .../models/fetchmail_server.py | 23 - .../readme/HISTORY.rst | 10 - bemade_fix_quality_report/__init__.py | 0 bemade_fix_quality_report/__manifest__.py | 33 - .../worksheet_custom_report_templates.xml | 8 - bemade_fsm/__init__.py | 3 - bemade_fsm/__manifest__.py | 70 -- bemade_fsm/data/fsm_data.xml | 28 - bemade_fsm/i18n/fr.po | 1098 ----------------- bemade_fsm/migration18.md | 369 ------ .../migrations/17.0.0.4.0/pre-migrate.py | 81 -- bemade_fsm/models/__init__.py | 9 - bemade_fsm/models/fsm_visit.py | 104 -- bemade_fsm/models/product_template.py | 19 - bemade_fsm/models/project.py | 13 - bemade_fsm/models/res_company.py | 8 - bemade_fsm/models/res_partner.py | 61 - bemade_fsm/models/sale_order.py | 163 --- bemade_fsm/models/sale_order_line.py | 294 ----- bemade_fsm/models/task.py | 222 ---- bemade_fsm/models/task_template.py | 122 -- bemade_fsm/reports/__init__.py | 1 - .../worksheet_custom_report_templates.xml | 588 --------- .../reports/worksheet_custom_reports.py | 13 - .../reports/worksheet_custom_reports.xml | 11 - bemade_fsm/security/ir.model.access.csv | 5 - bemade_fsm/static/src/js/kanban_view.js | 37 - bemade_fsm/static/src/js/list_view.js | 36 - bemade_fsm/static/src/scss/bemade_fsm.scss | 14 - .../static/src/xml/project_view_buttons.xml | 21 - bemade_fsm/tests/__init__.py | 9 - bemade_fsm/tests/test_bemade_fsm_common.py | 284 ----- bemade_fsm/tests/test_equipment.py | 32 - bemade_fsm/tests/test_fsm_contact_setting.py | 129 -- bemade_fsm/tests/test_fsm_visit.py | 144 --- bemade_fsm/tests/test_sale_order.py | 363 ------ bemade_fsm/tests/test_settings.py | 48 - bemade_fsm/tests/test_task.py | 154 --- bemade_fsm/tests/test_task_report.py | 43 - bemade_fsm/tests/test_task_template.py | 80 -- bemade_fsm/views/menus.xml | 17 - bemade_fsm/views/product_views.xml | 32 - bemade_fsm/views/res_partner.xml | 52 - bemade_fsm/views/sale_order_views.xml | 64 - bemade_fsm/views/task_template_views.xml | 127 -- bemade_fsm/views/task_views.xml | 229 ---- bemade_fsm/wizard/__init__.py | 2 - bemade_fsm/wizard/new_task_from_template.py | 57 - bemade_fsm/wizard/new_task_from_template.xml | 29 - bemade_fsm/wizard/res_config_settings.py | 22 - bemade_fsm/wizard/res_config_settings.xml | 24 - bemade_full_formview_from_modal/__init__.py | 0 .../__manifest__.py | 40 - .../migration18.md | 64 - .../src/view_dialogs/form_view_dialog.js | 42 - .../src/view_dialogs/form_view_dialog.xml | 13 - .../tests/test_full_formview_from_modal.js | 45 - .../tests/__init__.py | 1 - .../tests/test_full_formview_from_modal.py | 13 - bemade_git_repos_addons/__init__.py | 2 - bemade_git_repos_addons/__manifest__.py | 63 - .../data/default_directories_data.xml | 26 - bemade_git_repos_addons/models/__init__.py | 4 - bemade_git_repos_addons/models/git_addons.py | 28 - bemade_git_repos_addons/models/git_branch.py | 18 - bemade_git_repos_addons/models/git_repos.py | 84 -- .../models/res_settings.py | 23 - .../security/ir.model.access.csv | 11 - .../button_create_repos.xml | 12 - .../button_create_repos_controller.js | 21 - .../button_create_repos_view.js | 13 - .../views/action_and_menu.xml | 31 - .../views/git_addons_views.xml | 36 - .../views/git_repos_views.xml | 34 - .../views/res_settings_views.xml | 44 - bemade_git_repos_addons/wizard/__init__.py | 2 - .../wizard/directory_wizard.py | 83 -- .../wizard/directory_wizard_views.xml | 31 - .../wizard/git_repos_wizard.py | 36 - .../wizard/git_repos_wizard_views.xml | 21 - .../__init__.py | 1 - .../__manifest__.py | 31 - .../migration18.md | 72 -- .../models/__init__.py | 1 - .../models/mail_thread.py | 43 - bemade_hide_decimal_on_unit/__init__.py | 5 - bemade_hide_decimal_on_unit/__manifest__.py | 23 - bemade_hide_decimal_on_unit/migration18.md | 72 -- .../views/purchase.xml | 31 - bemade_hide_decimal_on_unit/views/sale.xml | 16 - bemade_l10n_ca_payroll/__init__.py | 1 - bemade_l10n_ca_payroll/__manifest__.py | 37 - .../data/hr_payslip_input_type_data.xml | 48 - .../data/hr_salary_rule_data.xml | 146 --- bemade_l10n_ca_payroll/models/__init__.py | 1 - .../models/hr_payroll_structure_type.py | 26 - bemade_l10n_ca_payroll/models/hr_payslip.py | 29 - bemade_mailcow_integration/__init__.py | 3 - bemade_mailcow_integration/__manifest__.py | 45 - .../controllers/controllers.py | 13 - bemade_mailcow_integration/demo/demo.xml | 30 - bemade_mailcow_integration/migration18.md | 95 -- .../migrations/15.0.1.0.1/pre-migrate.py | 13 - bemade_mailcow_integration/models/__init__.py | 9 - .../models/mail_alias.py | 29 - bemade_mailcow_integration/models/mailcow.py | 62 - .../models/mailcow_alias.py | 109 -- .../models/mailcow_blacklist.py | 98 -- .../models/mailcow_mailbox.py | 148 --- .../models/res_config_settings.py | 32 - .../models/res_users.py | 37 - .../security/ir.model.access.csv | 7 - .../static/description/icon.png | Bin 24034 -> 0 bytes .../static/description/logomailcow.svg | 187 --- .../static/src/js/mailcow.js | 89 -- .../static/src/xml/mailcow_templates.xml | 28 - bemade_mailcow_integration/tests/__init__.py | 1 - .../tests/test_mailcow.py | 12 - .../views/mailcow_alias_views.xml | 76 -- .../views/mailcow_blacklist_views.xml | 66 - .../views/mailcow_mailbox_views.xml | 82 -- .../views/res_config_settings_views.xml | 55 - .../views/res_users_views.xml | 16 - .../views/templates.xml | 24 - bemade_mailcow_integration/views/views.xml | 60 - bemade_margin_vendor_pricelist/__init__.py | 1 - .../__manifest__.py | 31 - .../i18n/bemade_margin_vendor_pricelist.pot | 58 - bemade_margin_vendor_pricelist/i18n/fr.po | 58 - bemade_margin_vendor_pricelist/migration18.md | 93 -- .../migrations/17.0.0.0.4/pre-migrate.py | 21 - .../models/__init__.py | 2 - .../models/sale_order.py | 23 - .../models/sale_order_line.py | 117 -- .../tests/__init__.py | 1 - .../tests/test_margins.py | 372 ------ .../views/sale_order.xml | 57 - bemade_module_linker/__init__.py | 12 - bemade_module_linker/__manifest__.py | 24 - bemade_module_linker/migration18.md | 31 - bemade_module_linker/models/__init__.py | 1 - .../models/res_config_settings.py | 8 - .../models/res_modules_link.py | 28 - .../views/res_config_settings_views.xml | 33 - bemade_multiple_billing_contacts/__init__.py | 1 - .../__manifest__.py | 44 - .../models/__init__.py | 3 - .../models/account_move.py | 34 - .../models/res_partner.py | 28 - .../models/sale_order.py | 21 - .../tests/__init__.py | 1 - .../tests/test_billing_contacts.py | 117 -- .../views/account_move_views.xml | 21 - .../views/res_partner_views.xml | 29 - .../views/sale_order_views.xml | 20 - .../__init__.py | 1 - .../__manifest__.py | 33 - bemade_open_project_details/__init__.py | 0 bemade_open_project_details/__manifest__.py | 39 - .../views/project_project_views.xml | 20 - bemade_packing_wizard/__init__.py | 4 - bemade_packing_wizard/__manifest__.py | 25 - bemade_packing_wizard/migration18.md | 93 -- bemade_packing_wizard/models/__init__.py | 5 - .../models/delivery_carrier.py | 13 - .../models/stock_quant_package.py | 84 -- .../views/delivery_carrier_views.xml | 13 - .../views/stock_package_views.xml | 17 - bemade_packing_wizard/wizard/__init__.py | 3 - .../wizard/choose_delivery_package.py | 71 -- .../wizard/choose_delivery_package_views.xml | 20 - bemade_partner_email_domain/__init__.py | 2 - bemade_partner_email_domain/__manifest__.py | 38 - .../controllers/__init__.py | 1 - .../controllers/main.py | 40 - .../data/mail_template_data.xml | 106 -- .../data/template_data.xml | 17 - bemade_partner_email_domain/i18n/fr_CA.po | 41 - bemade_partner_email_domain/migration18.md | 93 -- .../models/__init__.py | 1 - .../models/res_partner.py | 97 -- .../views/res_partner_views.xml | 20 - bemade_partner_root_ancestor/__init__.py | 1 - bemade_partner_root_ancestor/__manifest__.py | 32 - bemade_partner_root_ancestor/migration18.md | 92 -- .../models/__init__.py | 1 - .../models/res_partner.py | 18 - .../tests/__init__.py | 1 - .../tests/test_root_ancestor.py | 55 - bemade_picking_upstream/__init__.py | 1 - bemade_picking_upstream/__manifest__.py | 32 - bemade_picking_upstream/migration18.md | 92 -- bemade_picking_upstream/models/__init__.py | 1 - .../models/stock_picking.py | 33 - .../views/stock_picking_views.xml | 14 - bemade_quotation_alternative/__init__.py | 4 - bemade_quotation_alternative/__manifest__.py | 37 - bemade_quotation_alternative/migration18.md | 93 -- .../models/__init__.py | 3 - .../models/sale_order.py | 19 - .../security/ir.model.access.csv | 3 - .../views/sale_order_views.xml | 62 - .../wizard/__init__.py | 4 - .../sale_oder_line_duplication_wizard.py | 9 - .../wizard/sale_order_duplication_wizard.py | 105 -- .../sale_order_duplication_wizard_view.xml | 39 - bemade_reordering_rules_chatter/__init__.py | 5 - .../__manifest__.py | 22 - .../migration18.md | 93 -- .../models/__init__.py | 1 - .../models/stock_warehouse_orderpoint.py | 19 - .../views/stock_warehouse_orderpoint.xml | 29 - bemade_search_supplier_code/__init__.py | 5 - bemade_search_supplier_code/__manifest__.py | 24 - bemade_search_supplier_code/migration18.md | 31 - .../models/__init__.py | 1 - .../models/product_product.py | 26 - .../views/product_product_views.xml | 12 - bemade_so_and_po_only_company/__init__.py | 0 bemade_so_and_po_only_company/__manifest__.py | 24 - bemade_so_and_po_only_company/migration18.md | 32 - .../views/purchase_order.xml | 15 - .../views/sale_order.xml | 15 - bemade_so_followers_to_picking/__init__.py | 1 - .../__manifest__.py | 22 - bemade_so_followers_to_picking/migration18.md | 93 -- .../models/__init__.py | 1 - .../models/stock_picking.py | 20 - bemade_stock_quant_valuation/__init__.py | 1 - bemade_stock_quant_valuation/__manifest__.py | 39 - bemade_stock_quant_valuation/migration18.md | 93 -- .../models/__init__.py | 1 - .../models/stock_quant.py | 20 - .../views/stock_account_views.xml | 19 - bemade_total_show_currency/__manifest__.py | 41 - .../views/total_template.xml | 14 - .../__init__.py | 1 - .../__manifest__.py | 22 - .../migration18.md | 31 - .../models/__init__.py | 1 - .../models/sale_order.py | 28 - bemade_utils/__init__.py | 2 - bemade_utils/__manifest__.py | 33 - bemade_utils/migration18.md | 31 - bemade_utils/tests/__init__.py | 2 - bemade_utils/tests/test_patching_test.py | 17 - bemade_utils/tools/__init__.py | 2 - bemade_utils/tools/test.py | 28 - .../__init__.py | 1 - .../__manifest__.py | 40 - .../models/__init__.py | 1 - .../models/mrp_production.py | 41 - .../models/mrp_workorder.py | 27 - .../static/src/mrp_display/mrp_display.esm.js | 18 - .../src/mrp_display/mrp_display_action.esm.js | 14 - .../src/mrp_display/mrp_display_record.esm.js | 9 - .../src/mrp_display/mrp_display_record.xml | 19 - .../tests/__init__.py | 1 - .../tests/test_mrp_production.py | 72 -- .../views/mrp_production_views.xml | 23 - confirm_many2one_create/__init__.py | 0 confirm_many2one_create/__manifest__.py | 37 - .../static/src/js/many2one_field.esm.js | 12 - customer_applications/__init__.py | 1 - customer_applications/__manifest__.py | 40 - customer_applications/data/menus_actions.xml | 43 - customer_applications/models/__init__.py | 5 - customer_applications/models/application.py | 36 - .../models/application_specification.py | 42 - .../models/application_specification_key.py | 11 - .../models/application_type.py | 54 - customer_applications/models/res_partner.py | 42 - customer_applications/security/groups.xml | 14 - .../security/ir.model.access.csv | 7 - customer_applications/tests/__init__.py | 1 - .../tests/test_application.py | 59 - .../views/application_type_views.xml | 74 -- .../views/application_views.xml | 86 -- .../views/res_partner_views.xml | 45 - fsm_equipment/__init__.py | 1 - fsm_equipment/__manifest__.py | 38 - .../migrations/17.0.0.2.0/post-migrate.py | 30 - fsm_equipment/models/__init__.py | 4 - fsm_equipment/models/equipment.py | 144 --- fsm_equipment/models/equipment_tag.py | 19 - fsm_equipment/models/res_partner.py | 51 - fsm_equipment/models/task.py | 14 - fsm_equipment/security/ir.model.access.csv | 3 - fsm_equipment/views/equipment_views.xml | 192 --- fsm_equipment/views/project_task_views.xml | 14 - fsm_equipment/views/res_partner_views.xml | 57 - fsm_visit_confirmation/__init__.py | 2 - fsm_visit_confirmation/__manifest__.py | 33 - .../controllers/__init__.py | 1 - fsm_visit_confirmation/controllers/portal.py | 35 - .../data/mail_templates.xml | 47 - fsm_visit_confirmation/models/__init__.py | 1 - fsm_visit_confirmation/models/project_task.py | 9 - .../project_portal_project_task_templates.xml | 10 - impersonate_user/__init__.py | 2 - impersonate_user/__manifest__.py | 40 - impersonate_user/controllers/__init__.py | 1 - impersonate_user/controllers/main.py | 9 - impersonate_user/models/__init__.py | 2 - impersonate_user/models/ir_http.py | 11 - impersonate_user/models/res_users.py | 45 - .../src/systray_unimpersonate_button.esm.js | 27 - .../src/systray_unimpersonate_button.xml | 15 - .../views/impersonation_views.xml | 28 - improved_mo_origin/__init__.py | 1 - improved_mo_origin/__manifest__.py | 38 - improved_mo_origin/models/__init__.py | 1 - improved_mo_origin/models/mrp_production.py | 71 -- .../static/src/mrp_display/mrp_display.esm.js | 25 - .../src/mrp_display/mrp_display_action.esm.js | 14 - .../src/mrp_display/mrp_display_record.esm.js | 9 - .../src/mrp_display/mrp_display_record.xml | 30 - improved_mo_origin/tests/__init__.py | 1 - .../tests/test_mrp_production.py | 118 -- .../views/mrp_production_views.xml | 25 - interactive_discuss_ai/__init__.py | 1 - interactive_discuss_ai/__manifest__.py | 46 - interactive_discuss_ai/models/__init__.py | 2 - interactive_discuss_ai/models/ai_assistant.py | 101 -- interactive_discuss_ai/models/ai_config.py | 61 - interactive_discuss_ai/models/ai_service.py | 62 - .../security/ir.model.access.csv | 3 - .../static/src/js/ai_assistant_chat.js | 52 - .../static/src/xml/ai_assistant_chat.xml | 12 - .../views/ai_assistant_views.xml | 86 -- .../views/ai_config_views.xml | 83 -- mo_back_to_draft/__init__.py | 1 - mo_back_to_draft/__manifest__.py | 33 - mo_back_to_draft/models/__init__.py | 1 - mo_back_to_draft/models/mrp_production.py | 16 - .../views/mrp_production_views.xml | 16 - multi_account_statement_import/__init__.py | 0 .../__manifest__.py | 32 - odoo_proxmox_manager/README.md | 90 -- odoo_proxmox_manager/__init__.py | 3 - odoo_proxmox_manager/__manifest__.py | 35 - odoo_proxmox_manager/controllers/__init__.py | 1 - odoo_proxmox_manager/controllers/main.py | 9 - odoo_proxmox_manager/models/__init__.py | 3 - .../models/proxmox_cluster.py | 37 - odoo_proxmox_manager/models/proxmox_server.py | 164 --- odoo_proxmox_manager/models/proxmox_vm.py | 87 -- odoo_proxmox_manager/requirements.txt | 2 - .../security/ir.model.access.csv | 9 - .../security/proxmox_security.xml | 39 - .../static/description/icon.png | Bin 833 -> 0 bytes .../proxmox_server_list.js | 32 - .../proxmox_server_list.xml | 10 - .../static/src/js/dashboard_view.js | 51 - .../static/src/js/proxmox_server_list.js | 52 - .../static/src/scss/dashboard.scss | 113 -- .../static/src/xml/dashboard.xml | 57 - .../static/src/xml/proxmox_server_list.xml | 10 - .../views/proxmox_cluster_views.xml | 89 -- odoo_proxmox_manager/views/proxmox_menus.xml | 32 - .../views/proxmox_server_views.xml | 108 -- .../views/proxmox_vm_views.xml | 107 -- odoo_proxmox_manager/wizard/__init__.py | 1 - .../wizard/proxmox_server_wizard.py | 98 -- .../wizard/proxmox_server_wizard_views.xml | 67 - partner_equipment_applications/__init__.py | 1 - .../__manifest__.py | 36 - .../models/__init__.py | 2 - .../models/application.py | 29 - .../models/equipment.py | 17 - .../views/application_views.xml | 39 - .../views/equipment_views.xml | 42 - portal_hide_draft_order_details/__init__.py | 2 - .../__manifest__.py | 34 - portal_hide_draft_order_details/i18n/fr.po | 56 - .../i18n/portal_hide_draft_order_details.pot | 52 - .../models/__init__.py | 1 - .../models/res_company.py | 12 - .../views/sale_order_portal_templates.xml | 50 - .../wizard/__init__.py | 1 - .../wizard/res_config_settings.py | 17 - .../wizard/res_config_settings.xml | 15 - price_update_notifications/__init__.py | 2 - price_update_notifications/__manifest__.py | 39 - .../data/email_templates.xml | 61 - .../data/ir_cron_data.xml | 18 - price_update_notifications/i18n/fr.po | 309 ----- .../i18n/price_update_notifications.pot | 374 ------ price_update_notifications/models/__init__.py | 1 - .../models/price_notice_mailing.py | 132 -- .../security/ir.model.access.csv | 7 - .../views/price_notice_mailing_views.xml | 97 -- price_update_notifications/wizard/__init__.py | 1 - .../wizard/send_price_update_notice.py | 83 -- .../wizard/send_price_update_notice_views.xml | 36 - recursive_tree_view/README.md | 42 - recursive_tree_view/__init__.py | 2 - recursive_tree_view/__manifest__.py | 41 - recursive_tree_view/hierarchy-svgrepo-com.svg | 15 - recursive_tree_view/models/__init__.py | 1 - recursive_tree_view/models/models.py | 18 - recursive_tree_view/rng/tree_view.rng | 104 -- .../static/description/icon.png | Bin 1984 -> 0 bytes .../static/description/images/collapsed.png | Bin 184474 -> 0 bytes .../static/description/images/expanded.png | Bin 199669 -> 0 bytes .../description/images/main_screenshot.png | Bin 45334 -> 0 bytes .../static/description/index.html | 97 -- .../static/src/list_arch_parser.js | 16 - .../static/src/list_controller.js | 37 - .../static/src/list_renderer.js | 19 - .../static/src/recursive_tree_templates.xml | 40 - .../static/src/relational_model.js | 144 --- .../static/src/tree_recursive_styles.css | 28 - recursive_tree_view/validation.py | 59 - stock_valuation_location/__init__.py | 1 - stock_valuation_location/__manifest__.py | 33 - stock_valuation_location/models/__init__.py | 1 - .../models/stock_valuation_layer.py | 25 - .../views/stock_valuation_layer_views.xml | 29 - temporary_change_image_size/__manifest__.py | 20 - .../views/product_template_views.xml | 13 - wazo_integration/__init__.py | 1 - wazo_integration/__manifest__.py | 19 - wazo_integration/models/__init__.py | 2 - wazo_integration/models/res_company.py | 21 - .../models/res_config_settings.py | 57 - .../views/res_config_settings_views.xml | 62 - 462 files changed, 19914 deletions(-) delete mode 100644 account_credit_hold/__init__.py delete mode 100644 account_credit_hold/__manifest__.py delete mode 100644 account_credit_hold/migration18.md delete mode 100644 account_credit_hold/models/__init__.py delete mode 100644 account_credit_hold/models/account_followup.py delete mode 100644 account_credit_hold/models/account_followup_report.py delete mode 100644 account_credit_hold/models/res_partner.py delete mode 100644 account_credit_hold/models/sale_order.py delete mode 100644 account_credit_hold/models/stock_picking.py delete mode 100644 account_credit_hold/readme.md delete mode 100644 account_credit_hold/views/account_followup_views.xml delete mode 100644 account_credit_hold/views/res_partner_views.xml delete mode 100644 account_credit_hold/views/sale_order_views.xml delete mode 100644 account_credit_hold/views/stock_picking_views.xml delete mode 100644 aged_partner_balance_na/__init__.py delete mode 100644 aged_partner_balance_na/__manifest__.py delete mode 100644 aged_partner_balance_na/models/__init__.py delete mode 100644 aged_partner_balance_na/models/aged_partner_balance.py delete mode 100644 bemade_add_follower_no_sendmail_default/__init__.py delete mode 100644 bemade_add_follower_no_sendmail_default/__manifest__.py delete mode 100644 bemade_add_follower_no_sendmail_default/migration18.md delete mode 100644 bemade_add_follower_no_sendmail_default/models/__init__.py delete mode 100644 bemade_add_follower_no_sendmail_default/models/mail_wizard_invite.py delete mode 100644 bemade_documents_portal/__init__.py delete mode 100644 bemade_documents_portal/__manifest__.py delete mode 100644 bemade_documents_portal/controllers/__init__.py delete mode 100644 bemade_documents_portal/controllers/portal.py delete mode 100644 bemade_documents_portal/models/__init__.py delete mode 100644 bemade_documents_portal/models/documents.py delete mode 100644 bemade_documents_portal/views/document_portal_templates.xml delete mode 100644 bemade_fetchmail_only_production/README.md delete mode 100644 bemade_fetchmail_only_production/__init__.py delete mode 100644 bemade_fetchmail_only_production/__manifest__.py delete mode 100644 bemade_fetchmail_only_production/migration18.md delete mode 100644 bemade_fetchmail_only_production/models/__init__.py delete mode 100644 bemade_fetchmail_only_production/models/fetchmail_server.py delete mode 100644 bemade_fetchmail_only_production/readme/HISTORY.rst delete mode 100644 bemade_fix_quality_report/__init__.py delete mode 100644 bemade_fix_quality_report/__manifest__.py delete mode 100644 bemade_fix_quality_report/reports/worksheet_custom_report_templates.xml delete mode 100644 bemade_fsm/__init__.py delete mode 100644 bemade_fsm/__manifest__.py delete mode 100644 bemade_fsm/data/fsm_data.xml delete mode 100644 bemade_fsm/i18n/fr.po delete mode 100644 bemade_fsm/migration18.md delete mode 100644 bemade_fsm/migrations/17.0.0.4.0/pre-migrate.py delete mode 100644 bemade_fsm/models/__init__.py delete mode 100644 bemade_fsm/models/fsm_visit.py delete mode 100644 bemade_fsm/models/product_template.py delete mode 100644 bemade_fsm/models/project.py delete mode 100644 bemade_fsm/models/res_company.py delete mode 100644 bemade_fsm/models/res_partner.py delete mode 100644 bemade_fsm/models/sale_order.py delete mode 100644 bemade_fsm/models/sale_order_line.py delete mode 100644 bemade_fsm/models/task.py delete mode 100644 bemade_fsm/models/task_template.py delete mode 100644 bemade_fsm/reports/__init__.py delete mode 100644 bemade_fsm/reports/worksheet_custom_report_templates.xml delete mode 100644 bemade_fsm/reports/worksheet_custom_reports.py delete mode 100644 bemade_fsm/reports/worksheet_custom_reports.xml delete mode 100644 bemade_fsm/security/ir.model.access.csv delete mode 100644 bemade_fsm/static/src/js/kanban_view.js delete mode 100644 bemade_fsm/static/src/js/list_view.js delete mode 100644 bemade_fsm/static/src/scss/bemade_fsm.scss delete mode 100644 bemade_fsm/static/src/xml/project_view_buttons.xml delete mode 100644 bemade_fsm/tests/__init__.py delete mode 100644 bemade_fsm/tests/test_bemade_fsm_common.py delete mode 100644 bemade_fsm/tests/test_equipment.py delete mode 100644 bemade_fsm/tests/test_fsm_contact_setting.py delete mode 100644 bemade_fsm/tests/test_fsm_visit.py delete mode 100644 bemade_fsm/tests/test_sale_order.py delete mode 100644 bemade_fsm/tests/test_settings.py delete mode 100644 bemade_fsm/tests/test_task.py delete mode 100644 bemade_fsm/tests/test_task_report.py delete mode 100644 bemade_fsm/tests/test_task_template.py delete mode 100644 bemade_fsm/views/menus.xml delete mode 100644 bemade_fsm/views/product_views.xml delete mode 100644 bemade_fsm/views/res_partner.xml delete mode 100644 bemade_fsm/views/sale_order_views.xml delete mode 100644 bemade_fsm/views/task_template_views.xml delete mode 100644 bemade_fsm/views/task_views.xml delete mode 100644 bemade_fsm/wizard/__init__.py delete mode 100644 bemade_fsm/wizard/new_task_from_template.py delete mode 100644 bemade_fsm/wizard/new_task_from_template.xml delete mode 100644 bemade_fsm/wizard/res_config_settings.py delete mode 100644 bemade_fsm/wizard/res_config_settings.xml delete mode 100644 bemade_full_formview_from_modal/__init__.py delete mode 100644 bemade_full_formview_from_modal/__manifest__.py delete mode 100644 bemade_full_formview_from_modal/migration18.md delete mode 100644 bemade_full_formview_from_modal/static/src/view_dialogs/form_view_dialog.js delete mode 100644 bemade_full_formview_from_modal/static/src/view_dialogs/form_view_dialog.xml delete mode 100644 bemade_full_formview_from_modal/static/tests/test_full_formview_from_modal.js delete mode 100644 bemade_full_formview_from_modal/tests/__init__.py delete mode 100644 bemade_full_formview_from_modal/tests/test_full_formview_from_modal.py delete mode 100644 bemade_git_repos_addons/__init__.py delete mode 100644 bemade_git_repos_addons/__manifest__.py delete mode 100644 bemade_git_repos_addons/data/default_directories_data.xml delete mode 100644 bemade_git_repos_addons/models/__init__.py delete mode 100644 bemade_git_repos_addons/models/git_addons.py delete mode 100644 bemade_git_repos_addons/models/git_branch.py delete mode 100644 bemade_git_repos_addons/models/git_repos.py delete mode 100644 bemade_git_repos_addons/models/res_settings.py delete mode 100644 bemade_git_repos_addons/security/ir.model.access.csv delete mode 100644 bemade_git_repos_addons/static/src/views/button_create_repos_list/button_create_repos.xml delete mode 100644 bemade_git_repos_addons/static/src/views/button_create_repos_list/button_create_repos_controller.js delete mode 100644 bemade_git_repos_addons/static/src/views/button_create_repos_list/button_create_repos_view.js delete mode 100644 bemade_git_repos_addons/views/action_and_menu.xml delete mode 100644 bemade_git_repos_addons/views/git_addons_views.xml delete mode 100644 bemade_git_repos_addons/views/git_repos_views.xml delete mode 100644 bemade_git_repos_addons/views/res_settings_views.xml delete mode 100644 bemade_git_repos_addons/wizard/__init__.py delete mode 100644 bemade_git_repos_addons/wizard/directory_wizard.py delete mode 100644 bemade_git_repos_addons/wizard/directory_wizard_views.xml delete mode 100644 bemade_git_repos_addons/wizard/git_repos_wizard.py delete mode 100644 bemade_git_repos_addons/wizard/git_repos_wizard_views.xml delete mode 100644 bemade_helpdesk_one_ticket_per_email/__init__.py delete mode 100644 bemade_helpdesk_one_ticket_per_email/__manifest__.py delete mode 100644 bemade_helpdesk_one_ticket_per_email/migration18.md delete mode 100644 bemade_helpdesk_one_ticket_per_email/models/__init__.py delete mode 100644 bemade_helpdesk_one_ticket_per_email/models/mail_thread.py delete mode 100644 bemade_hide_decimal_on_unit/__init__.py delete mode 100644 bemade_hide_decimal_on_unit/__manifest__.py delete mode 100644 bemade_hide_decimal_on_unit/migration18.md delete mode 100644 bemade_hide_decimal_on_unit/views/purchase.xml delete mode 100644 bemade_hide_decimal_on_unit/views/sale.xml delete mode 100644 bemade_l10n_ca_payroll/__init__.py delete mode 100644 bemade_l10n_ca_payroll/__manifest__.py delete mode 100644 bemade_l10n_ca_payroll/data/hr_payslip_input_type_data.xml delete mode 100644 bemade_l10n_ca_payroll/data/hr_salary_rule_data.xml delete mode 100644 bemade_l10n_ca_payroll/models/__init__.py delete mode 100644 bemade_l10n_ca_payroll/models/hr_payroll_structure_type.py delete mode 100644 bemade_l10n_ca_payroll/models/hr_payslip.py delete mode 100644 bemade_mailcow_integration/__init__.py delete mode 100644 bemade_mailcow_integration/__manifest__.py delete mode 100644 bemade_mailcow_integration/controllers/controllers.py delete mode 100644 bemade_mailcow_integration/demo/demo.xml delete mode 100644 bemade_mailcow_integration/migration18.md delete mode 100644 bemade_mailcow_integration/migrations/15.0.1.0.1/pre-migrate.py delete mode 100644 bemade_mailcow_integration/models/__init__.py delete mode 100644 bemade_mailcow_integration/models/mail_alias.py delete mode 100644 bemade_mailcow_integration/models/mailcow.py delete mode 100644 bemade_mailcow_integration/models/mailcow_alias.py delete mode 100644 bemade_mailcow_integration/models/mailcow_blacklist.py delete mode 100644 bemade_mailcow_integration/models/mailcow_mailbox.py delete mode 100644 bemade_mailcow_integration/models/res_config_settings.py delete mode 100644 bemade_mailcow_integration/models/res_users.py delete mode 100644 bemade_mailcow_integration/security/ir.model.access.csv delete mode 100644 bemade_mailcow_integration/static/description/icon.png delete mode 100644 bemade_mailcow_integration/static/description/logomailcow.svg delete mode 100644 bemade_mailcow_integration/static/src/js/mailcow.js delete mode 100644 bemade_mailcow_integration/static/src/xml/mailcow_templates.xml delete mode 100644 bemade_mailcow_integration/tests/__init__.py delete mode 100644 bemade_mailcow_integration/tests/test_mailcow.py delete mode 100644 bemade_mailcow_integration/views/mailcow_alias_views.xml delete mode 100644 bemade_mailcow_integration/views/mailcow_blacklist_views.xml delete mode 100644 bemade_mailcow_integration/views/mailcow_mailbox_views.xml delete mode 100644 bemade_mailcow_integration/views/res_config_settings_views.xml delete mode 100644 bemade_mailcow_integration/views/res_users_views.xml delete mode 100644 bemade_mailcow_integration/views/templates.xml delete mode 100644 bemade_mailcow_integration/views/views.xml delete mode 100644 bemade_margin_vendor_pricelist/__init__.py delete mode 100644 bemade_margin_vendor_pricelist/__manifest__.py delete mode 100644 bemade_margin_vendor_pricelist/i18n/bemade_margin_vendor_pricelist.pot delete mode 100644 bemade_margin_vendor_pricelist/i18n/fr.po delete mode 100644 bemade_margin_vendor_pricelist/migration18.md delete mode 100644 bemade_margin_vendor_pricelist/migrations/17.0.0.0.4/pre-migrate.py delete mode 100644 bemade_margin_vendor_pricelist/models/__init__.py delete mode 100644 bemade_margin_vendor_pricelist/models/sale_order.py delete mode 100644 bemade_margin_vendor_pricelist/models/sale_order_line.py delete mode 100644 bemade_margin_vendor_pricelist/tests/__init__.py delete mode 100644 bemade_margin_vendor_pricelist/tests/test_margins.py delete mode 100644 bemade_margin_vendor_pricelist/views/sale_order.xml delete mode 100644 bemade_module_linker/__init__.py delete mode 100644 bemade_module_linker/__manifest__.py delete mode 100644 bemade_module_linker/migration18.md delete mode 100644 bemade_module_linker/models/__init__.py delete mode 100644 bemade_module_linker/models/res_config_settings.py delete mode 100644 bemade_module_linker/models/res_modules_link.py delete mode 100644 bemade_module_linker/views/res_config_settings_views.xml delete mode 100644 bemade_multiple_billing_contacts/__init__.py delete mode 100644 bemade_multiple_billing_contacts/__manifest__.py delete mode 100644 bemade_multiple_billing_contacts/models/__init__.py delete mode 100644 bemade_multiple_billing_contacts/models/account_move.py delete mode 100644 bemade_multiple_billing_contacts/models/res_partner.py delete mode 100644 bemade_multiple_billing_contacts/models/sale_order.py delete mode 100644 bemade_multiple_billing_contacts/tests/__init__.py delete mode 100644 bemade_multiple_billing_contacts/tests/test_billing_contacts.py delete mode 100644 bemade_multiple_billing_contacts/views/account_move_views.xml delete mode 100644 bemade_multiple_billing_contacts/views/res_partner_views.xml delete mode 100644 bemade_multiple_billing_contacts/views/sale_order_views.xml delete mode 100644 bemade_odoo_partner_scrapper_js_only/__init__.py delete mode 100644 bemade_odoo_partner_scrapper_js_only/__manifest__.py delete mode 100644 bemade_open_project_details/__init__.py delete mode 100644 bemade_open_project_details/__manifest__.py delete mode 100644 bemade_open_project_details/views/project_project_views.xml delete mode 100644 bemade_packing_wizard/__init__.py delete mode 100644 bemade_packing_wizard/__manifest__.py delete mode 100644 bemade_packing_wizard/migration18.md delete mode 100644 bemade_packing_wizard/models/__init__.py delete mode 100644 bemade_packing_wizard/models/delivery_carrier.py delete mode 100644 bemade_packing_wizard/models/stock_quant_package.py delete mode 100644 bemade_packing_wizard/views/delivery_carrier_views.xml delete mode 100644 bemade_packing_wizard/views/stock_package_views.xml delete mode 100644 bemade_packing_wizard/wizard/__init__.py delete mode 100644 bemade_packing_wizard/wizard/choose_delivery_package.py delete mode 100644 bemade_packing_wizard/wizard/choose_delivery_package_views.xml delete mode 100644 bemade_partner_email_domain/__init__.py delete mode 100644 bemade_partner_email_domain/__manifest__.py delete mode 100644 bemade_partner_email_domain/controllers/__init__.py delete mode 100644 bemade_partner_email_domain/controllers/main.py delete mode 100644 bemade_partner_email_domain/data/mail_template_data.xml delete mode 100644 bemade_partner_email_domain/data/template_data.xml delete mode 100644 bemade_partner_email_domain/i18n/fr_CA.po delete mode 100644 bemade_partner_email_domain/migration18.md delete mode 100644 bemade_partner_email_domain/models/__init__.py delete mode 100644 bemade_partner_email_domain/models/res_partner.py delete mode 100644 bemade_partner_email_domain/views/res_partner_views.xml delete mode 100644 bemade_partner_root_ancestor/__init__.py delete mode 100644 bemade_partner_root_ancestor/__manifest__.py delete mode 100644 bemade_partner_root_ancestor/migration18.md delete mode 100644 bemade_partner_root_ancestor/models/__init__.py delete mode 100644 bemade_partner_root_ancestor/models/res_partner.py delete mode 100644 bemade_partner_root_ancestor/tests/__init__.py delete mode 100644 bemade_partner_root_ancestor/tests/test_root_ancestor.py delete mode 100644 bemade_picking_upstream/__init__.py delete mode 100644 bemade_picking_upstream/__manifest__.py delete mode 100644 bemade_picking_upstream/migration18.md delete mode 100644 bemade_picking_upstream/models/__init__.py delete mode 100644 bemade_picking_upstream/models/stock_picking.py delete mode 100644 bemade_picking_upstream/views/stock_picking_views.xml delete mode 100644 bemade_quotation_alternative/__init__.py delete mode 100644 bemade_quotation_alternative/__manifest__.py delete mode 100644 bemade_quotation_alternative/migration18.md delete mode 100644 bemade_quotation_alternative/models/__init__.py delete mode 100644 bemade_quotation_alternative/models/sale_order.py delete mode 100644 bemade_quotation_alternative/security/ir.model.access.csv delete mode 100644 bemade_quotation_alternative/views/sale_order_views.xml delete mode 100644 bemade_quotation_alternative/wizard/__init__.py delete mode 100644 bemade_quotation_alternative/wizard/sale_oder_line_duplication_wizard.py delete mode 100644 bemade_quotation_alternative/wizard/sale_order_duplication_wizard.py delete mode 100644 bemade_quotation_alternative/wizard/sale_order_duplication_wizard_view.xml delete mode 100644 bemade_reordering_rules_chatter/__init__.py delete mode 100644 bemade_reordering_rules_chatter/__manifest__.py delete mode 100644 bemade_reordering_rules_chatter/migration18.md delete mode 100644 bemade_reordering_rules_chatter/models/__init__.py delete mode 100644 bemade_reordering_rules_chatter/models/stock_warehouse_orderpoint.py delete mode 100644 bemade_reordering_rules_chatter/views/stock_warehouse_orderpoint.xml delete mode 100644 bemade_search_supplier_code/__init__.py delete mode 100644 bemade_search_supplier_code/__manifest__.py delete mode 100644 bemade_search_supplier_code/migration18.md delete mode 100644 bemade_search_supplier_code/models/__init__.py delete mode 100644 bemade_search_supplier_code/models/product_product.py delete mode 100644 bemade_search_supplier_code/views/product_product_views.xml delete mode 100644 bemade_so_and_po_only_company/__init__.py delete mode 100644 bemade_so_and_po_only_company/__manifest__.py delete mode 100644 bemade_so_and_po_only_company/migration18.md delete mode 100644 bemade_so_and_po_only_company/views/purchase_order.xml delete mode 100644 bemade_so_and_po_only_company/views/sale_order.xml delete mode 100644 bemade_so_followers_to_picking/__init__.py delete mode 100644 bemade_so_followers_to_picking/__manifest__.py delete mode 100644 bemade_so_followers_to_picking/migration18.md delete mode 100644 bemade_so_followers_to_picking/models/__init__.py delete mode 100644 bemade_so_followers_to_picking/models/stock_picking.py delete mode 100644 bemade_stock_quant_valuation/__init__.py delete mode 100644 bemade_stock_quant_valuation/__manifest__.py delete mode 100644 bemade_stock_quant_valuation/migration18.md delete mode 100644 bemade_stock_quant_valuation/models/__init__.py delete mode 100644 bemade_stock_quant_valuation/models/stock_quant.py delete mode 100644 bemade_stock_quant_valuation/views/stock_account_views.xml delete mode 100644 bemade_total_show_currency/__manifest__.py delete mode 100644 bemade_total_show_currency/views/total_template.xml delete mode 100644 bemade_update_validity_date_when_send_so/__init__.py delete mode 100644 bemade_update_validity_date_when_send_so/__manifest__.py delete mode 100644 bemade_update_validity_date_when_send_so/migration18.md delete mode 100644 bemade_update_validity_date_when_send_so/models/__init__.py delete mode 100644 bemade_update_validity_date_when_send_so/models/sale_order.py delete mode 100644 bemade_utils/__init__.py delete mode 100644 bemade_utils/__manifest__.py delete mode 100644 bemade_utils/migration18.md delete mode 100644 bemade_utils/tests/__init__.py delete mode 100644 bemade_utils/tests/test_patching_test.py delete mode 100644 bemade_utils/tools/__init__.py delete mode 100644 bemade_utils/tools/test.py delete mode 100644 client_name_on_manufacturing_orders/__init__.py delete mode 100644 client_name_on_manufacturing_orders/__manifest__.py delete mode 100644 client_name_on_manufacturing_orders/models/__init__.py delete mode 100644 client_name_on_manufacturing_orders/models/mrp_production.py delete mode 100644 client_name_on_manufacturing_orders/models/mrp_workorder.py delete mode 100644 client_name_on_manufacturing_orders/static/src/mrp_display/mrp_display.esm.js delete mode 100644 client_name_on_manufacturing_orders/static/src/mrp_display/mrp_display_action.esm.js delete mode 100644 client_name_on_manufacturing_orders/static/src/mrp_display/mrp_display_record.esm.js delete mode 100644 client_name_on_manufacturing_orders/static/src/mrp_display/mrp_display_record.xml delete mode 100644 client_name_on_manufacturing_orders/tests/__init__.py delete mode 100644 client_name_on_manufacturing_orders/tests/test_mrp_production.py delete mode 100644 client_name_on_manufacturing_orders/views/mrp_production_views.xml delete mode 100644 confirm_many2one_create/__init__.py delete mode 100644 confirm_many2one_create/__manifest__.py delete mode 100644 confirm_many2one_create/static/src/js/many2one_field.esm.js delete mode 100644 customer_applications/__init__.py delete mode 100644 customer_applications/__manifest__.py delete mode 100644 customer_applications/data/menus_actions.xml delete mode 100644 customer_applications/models/__init__.py delete mode 100644 customer_applications/models/application.py delete mode 100644 customer_applications/models/application_specification.py delete mode 100644 customer_applications/models/application_specification_key.py delete mode 100644 customer_applications/models/application_type.py delete mode 100644 customer_applications/models/res_partner.py delete mode 100644 customer_applications/security/groups.xml delete mode 100644 customer_applications/security/ir.model.access.csv delete mode 100644 customer_applications/tests/__init__.py delete mode 100644 customer_applications/tests/test_application.py delete mode 100644 customer_applications/views/application_type_views.xml delete mode 100644 customer_applications/views/application_views.xml delete mode 100644 customer_applications/views/res_partner_views.xml delete mode 100644 fsm_equipment/__init__.py delete mode 100644 fsm_equipment/__manifest__.py delete mode 100644 fsm_equipment/migrations/17.0.0.2.0/post-migrate.py delete mode 100644 fsm_equipment/models/__init__.py delete mode 100644 fsm_equipment/models/equipment.py delete mode 100644 fsm_equipment/models/equipment_tag.py delete mode 100644 fsm_equipment/models/res_partner.py delete mode 100644 fsm_equipment/models/task.py delete mode 100644 fsm_equipment/security/ir.model.access.csv delete mode 100644 fsm_equipment/views/equipment_views.xml delete mode 100644 fsm_equipment/views/project_task_views.xml delete mode 100644 fsm_equipment/views/res_partner_views.xml delete mode 100644 fsm_visit_confirmation/__init__.py delete mode 100644 fsm_visit_confirmation/__manifest__.py delete mode 100644 fsm_visit_confirmation/controllers/__init__.py delete mode 100644 fsm_visit_confirmation/controllers/portal.py delete mode 100644 fsm_visit_confirmation/data/mail_templates.xml delete mode 100644 fsm_visit_confirmation/models/__init__.py delete mode 100644 fsm_visit_confirmation/models/project_task.py delete mode 100644 fsm_visit_confirmation/views/project_portal_project_task_templates.xml delete mode 100644 impersonate_user/__init__.py delete mode 100644 impersonate_user/__manifest__.py delete mode 100644 impersonate_user/controllers/__init__.py delete mode 100644 impersonate_user/controllers/main.py delete mode 100644 impersonate_user/models/__init__.py delete mode 100644 impersonate_user/models/ir_http.py delete mode 100644 impersonate_user/models/res_users.py delete mode 100644 impersonate_user/static/src/systray_unimpersonate_button.esm.js delete mode 100644 impersonate_user/static/src/systray_unimpersonate_button.xml delete mode 100644 impersonate_user/views/impersonation_views.xml delete mode 100644 improved_mo_origin/__init__.py delete mode 100644 improved_mo_origin/__manifest__.py delete mode 100644 improved_mo_origin/models/__init__.py delete mode 100644 improved_mo_origin/models/mrp_production.py delete mode 100644 improved_mo_origin/static/src/mrp_display/mrp_display.esm.js delete mode 100644 improved_mo_origin/static/src/mrp_display/mrp_display_action.esm.js delete mode 100644 improved_mo_origin/static/src/mrp_display/mrp_display_record.esm.js delete mode 100644 improved_mo_origin/static/src/mrp_display/mrp_display_record.xml delete mode 100644 improved_mo_origin/tests/__init__.py delete mode 100644 improved_mo_origin/tests/test_mrp_production.py delete mode 100644 improved_mo_origin/views/mrp_production_views.xml delete mode 100644 interactive_discuss_ai/__init__.py delete mode 100644 interactive_discuss_ai/__manifest__.py delete mode 100644 interactive_discuss_ai/models/__init__.py delete mode 100644 interactive_discuss_ai/models/ai_assistant.py delete mode 100644 interactive_discuss_ai/models/ai_config.py delete mode 100644 interactive_discuss_ai/models/ai_service.py delete mode 100644 interactive_discuss_ai/security/ir.model.access.csv delete mode 100644 interactive_discuss_ai/static/src/js/ai_assistant_chat.js delete mode 100644 interactive_discuss_ai/static/src/xml/ai_assistant_chat.xml delete mode 100644 interactive_discuss_ai/views/ai_assistant_views.xml delete mode 100644 interactive_discuss_ai/views/ai_config_views.xml delete mode 100644 mo_back_to_draft/__init__.py delete mode 100644 mo_back_to_draft/__manifest__.py delete mode 100644 mo_back_to_draft/models/__init__.py delete mode 100644 mo_back_to_draft/models/mrp_production.py delete mode 100644 mo_back_to_draft/views/mrp_production_views.xml delete mode 100644 multi_account_statement_import/__init__.py delete mode 100644 multi_account_statement_import/__manifest__.py delete mode 100644 odoo_proxmox_manager/README.md delete mode 100644 odoo_proxmox_manager/__init__.py delete mode 100644 odoo_proxmox_manager/__manifest__.py delete mode 100644 odoo_proxmox_manager/controllers/__init__.py delete mode 100644 odoo_proxmox_manager/controllers/main.py delete mode 100644 odoo_proxmox_manager/models/__init__.py delete mode 100644 odoo_proxmox_manager/models/proxmox_cluster.py delete mode 100644 odoo_proxmox_manager/models/proxmox_server.py delete mode 100644 odoo_proxmox_manager/models/proxmox_vm.py delete mode 100644 odoo_proxmox_manager/requirements.txt delete mode 100644 odoo_proxmox_manager/security/ir.model.access.csv delete mode 100644 odoo_proxmox_manager/security/proxmox_security.xml delete mode 100644 odoo_proxmox_manager/static/description/icon.png delete mode 100644 odoo_proxmox_manager/static/src/components/proxmox_server_list/proxmox_server_list.js delete mode 100644 odoo_proxmox_manager/static/src/components/proxmox_server_list/proxmox_server_list.xml delete mode 100644 odoo_proxmox_manager/static/src/js/dashboard_view.js delete mode 100644 odoo_proxmox_manager/static/src/js/proxmox_server_list.js delete mode 100644 odoo_proxmox_manager/static/src/scss/dashboard.scss delete mode 100644 odoo_proxmox_manager/static/src/xml/dashboard.xml delete mode 100644 odoo_proxmox_manager/static/src/xml/proxmox_server_list.xml delete mode 100644 odoo_proxmox_manager/views/proxmox_cluster_views.xml delete mode 100644 odoo_proxmox_manager/views/proxmox_menus.xml delete mode 100644 odoo_proxmox_manager/views/proxmox_server_views.xml delete mode 100644 odoo_proxmox_manager/views/proxmox_vm_views.xml delete mode 100644 odoo_proxmox_manager/wizard/__init__.py delete mode 100644 odoo_proxmox_manager/wizard/proxmox_server_wizard.py delete mode 100644 odoo_proxmox_manager/wizard/proxmox_server_wizard_views.xml delete mode 100644 partner_equipment_applications/__init__.py delete mode 100644 partner_equipment_applications/__manifest__.py delete mode 100644 partner_equipment_applications/models/__init__.py delete mode 100644 partner_equipment_applications/models/application.py delete mode 100644 partner_equipment_applications/models/equipment.py delete mode 100644 partner_equipment_applications/views/application_views.xml delete mode 100644 partner_equipment_applications/views/equipment_views.xml delete mode 100644 portal_hide_draft_order_details/__init__.py delete mode 100644 portal_hide_draft_order_details/__manifest__.py delete mode 100644 portal_hide_draft_order_details/i18n/fr.po delete mode 100644 portal_hide_draft_order_details/i18n/portal_hide_draft_order_details.pot delete mode 100644 portal_hide_draft_order_details/models/__init__.py delete mode 100644 portal_hide_draft_order_details/models/res_company.py delete mode 100644 portal_hide_draft_order_details/views/sale_order_portal_templates.xml delete mode 100644 portal_hide_draft_order_details/wizard/__init__.py delete mode 100644 portal_hide_draft_order_details/wizard/res_config_settings.py delete mode 100644 portal_hide_draft_order_details/wizard/res_config_settings.xml delete mode 100644 price_update_notifications/__init__.py delete mode 100644 price_update_notifications/__manifest__.py delete mode 100644 price_update_notifications/data/email_templates.xml delete mode 100644 price_update_notifications/data/ir_cron_data.xml delete mode 100644 price_update_notifications/i18n/fr.po delete mode 100644 price_update_notifications/i18n/price_update_notifications.pot delete mode 100644 price_update_notifications/models/__init__.py delete mode 100644 price_update_notifications/models/price_notice_mailing.py delete mode 100644 price_update_notifications/security/ir.model.access.csv delete mode 100644 price_update_notifications/views/price_notice_mailing_views.xml delete mode 100644 price_update_notifications/wizard/__init__.py delete mode 100644 price_update_notifications/wizard/send_price_update_notice.py delete mode 100644 price_update_notifications/wizard/send_price_update_notice_views.xml delete mode 100644 recursive_tree_view/README.md delete mode 100644 recursive_tree_view/__init__.py delete mode 100644 recursive_tree_view/__manifest__.py delete mode 100644 recursive_tree_view/hierarchy-svgrepo-com.svg delete mode 100644 recursive_tree_view/models/__init__.py delete mode 100644 recursive_tree_view/models/models.py delete mode 100644 recursive_tree_view/rng/tree_view.rng delete mode 100644 recursive_tree_view/static/description/icon.png delete mode 100644 recursive_tree_view/static/description/images/collapsed.png delete mode 100644 recursive_tree_view/static/description/images/expanded.png delete mode 100644 recursive_tree_view/static/description/images/main_screenshot.png delete mode 100644 recursive_tree_view/static/description/index.html delete mode 100644 recursive_tree_view/static/src/list_arch_parser.js delete mode 100644 recursive_tree_view/static/src/list_controller.js delete mode 100644 recursive_tree_view/static/src/list_renderer.js delete mode 100644 recursive_tree_view/static/src/recursive_tree_templates.xml delete mode 100644 recursive_tree_view/static/src/relational_model.js delete mode 100644 recursive_tree_view/static/src/tree_recursive_styles.css delete mode 100644 recursive_tree_view/validation.py delete mode 100644 stock_valuation_location/__init__.py delete mode 100644 stock_valuation_location/__manifest__.py delete mode 100644 stock_valuation_location/models/__init__.py delete mode 100644 stock_valuation_location/models/stock_valuation_layer.py delete mode 100644 stock_valuation_location/views/stock_valuation_layer_views.xml delete mode 100644 temporary_change_image_size/__manifest__.py delete mode 100644 temporary_change_image_size/views/product_template_views.xml delete mode 100644 wazo_integration/__init__.py delete mode 100644 wazo_integration/__manifest__.py delete mode 100644 wazo_integration/models/__init__.py delete mode 100644 wazo_integration/models/res_company.py delete mode 100644 wazo_integration/models/res_config_settings.py delete mode 100644 wazo_integration/views/res_config_settings_views.xml diff --git a/account_credit_hold/__init__.py b/account_credit_hold/__init__.py deleted file mode 100644 index 0650744..0000000 --- a/account_credit_hold/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from . import models diff --git a/account_credit_hold/__manifest__.py b/account_credit_hold/__manifest__.py deleted file mode 100644 index e60291f..0000000 --- a/account_credit_hold/__manifest__.py +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "Account Credit Hold", - "version": "17.0.1.1.1", - "summary": "Allows setting clients on credit hold, blocking the ability confirm a new sales order.", - "category": "Accounting/Accounting", - "author": "Bemade Inc.", - "maintainer": "Marc Durepos ", - "website": "http://www.bemade.org", - "license": "LGPL-3", - "depends": ["sale", "account_followup", "stock"], - "data": [ - "views/account_followup_views.xml", - "views/sale_order_views.xml", - "views/res_partner_views.xml", - "views/stock_picking_views.xml", - ], - "demo": [], - "installable": True, - "auto_install": False, -} diff --git a/account_credit_hold/migration18.md b/account_credit_hold/migration18.md deleted file mode 100644 index b6f7efd..0000000 --- a/account_credit_hold/migration18.md +++ /dev/null @@ -1,246 +0,0 @@ -# Migration vers Odoo 18.0 - Module account_credit_hold - -## Fonctionnalités -- Ajoute un champ "Place on Credit Hold" sur les lignes de suivi de compte (account_followup.followup.line) -- Ajoute des champs et fonctionnalités sur les partenaires: - - postpone_hold_until: Date de report du blocage - - hold_bg: Champ technique pour le statut de blocage - - on_hold: État calculé du blocage de crédit -- Bloque la confirmation des commandes de vente si le client est en blocage de crédit -- Ajoute des indicateurs visuels (ruban rouge) sur: - - Commandes de vente - - Fiches partenaires - - Transferts de stock -- Ajoute des boutons pour mettre/lever le blocage de crédit dans la vue de suivi des comptes - -## Analyse pour la Migration - -### Dépendances -- sale -- account_followup -- stock - -### Changements Techniques Requis -1. Mettre à jour la version dans __manifest__.py vers 18.0 -2. Vérifier la compatibilité des vues XML avec Odoo 18.0 -3. Vérifier si des changements dans l'API account_followup en 18.0 - -### Points d'Attention -1. Le module utilise l'héritage de vues et de modèles standard d'Odoo: - - account_followup.followup.line - - res.partner - - sale.order - - stock.picking - - account.followup.report - -2. Fonctionnalités critiques à tester après migration: - - Calcul automatique du statut on_hold - - Blocage de la confirmation des commandes - - Nettoyage automatique des reports de blocage expirés (@api.autovacuum) - - Affichage correct des rubans d'avertissement - - Propagation du statut hold aux contacts liés (commercial_partner_id) - -3. Implémentation Technique: - - Utilisation de champs computed avec store=True et compute_sudo=True - - Mécanisme de nettoyage automatique via @api.autovacuum - - Héritage de _execute_followup_partner pour automatisation du hold - - Messages de chatter automatiques lors des changements de statut - -4. Points Spécifiques aux Vues: - - Utilisation du widget web_ribbon pour les indicateurs visuels - - Boutons conditionnels dans la vue de suivi des comptes - - Champs invisibles pour la logique d'affichage (hold_bg, on_hold) - - Groupes de sécurité sur le champ postpone_hold_until - -## Questions et Considérations - -1. Vérifier si Odoo 18.0 n'a pas introduit des fonctionnalités natives similaires dans account_followup: - - Système de blocage automatique des clients - - Gestion des périodes de grâce - - Indicateurs visuels de blocage - -2. Points à valider: - - La structure des vues héritées est-elle identique en 18.0? - - Les champs related et computed fonctionnent-ils de la même manière? - - Le système de suivi des comptes (account_followup) a-t-il évolué? - - Le décorateur @api.autovacuum est-il toujours supporté? - - Le widget web_ribbon utilise-t-il toujours la même API? - -3. Considérations d'Architecture: - - Le mécanisme de propagation du statut hold via commercial_partner_id est-il optimal? - - Possibilité de simplifier la logique de calcul du statut hold? - - Pertinence de stocker le champ hold_bg vs calcul à la demande - -4. Alternatives Potentielles: - - Utiliser le système de credit limit natif d'Odoo avec des règles personnalisées? - - Intégrer avec le système de blocage des partenaires d'Odoo? - - Utiliser les étapes de facturation (invoice_status) plutôt qu'un champ séparé? - -## Alternatives Natives Odoo 18.0 - -### Système de Crédit Natif -1. Odoo 18.0 inclut des fonctionnalités natives de gestion de crédit: - - Champ `credit_limit` sur res.partner - - Configuration du blocage au niveau de la société - - Règles de blocage basées sur: - - Montant de crédit maximum - - Factures échues - - Âge des factures - -2. Possibilités d'utilisation des fonctionnalités natives: - - Utiliser `credit_limit` au lieu de `on_hold` - - Configurer les règles de blocage dans la configuration de la comptabilité - - Utiliser les notifications natives de dépassement de crédit - -### Améliorations Possibles -1. Intégration avec le système natif: - - Synchroniser notre `on_hold` avec le système natif de blocage - - Utiliser les API natives de vérification de crédit - - Conserver uniquement les fonctionnalités non disponibles nativement - -2. Simplification du code: - - Remplacer les champs custom par des champs natifs quand possible - - Utiliser le système d'alertes natif pour les rubans - - Intégrer avec le système de workflow natif - -## Recommandations pour la Migration - -### Approche "Vanilla First" -1. Évaluer chaque fonctionnalité custom: - - Est-elle disponible nativement dans Odoo 18.0? - - Peut-elle être remplacée par une configuration native? - - Le besoin business existe-t-il toujours? - -2. Prioriser l'utilisation des fonctionnalités natives: - - Système de crédit natif - - Système de workflow natif - - API de notification standard - - Widgets standards de l'interface - -### Modifications Techniques Recommandées -1. Remplacer les attributs obsolètes: - - Supprimer les `attrs` dans les vues (Odoo 16.0+) - - Utiliser `list` au lieu de `tree` (Odoo 17.0+) - - Adapter les widgets aux nouvelles conventions - -2. Optimisation des performances: - - Utiliser les indexes de base de données appropriés - - Optimiser les recherches et calculs - - Implémenter le lazy loading quand possible - -### Plan de Test Approfondi -1. Tests fonctionnels: - - Validation du comportement avec le système natif - - Tests de régression sur les fonctionnalités custom - - Vérification des performances - -2. Tests d'intégration: - - Interaction avec le workflow de vente - - Synchronisation avec la comptabilité - - Comportement avec les autres modules - -## État de la Migration -⚪ En analyse préliminaire - -## Plan de Migration - -### Étape 1: Analyse des Changements Odoo 18.0 -- [ ] Examiner les changements dans account_followup -- [ ] Vérifier les nouvelles fonctionnalités de gestion de crédit -- [ ] Analyser les modifications des vues héritées - -### Étape 2: Adaptation Technique -- [ ] Mise à jour du manifeste -- [ ] Vérification de la compatibilité des décorateurs -- [ ] Adaptation des vues XML si nécessaire -- [ ] Test des champs computed et related - -### Étape 3: Tests Fonctionnels -- [ ] Validation du mécanisme de hold -- [ ] Test de la propagation aux contacts -- [ ] Vérification des nettoyages automatiques -- [ ] Test des indicateurs visuels - -### Étape 4: Optimisation -- [ ] Évaluation des alternatives natives -- [ ] Simplification potentielle du code -- [ ] Amélioration des performances - -## Notes de Version -- Version originale: 17.0.1.1.1 -- Dernière analyse: 26/01/2025 - -## Fonctionnalités Natives dans Odoo 18.0 - -Odoo 18.0 inclut nativement plusieurs fonctionnalités de gestion du crédit : - -1. **Gestion des Limites de Crédit** - - Champ `credit_limit` sur les partenaires - - Champ `use_partner_credit_limit` pour activer/désactiver par partenaire - - Configuration globale `account_use_credit_limit` au niveau de la société - - Champ `credit` pour le total des créances - - Champ `trust` pour le niveau de confiance du débiteur - -2. **Visibilité et Contrôle** - - Champ `show_credit_limit` basé sur la configuration de la société - - Groupes de sécurité pour la gestion des limites de crédit - -### Différences avec Notre Module - -1. **Fonctionnalités à Migrer** - - [ ] Indicateurs visuels spécifiques pour les clients en dépassement - - [ ] Blocage automatique des commandes en dépassement - - [ ] Workflow d'approbation personnalisé - -2. **Fonctionnalités à Adapter** - - [ ] Utiliser les champs natifs plutôt que nos champs customs - - [ ] Intégrer nos règles de blocage avec le système natif - - [ ] Adapter les rapports et vues pour utiliser les champs natifs - -## Plan de Migration - -### Phase 1 : Préparation -1. **Analyse des Données** - - [ ] Identifier les clients avec des limites de crédit - - [ ] Mapper les champs actuels vers les champs natifs - - [ ] Lister les règles de blocage personnalisées - -2. **Configuration** - - [ ] Activer la gestion du crédit dans la configuration de la société - - [ ] Configurer les groupes de sécurité appropriés - - [ ] Préparer les scripts de migration des données - -### Phase 2 : Migration -1. **Migration des Données** - - [ ] Transférer les limites de crédit vers le champ natif - - [ ] Migrer les configurations de blocage - - [ ] Mettre à jour les vues et rapports - -2. **Développement** - - [ ] Adapter le code de blocage des commandes - - [ ] Implémenter les indicateurs visuels manquants - - [ ] Ajouter les fonctionnalités spécifiques non disponibles nativement - -### Phase 3 : Tests -1. **Validation Fonctionnelle** - - [ ] Tester les limites de crédit - - [ ] Vérifier le blocage des commandes - - [ ] Valider les workflows d'approbation - -2. **Tests d'Intégration** - - [ ] Tester avec les autres modules - - [ ] Vérifier la compatibilité avec les processus existants - -## État de la Migration -🟡 En cours d'analyse - Utilisation partielle des fonctionnalités natives - -## Notes Importantes -- La gestion du crédit est maintenant une fonctionnalité native d'Odoo -- Certaines fonctionnalités spécifiques devront être maintenues -- L'approche recommandée est d'utiliser au maximum les fonctionnalités natives et de ne conserver que les extensions nécessaires - -## Prochaines Étapes -1. Valider l'approche avec l'équipe -2. Créer les scripts de migration des données -3. Développer les fonctionnalités manquantes -4. Planifier la formation des utilisateurs \ No newline at end of file diff --git a/account_credit_hold/models/__init__.py b/account_credit_hold/models/__init__.py deleted file mode 100644 index 0c2c11c..0000000 --- a/account_credit_hold/models/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from . import account_followup -from . import res_partner -from . import sale_order -from . import stock_picking -from . import account_followup_report diff --git a/account_credit_hold/models/account_followup.py b/account_credit_hold/models/account_followup.py deleted file mode 100644 index 5af3363..0000000 --- a/account_credit_hold/models/account_followup.py +++ /dev/null @@ -1,8 +0,0 @@ -from odoo import fields, models, api - - -class FollowupLine(models.Model): - _inherit = 'account_followup.followup.line' - - account_hold = fields.Boolean(string="Place on Credit Hold", - help="Place clients on account hold, restricting confirmation of new orders.") diff --git a/account_credit_hold/models/account_followup_report.py b/account_credit_hold/models/account_followup_report.py deleted file mode 100644 index a28efdc..0000000 --- a/account_credit_hold/models/account_followup_report.py +++ /dev/null @@ -1,12 +0,0 @@ -from odoo import models, fields, api, _ - - -class FollowUpReport(models.AbstractModel): - _inherit = 'account.followup.report' - - def _get_line_info(self, followup_line): - res = super()._get_line_info(followup_line) - res.update({ - 'credit_hold': followup_line.account_hold - }) - return res diff --git a/account_credit_hold/models/res_partner.py b/account_credit_hold/models/res_partner.py deleted file mode 100644 index 7cdf9a1..0000000 --- a/account_credit_hold/models/res_partner.py +++ /dev/null @@ -1,80 +0,0 @@ -from odoo import fields, models, api, _ -from datetime import date - - -class Partner(models.Model): - _inherit = "res.partner" - - postpone_hold_until = fields.Date( - string="Postpone Hold", - help="Grace period specific to this partner despite unpaid invoices.", - tracking=True, - ) - - hold_bg = fields.Boolean( - string="Hold (technical)", - compute="_compute_hold_bg", - store=True, - default=False, - compute_sudo=True, - tracking=True, - ) - on_hold = fields.Boolean( - string="Account on Hold", - help="Client account is on hold for unpaid overdue invoices.", - compute="_compute_on_hold", - compute_sudo=True, - ) - - @api.depends("postpone_hold_until", "hold_bg") - def _compute_on_hold(self): - # manually re-compute hold_bg since followup_status doesn't get updated in Python but gets recalculated - # by an SQL query every time - self._compute_hold_bg() - for rec in self: - # If the parent company is on hold, so are all its sub-contacts and subsidiaries - if rec.commercial_partner_id and rec.commercial_partner_id.on_hold: - rec.on_hold = True - return - # If there is no parent company or the parent is not on hold, we compute for ourselves - if rec.hold_bg and not ( - rec.postpone_hold_until and rec.postpone_hold_until > date.today() - ): - rec.on_hold = True - else: - if rec.on_hold: - rec.message_post(_("Credit hold lifted.")) - rec.on_hold = False - - @api.autovacuum - def _cleanup_expired_hold_postponements(self): - expired_holds = self.search([("postpone_hold_until", "<=", date.today())]) - expired_holds.write({"postpone_hold_until": False}) - - def action_credit_hold(self): - for rec in self: - rec.hold_bg = True - rec.message_post(body=_("Placed on credit hold.")) - - def action_lift_credit_hold(self): - for rec in self: - rec.hold_bg = False - rec.message_post(body=_("Credit hold lifted.")) - - def _execute_followup_partner(self, options=None): - res = super()._execute_followup_partner(options) - if self.followup_status == "in_need_of_action": - if self.followup_line_id.account_hold: - self.action_credit_hold() - return res - - @api.depends("followup_status", "followup_line_id") - def _compute_hold_bg(self): - first_followup_level = self._get_first_followup_level() - for rec in self: - prev_hold_bg = rec.hold_bg - level = rec.followup_line_id - if rec.followup_status == "no_action_needed" and not level: - rec.hold_bg = False - else: - rec.hold_bg = prev_hold_bg diff --git a/account_credit_hold/models/sale_order.py b/account_credit_hold/models/sale_order.py deleted file mode 100644 index 390e97e..0000000 --- a/account_credit_hold/models/sale_order.py +++ /dev/null @@ -1,17 +0,0 @@ -from odoo import fields, models, api, _ -from odoo.exceptions import UserError - - -class SaleOrder(models.Model): - _inherit = "sale.order" - - client_on_hold = fields.Boolean(string='Client on Hold', - help="Whether or not a client has been put on hold due to unpaid invoices.", - related="partner_id.on_hold") - - @api.depends('client_on_hold') - def action_confirm(self): - if any(self.mapped('client_on_hold')): - raise UserError(_("This client is on credit hold. No new orders can be confirmed until past-due invoices " - "are paid or the accounting team postpones the hold.")) - super().action_confirm() diff --git a/account_credit_hold/models/stock_picking.py b/account_credit_hold/models/stock_picking.py deleted file mode 100644 index 0d46e32..0000000 --- a/account_credit_hold/models/stock_picking.py +++ /dev/null @@ -1,9 +0,0 @@ -from odoo import fields, models, api - - -class ModelName(models.Model): - _inherit = "stock.picking" - - client_on_hold = fields.Boolean(string='Client on Hold', - help="Whether or not a client has been put on hold due to unpaid invoices.", - related="partner_id.on_hold") diff --git a/account_credit_hold/readme.md b/account_credit_hold/readme.md deleted file mode 100644 index db624c3..0000000 --- a/account_credit_hold/readme.md +++ /dev/null @@ -1,40 +0,0 @@ -# Overview - -This module adds the notion of placing clients on credit hold to the followup levels from the Odoo Enterprise -account_followup module. It adds an option to followup levels to mark clients matching the followup criteria as on -credit hold. This hold restricts the confirmation of new sales orders for these clients. - -Accountant and admin users can set a date until which the account hold will be -postponed on a specific partner's form view. This effectively gives clients an extra -grace period, allowing orders to be confirmed until the period ends. - -# Change Log - -## 17.0.1.0.0 (2024-05-15) - -Various modifications to adapt code to Odoo 17.0 - -## 15.0.2.0.0 (2023-05-04) - -Complete remake of the module, making the "Credit Hold" an action that is either manually or -automatically triggered from the Accounting > Followup Reports section or by setting the automatic application field -on followup levels. - -## 15.0.1.1.0 (2023-05-03) - -Adds a ribbon to stock pickings for clients on hold, and therefore a dependency on stock. - -## 15.0.1.0.2 (2023-05-03) - -Fix to sale order view and sale order confirmation for clients not on hold. - -## 15.0.1.0.1 (2023-05-03) - -Fix clients on hold when status is "outstanding_invoices". - -## 15.0.1.0.0 (2023-05-02) Initial Release - -Initial release of the module, including a setting on follow-up levels to toggle placing on credit hold. Blocks -the confirmation of sales orders for clients on credit hold. Red "Credit Hold" banner appears on sales orders and -partner form view when a client is on credit hold. Credit hold can be postponed by setting the "Postpone Hold" field -on the partner form view. \ No newline at end of file diff --git a/account_credit_hold/views/account_followup_views.xml b/account_credit_hold/views/account_followup_views.xml deleted file mode 100644 index 962cd79..0000000 --- a/account_credit_hold/views/account_followup_views.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - account_credit_hold.account_followup_line.form - account_followup.followup.line - - - - - - - - customer.statements.form.view.inherit - res.partner - - - - -