odoo 16 setup

This commit is contained in:
Florian du Garage Num 2024-01-26 23:06:13 +01:00
parent 0febc9a6bd
commit caa7c989a7
8 changed files with 452 additions and 82 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

View File

@ -0,0 +1,23 @@
# Paramétrage d'odoo 16
## Activation du mode développeur
???example "Activer le mode développeur pour accéder au paramétrage avancé"
Accéder au menu __Paramètres__ > __Paramètres généraux__ > __Outils développeur__
![Capture d'écran de la page Paramètres, avec un cadre de surbrillance autour de l'option "activer le mode développeur](odoo16-setup-adminmode.png)
## Configuration des serveurs mail
???example "Accéder au menu des paramètres techniques"
Accéder au menu __Paramètres__ > __Technique__ > __Email__ > __Serveur de messagerie sortant__
![Capture d'écran du chemin d'accès au menu de paramétrage du serveur d'emails SMTP](odoo16-setup-smtpsettingsmenu.png)
## Configuration de la société
???example "Accéder au menu de paramétrage des sociétés"
Accéder au menu __Paramètres__ > __Utilisateurs et Sociétés__ > __Sociétés__
![Capture d'écran du chemin d'accès au menu de paramétrage des sociétés](odoo16-setup-configurecompany.png)
???example "Remplissez les informations pertinentes"
![Capture d'écran du formulaire de paramétrage d'une société](odoo16-setup-configurecompanyform.png)

View File

@ -165,8 +165,6 @@ Dans le dossier `layouts` on créé l'arborescence suivante:
</footer>
</div>
</body>
</html>
```
### Le CSS
@ -179,6 +177,7 @@ Dans le dossier `layouts` on créé l'arborescence suivante:
{{ $bundle := slice $style $base | resources.Concat "css/bundle.css" }}
{{ $css := $bundle | resources.Minify }}
<link rel="stylesheet" href="{{ $css.Permalink }}">
```
=== "Explication"
On appelle les fichiers `style.css` et `base.css` dans `assets/css/` et on les minimise, après les avoir concaténés.

View File

@ -48,7 +48,6 @@ Créer le fichier `docker-compose.yml`:
restart: always # run as a service
#volumes:
# - ./postgresql:/var/lib/postgresql/data
odoo16:
image: odoo:16
user: root
@ -58,7 +57,7 @@ Créer le fichier `docker-compose.yml`:
- "10014:8069"
- "20014:8072" # live chat
tty: true
command: --
command: --load=base,web,bi_view_editor
# command: odoo scaffold /mnt/extra-addons/custom_module
environment:
- HOST=db

View File

@ -14,9 +14,16 @@ Pour cela nous allons:
```
astor
python-stdnum>=1.18
python-magic
requests_oauthlib
factur-x
unicodecsv
email-validator
py3o.template
py3o.formats
pypdf2
python-jose
plotly==5.4.0
```
### Fichier `entrypoint.sh`
@ -98,127 +105,469 @@ Ce script python va permettre d'automatiser l'installation des modules de base
# Applications to install
APPS_TO_INSTALL = [
'account',
'sale_management',
'purchase',
'hr',
'contacts',
'hr_expense',
'project',
'stock',
'membership',
'account',
'crm',
'website',
'stock',
'purchase',
'project',
'mass_mailing',
'partner_autocomplete',
'hr_expense',
'hr_holidays',
'hr_recruitment',
'hr',
'website_slides',
'mail',
'contacts',
'calendar',
'survey',
'board',
'mass_mailing_sms',
'note',
'website_forum',
'hr_skills',
'hr_holidays',
'website_hr_recruitment',
'hr_contract',
'website_slides',
'board',
'stock_account',
'website_sms',
'purchase_stock',
'account_edi',
'account_edi_facturx',
'account_edi_ubl',
'account_payment',
'account_qr_code_sepa',
'analytic',
'attachment_indexation',
'auth_oauth',
'auth_signup',
'auth_totp',
'auth_totp_portal',
'barcodes',
'base',
'base_automation',
'base_iban',
'base_import',
'base_setup',
'base_vat',
'bus',
'calendar_sms',
'delivery',
'l10n_fr'
'digest',
'fetchmail',
'google_recaptcha',
'hr_gamification',
'hr_org_chart',
'hr_skills_slides',
'hr_skills_survey',
'iap',
'iap_mail',
'l10n_fr',
'link_tracker',
'mail_bot',
'mail_bot_hr',
'mass_mailing_sale',
'mass_mailing_slides',
'payment',
'payment_fix_register_token',
'payment_transfer',
'portal_rating',
'procurement_jit',
'product',
'rating',
'resource',
'sale',
'sale_expense',
'sale_project',
'sale_purchase',
'sale_purchase_stock',
'sale_stock',
'sales_team',
'sms',
'snailmail',
'snailmail_account',
'social_media',
'stock_sms',
'uom',
'utm',
'web',
'web_editor',
'web_kanban_gauge',
'web_tour',
'web_unsplash',
'website_form',
'website_form_project',
'website_links',
'website_mail',
'website_mass_mailing',
'website_partner',
'website_profile',
'website_slides_forum',
'website_slides_survey',
'gamification',
'portal',
'http_routing',
'phone_validation',
'partner_autocomplete'
]
MODULES_TO_INSTALL = [
{'url': 'https://github.com/odoomates/odooapps',
'apps': [
{'name': 'accounting_pdf_reports'},
{'name': 'om_account_asset'},
{'name': 'om_account_bank_statement_import'},
{'name': 'om_account_budget'},
{'name': 'om_fiscal_year'},
{'name': 'om_recurring_payments'},
{'name': 'om_account_daily_reports'},
{'name': 'om_account_followup'},
{'name': 'om_account_accountant', 'dir': 'om_account_accountant'},
{'name': 'om_hr_payroll'},
{'name': 'om_hr_payroll_account'}
{ 'url': 'https://github.com/OCA/account-analytic',
'apps': [
{'name': 'account_move_update_analytic'},
{'name': '/analytic_distribution_widget_remove_save'},
]},
#{'url': 'https://github.com/CybroOdoo/CybroAddons',
#'apps': [
# {'name': 'activity_reminder'},
#]},
{'url': 'https://github.com/OCA/server-tools',
'apps': [
{'name': 'base_view_inheritance_extension'}
{ 'url': 'https://github.com/OCA/account-budgeting',
'apps': [
{'name': 'account_budget_oca'},
]},
{'url': 'https://github.com/OCA/server-env',
{ 'url': 'https://github.com/OCA/account-closing',
'apps': [
{'name': 'server_environment'}
{'name': 'account_cutoff_base'},
{'name': 'account_invoice_start_end_dates'},
{'name': 'account_cutoff_start_end_dates'},
{'name': 'account_cutoff_accrual_picking'},
{'name': 'account_cutoff_accrual_subscription'},
]},
{'url': 'https://github.com/OCA/edi',
'apps': [
{'name': 'account_einvoice_generate'},
{'name': 'account_invoice_facturx'},
{'name': 'base_facturx'}
{ 'url': 'https://github.com/OCA/account-financial-reporting',
'apps': [
{'name': 'account_financial_report'},
{'name': 'mis_builder_cash_flow'},
]},
{'url': 'https://github.com/OCA/account-invoicing',
'apps': [
{'name': 'account_invoice_transmit_method'}
{ 'url': 'https://github.com/OCA/account-financial-tools',
'apps': [
{'name': 'account_asset_management'},
{'name': 'account_cash_deposit'},
{'name': 'account_fiscal_year'},
{'name': 'account_move_budget'},
{'name': 'account_move_line_purchase_info'},
{'name': 'account_move_line_sale_info'},
{'name': 'account_move_template'},
{'name': 'account_netting'},
{'name': 'account_template_active'},
{'name': 'account_usability'},
]},
{ 'url': 'https://github.com/OCA/account-invoice-reporting',
'apps': [
{'name': 'account_comment_template'},
{'name': 'partner_time_to_pay'},
{'name': 'account_invoice_line_report'},
]},
{ 'url': 'https://github.com/OCA/account-invoicing',
'apps': [
{'name': 'account_invoice_fixed_discount'},
{'name': 'account_invoice_payment_term_date_due'},
{'name': 'account_invoice_refund_line_selection'},
{'name': 'account_invoice_refund_link'},
{'name': 'account_menu_invoice_refund'},
{'name': 'account_move_tier_validation'},
{'name': 'account_tax_group_widget_base_amount'},
{'name': 'partner_invoicing_mode'},
{'name': 'partner_invoicing_mode_monthly'},
]},
{ 'url': 'https://github.com/OCA/account-financial-reporting',
'apps': [
{'name': 'account_financial_report'},
{'name': 'mis_builder_cash_flow'},
]},
{ 'url': 'https://github.com/OCA/account-payment',
'apps': [
{'name': 'account_payment_notification'},
{'name': 'account_due_list'},
]},
{'url': 'https://github.com/OCA/account-reconcile',
'apps': [
{'name': 'account_statement_base'}
]},
{'url': 'https://github.com/OCA/reporting-engine',
'apps': [
{'name': 'report_xlsx'}
]},
{'url': 'https://github.com/OCA/mis-builder',
'apps': [
{'name': 'mis_builder'}
{'name': 'account_reconciliation_widget'},
{'name': 'account_partner_reconcile'},
{'name': 'account_move_base_import'},
{'name': 'account_move_line_reconcile_manual'},
{'name': 'account_reconcile_oca'},
{'name': 'account_statement_base'},
]},
{'url': 'https://github.com/OCA/agreement',
'apps': [
{'name': 'agreement'},
{'name': 'agreement_legal'},
]},
{'url': 'https://github.com/OCA/bank-payment',
'apps': [
{'name': 'account_payment_mode'},
{'name': 'account_payment_partner'}
]},
{'url': 'https://github.com/OCA/bank-statement-import',
'apps': [
{'name': 'account_statement_import_base'},
{'name': 'account_statement_import_file'},
{'name': 'account_statement_import_sheet_file'}
{'name': 'account_statement_import_online'},
{'name': 'account_statement_import_sheet_file'},
]},
{'url': 'https://github.com/OCA/community-data-files',
'apps': [
'apps': [
{'name': 'base_unece'},
{'name': 'uom_unece'},
{'name': 'account_payment_unece'},
{'name': 'account_tax_unece'},
{'name': 'account_payment_unece'}
{'name': 'base_currency_iso_4217'},
{'name': 'base_iso3166'},
{'name': 'company_sanitary_registry'},
{'name': 'uom_unece'},
]},
{'url': 'https://github.com/OCA/server-ux',
{'url': 'https://github.com/OCA/data-protection',
'apps': [
{'name': 'privacy'},
{'name': 'privacy_consent'},
]},
{'url': 'https://github.com/OCA/dms',
'apps': [
{'name': 'dms'},
]},
{'url': 'https://github.com/OCA/donation',
'apps': [
{'name': 'date_range'}
]},
{'url': 'https://github.com/OCA/l10n-france',
{'name': 'donation_base'},
{'name': 'donation'},
{'name': 'donation_bank_statement_oca'}
]},
{'url': 'https://github.com/OCA/edi',
'apps': [
{'name': 'account_einvoice_generate'},
{'name': 'account_invoice_facturx'},
{'name': 'account_invoice_facturx_py3o'},
{'name': 'base_business_document_import'},
{'name': 'base_edi'},
{'name': 'base_facturx'},
{'name': 'pdf_helper'},
]},
{'url': 'https://github.com/OCA/hr',
'apps': [
{'name': 'hr_course'},
{'name': 'hr_employee_age'},
{'name': 'hr_employee_birthday_mail'},
{'name': 'hr_employee_calendar_planning'},
{'name': 'hr_employee_document'},
{'name': 'hr_employee_firstname'},
{'name': 'hr_holidays_settings'},
{'name': 'hr_personal_equipment_request'},
]}
{'url': 'https://github.com/OCA/hr-expense',
'apps': [
{'name': 'hr_expense_cancel'},
{'name': 'hr_expense_invoice'},
{'name': 'hr_expense_payment'},
{'name': 'hr_expense_tier_validation'},
]},
{'url': 'https://github.com/OCA/hr-holidays',
'apps': [
{'name': 'hr_holidays_natural_period'},
{'name': 'hr_holidays_public'},
]},
{'url': 'https://github.com/OCA/knowledge',
'apps': [
{'name': 'document_knowledge'},
{'name': 'document_page'},
{'name': 'document_page_approval'},
{'name': 'document_page_group'},
{'name': 'document_page_reference'},
{'name': 'document_page_tag'},
{'name': 'document_url'}
]},
{ 'url': 'https://github.com/OCA/l10n-france',
'apps': [
{'name': 'l10n_fr_account_tax_unece'},
{'name': 'l10n_fr_oca'},
{'name': 'account_statement_impon Systems dashboards. Such style of reports presents KPI in rows and time periods in columns. Reports mainly fetch data from account moves, but can also combine data coming from arbitrary Odoo models. Reports can be exported to PDF, Excel and they can be added to Odoo drt_fr_cfonb'},
{'name': 'l10n_fr_chorus_account'},
{'name': 'l10n_fr_account_invoice_facturx'},
{'name': 'l10n_fr_chorus_factur-x'},
{'name': 'l10n_fr_account_tax_unece'},
{'name': 'l10n_fr_account_vat_return'},
{'name': 'l10n_fr_account_vat_return_teledec'},
{'name': 'l10n_fr_chorus_account'},
{'name': 'l10n_fr_chorus_facturx'},
{'name': 'l10n_fr_chorus_sale'},
{'name': 'l10n_fr_department'},
{'name': 'l10n_fr_department_oversea'},
{'name': 'l10n_fr_fec_oca'},
{'name': 'l10n_fr_hr_check_ssnid'},
{'name': 'l10n_fr_mis_reports'},
{'name': 'l10n_fr_oca},
{'name': 'l10n_fr_siret'},
{'name': 'l10n_fr_siret_lookup'}
{'name': 'l10n_fr_siret_lookup'},
]},
{'url': 'https://github.com/OCA/web',
{ 'url': 'https://github.com/OCA/mis-builder',
'apps': [
{'name': 'web_responsive'}
{'name': 'mis_builder'},
{'name': 'mis_builder_budget'}
]},
{'url': 'https://git.legaragenumerique.fr/odoo/gn_odoo',
{'url': 'https://github.com/OCA/partner-contact',
'apps': [
{'name': 'partner_address_street3'},
{'name': 'partner_address_two_lines'},
{'name': 'partner_company_type'},
{'name': 'partner_contact_access_link'},
{'name': 'partner_contact_address_default'},
{'name': 'partner_email_check'},
{'name': 'partner_email_duplicate_warn'},
{'name': 'partner_firstname'},
{'name': 'partner_mobile_duplicate_warn'},
{'name': 'partner_subject_to_vat'},
{'name': 'partner_vat_unique'},
]},
{'url': 'https://github.com/OCA/payroll',
'apps': [
{'name': 'payroll'},
{'name': 'payroll_account'}
]},
{'url': 'https://github.com/OCA/project',
'apps': [
{'name': 'project_department'},
{'name': 'project_duplicate_subtask'},
{'name': 'project_hr'},
{'name': 'project_list'},
{'name': 'project_parent'},
{'name': 'project_parent_task_filter'},
{'name': 'project_task_add_very_high'},
{'name': 'project_task_link'},
{'name': 'project_task_stage_mgmt'},
{'name': 'project_template'},
{'name': 'project_timeline'},
{'name': 'project_timeline_hr_timesheet'},
{'name': 'project_timesheet_time_control'},
]},
{'url': 'https://github.com/OCA/reporting-engine',
'apps': [
{'name': 'bi_view_editor'},
{'name': 'bi_view_editor_spreadsheet_dashboard'},
{'name': 'report_py3o'},
{'name': 'report_qweb_pdf_watermark'},
{'name': 'report_wkhtmltopdf_param'},
]},
{'url': 'https://github.com/OCA/sale-workflow',
'apps': [
{'name': 'partner_sale_pivot'},
{'name': 'product_form_sale_link'},
{'name': 'sale_advance_payment},
{'name': 'sale_cancel_reason'},
{'name': 'sale_delivery_state'},
{'name': 'sale_discount_display_amount'},
{'name': 'sale_fixed_discount'},
{'name': 'sale_force_invoiced'},
{'name': 'sale_order_general_discount'}
{'name': 'sale_order_invoice_amount'},
{'name': 'sale_order_line_menu'},
{'name': 'sale_order_line_tag'},
{'name': 'sale_order_revision'},
{'name': 'sale_start_end_dates'},
{'name': 'sale_substate'},
{'name': 'sale_tier_validation'},
]},
{'url': 'https://github.com/OCA/server-auth',
'apps': [
{'name': 'auth_oidc'},
]},
{'url': 'https://github.com/OCA/server-brand',
'apps': [
{'name': 'disable_odoo_online'},
{'name': 'hr_expense_remove_mobile_link'},
{'name': 'portal_odoo_debranding'},
{'name': 'remove_odoo_enterprise'},
]},
{'url': 'https://github.com/OCA/server-tools',
'apps': [
{'name': 'attachment_unindex_content'},
{'name': 'base_fontawesome'},
{'name': 'base_name_search_improved'},
{'name': 'base_view_inheritance_extension'},
{'name': 'iap_alternative_provider'},
{'name': 'module_auto_update'},
]},
{ 'url': 'https://github.com/OCA/server-ux',
'apps': [
{'name': 'gn_account_pcg_asso'}
]}
{'name': 'base_cancel_confirm'},
{'name': 'base_custom_filter'},
{'name': 'base_menu_visibility_restriction'},
{'name': 'base_optional_quick_create'},
{'name': 'base_revision'},
{'name': 'base_search_custom_field_filter'},
{'name': 'base_substate'},
{'name': 'base_technical_features'},
{'name': 'base_tier_validation'},
{'name': 'date_range'},
{'name': 'date_range_account'},
{'name': 'filter_multi_user'},
{'name': 'multi_step_wizard'},
{'name': 'user_all_groups'}
]},
{'url': 'https://github.com/OCA/sign',
'apps': [
{'name': 'sign_oca'},
]}
{'url': 'https://github.com/OCA/social',
'apps': [
{'name': 'base_search_mail_content'},
{'name': 'email_template_qweb'},
{'name': 'mail_activity_board'},
{'name': 'mail_activity_done'},
{'name': 'mail_attach_existing_attachment'},
{'name': 'mail_composer_cc_bcc'},
{'name': 'mail_debrand'},
{'name': 'mail_layout_preview'},
{'name': 'mail_inline_css'},
{'name': 'mail_optional_follower_notification'},
{'name': 'mail_tracking'},
{'name': 'mail_tracking_mass_mailing'},
{'name': 'mass_mailing_list_dynamic'},
{'name': 'mass_mailing_partner'},
{'name': 'mass_mailing_resend'},
{'name': 'mass_mailing_unique'},
]},
{'url': 'https://github.com/OCA/spreadsheet',
'apps': [
{'name': 'spreadsheet_dashboard_oca'},
{'name': 'spreadsheet_oca'},
]},
{'url': 'https://github.com/OCA/survey',
'apps': [
{'name': 'survey_question_type_five_star'},
]},
{'url': 'https://github.com/OCA/timesheet',
'apps': [
{'name': 'hr_timesheet_begin_end'}
{'name': 'hr_timesheet_sheet'},
{'name': 'hr_timesheet_task_domain'},
{'name': 'hr_timesheet_time_type'},
{'name': '}
]}
{'url': 'https://github.com/OCA/vertical-association',
'apps': [
{'name: 'web_advanced_search'},
{'name': 'web_calendar_slot_duration'},
{'name': 'web_chatter_position'},
{'name': 'web_dark_mode'},
{'name': 'web_dialog_size'},
{'name': 'web_group_expand'},
{'name': 'web_help'},
{'name': 'web_ir_actions_act_window_page'},
{'name': 'web_listview_range_select'},
{'name': 'web_m2x_options'},
{'name': 'web_no_bubble'},
{'name': 'web_remember_tree_column_width'},
{'name': 'web_responsive'},
{'name': 'web_search_with_and'},
{'name': 'web_theme_classic'},
{'name': 'web_timeline'},
{'name': 'web_tree_many2one_clickable'},
{'name': 'web_widget_dropdown_dynamic'},
{'name': 'web_widget_numeric_step'},
{'name': 'web_widget_open_tab'},
{'name': 'web_widget_plotly_chart'}
]},
{'url': 'https://github.com/OCA/website',
'apps': [
{'name': 'website_odoo_debranding'},
]},
{'url': 'https://github.com/OCA/website-cms',
'apps': [
{'name': 'cms_form'},
{'name': 'cms_status_message'}
]}
# {'url': 'https://git.legaragenumerique.fr/odoo/gn_odoo',
# 'apps': [
# {'name': 'gn_discount'},
# {'name': 'gn_donations'}
# ]},
]
def configure_folders():