Compare commits

..

93 Commits

Author SHA1 Message Date
Sam Lieber (sali)
02dd2f8910 [IMP] accounting/avatax: update limitations for 18
X-original-commit: 5060b34697
2024-12-05 00:06:27 +00:00
xpl-odoo
82289fe0fa [IMP] website: cloudflare configuration
task-4113085

closes 

X-original-commit: f8cb28ce14
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-12-04 19:51:45 +00:00
Parish Bracha
58aee61dcd [IMP] Email marketing: Analyze metrics reports
closes 

X-original-commit: 47da91a9d6
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-12-03 17:47:36 +00:00
John Holton (hojo)
d60310c25e [IMP] Manufacturing: update MO costs
closes 

X-original-commit: e1227f0c2b
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-12-03 17:47:35 +00:00
John Holton (hojo)
921bf0d82e [IMP] Quality: add spreadsheet check to QCP doc
closes 

X-original-commit: 34c1edef12
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-12-03 17:47:34 +00:00
Tiffany Chang (tic)
7b64c95fe3 [I18N] *: export latest termsi
As per usual, leave off developer.pot and contributing.pot since we
don't translate them (not useful, can't really contribute to/dev in
Odoo without knowing English)

closes 

X-original-commit: eb714d1772
Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2024-12-03 11:08:31 +00:00
afma-odoo
d7ecf97869 [IMP] Fiscal localizations: Add info about Teledec and liasse fiscale
task-4342454

closes 

X-original-commit: d4564632c3
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
2024-12-03 11:08:29 +00:00
afma-odoo
7405eb2f9e [IMP] Fiscal Localizations: Add CIS deduction info for UK
task-4341297

closes 

X-original-commit: f4d64763c0
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
2024-12-03 11:08:27 +00:00
Doh (KIDO)
2f0c08242e [IMP] l10n_my: MyInvois documentation
Recently, there has been a new module to support MyInvois which is legally mandatory for Malaysia. With its release this week, documentation is required for the users to add specific information to register Odoo as an intermediary but also to let them know how the set-up is and the business flow achievable in Odoo.

task-3953659

closes 

X-original-commit: 9040443bcc
Signed-off-by: Kim Dohyun (kido) <kido@odoo.com>
2024-12-03 11:08:19 +00:00
afma-odoo
faa204e0a0 [IMP] accounting: info about proforma label on invoices
task-3938154
task-3416326
task-2466972

closes 

X-original-commit: 2920b764f1
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
2024-12-02 07:22:53 +00:00
vava-odoo
d53fbfc995 [FIX] developer/tutorials/importable_modules: no self in actions
In ir.actions.server, the variable containing the record(s) is not
`self`, but `record` and `records`.
Also, since there is a word about `store` attribute for computed
fields, this commit specifies the behaviour of `readonly` attribute.

closes 

X-original-commit: d77d3ace2a
Signed-off-by: Vallaeys Valentin (vava) <vava@odoo.com>
2024-11-30 01:38:27 +00:00
Paolo Gatti
096d17c474 [IMP] developer: added "--shell-file" CLI option
Added the description for the new '--shell-file' option, which overrides
the the $PYTHONSTARTUP env variable to initialize the shell session with
a startup Python script.

Related docs: https://docs.python.org/3/using/cmdline.html#envvar-PYTHONSTARTUP

Community PR: 
task-4306704

closes 

Signed-off-by: Paolo Gatti (pgi) <pgi@odoo.com>
2024-11-27 15:32:22 +00:00
Harsh Modi
112551a0f7 [FIX] l10n_in_edi_ewaybill: fix the typos and update the functionality
In commit - 1e4c53871d (diff-fe059f98e5cefbc09ee21ab8b14d90ba3676d8b0998d9589865d1b5a2d708a7eR38)

The automation sending of ewaybill was removed. But the documentation still
says that we provide automation sending of the ewaybill. In this commit
we update documentation as per the current code

closes 

X-original-commit: 30d6e17cf9
Signed-off-by: Harsh Modi (hamo) <hamo@odoo.com>
2024-11-27 02:35:05 +00:00
John Holton (hojo)
1e90d132a6 [IMP] Inventory: add UPS warning
closes 

X-original-commit: 3a85ef3436
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-11-25 16:58:10 +00:00
masi-odoo
ac71b91edc [IMP] accounting/l10n_co: Update documentation for DIAN module
This commit improves the official documentation to support the strategy to focus on the new DIAN electronic invoicing module on V18 (leaving notes and references for clients still using Carvajal in this version)

closes 

X-original-commit: 9cb00bdb01
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-11-22 15:22:07 +00:00
Donatienne (dopi)
e3e39a0177 [IMP] ecommerce: cross-upselling
closes 

Taskid: 4273498
X-original-commit: 4590851acf
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
2024-11-22 08:34:26 +00:00
xpl-odoo
f1a3515f83 [IMP] on-premise: remove too many users upsell alert block
task-4343506

closes 

X-original-commit: b923389182
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-11-21 22:44:54 +00:00
xpl-odoo
ccc9337f2c [IMP] upgrade: harmonize release interval
task-4346126

closes 

X-original-commit: e953d8f838
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-11-21 22:44:53 +00:00
xpl-odoo
7f7ff980ec [IMP] localizations: clarify, simplify and update the content
closes 

X-original-commit: b58c84f8aa
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-11-20 18:46:42 +00:00
Harsh Modi
bd285ab701 [IMP] l10n_in_gstin_status: add documentation for GSTIN status
task-4143187

closes 

X-original-commit: 88e6f46765
Related: 
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Harsh Modi (hamo) <hamo@odoo.com>
2024-11-20 04:11:10 +00:00
kekiss
483cb357d4 [IMP] Productivity: Discuss Getting Started rewrite
[FIX] Updates to Discuss doc for 17.0

Adding reviewer suggestions

Added blank line at end of file

closes 

X-original-commit: cdf833810f
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-11-20 02:50:44 +00:00
Valentino
57712dfb99 [IMP] accounting/l10n_br: Resourceful links section for onboarding
Add the relevant links to improve the onboarding of new customers. This documentation is accessible from the `res.config` in the customer DB.

To improve the onboarding, when the customer clicks in the DB is redirected here, and the first thing they see are the videos and the onboarding document with more details on how to configure the Avalara Portal, Use cases, tips, and tricks.

closes 

X-original-commit: 79758ab9de
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Valentino Gaffuri Bedetta (vbe) <vbe@odoo.com>
2024-11-20 01:24:03 +00:00
jero-odoo
44388a8645 [IMP] VoIP: Update settings menu images
closes 

X-original-commit: 982e27382e
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2024-11-19 23:55:25 +00:00
Demesmaeker
b639c62201 [IMP] send_quotations/pdf_quote_builder
Add documentation about the new features and possibilities of the PDF quote builder.
Delete obsolote information.

closes 

X-original-commit: 3c7f6c0e55
Signed-off-by: Morgane Demesmaeker <edm@odoo.com>
2024-11-19 23:55:12 +00:00
Merel Geens (mege)
a3a1be4fb7 [FIX] administration/on-premise: Incorrect ports
In Odoo 18 and lower versions, update notifications are sent over HTTP,
not HTTPS:

Odoo 18: bbcafb7bb1/odoo/tools/config.py (L78)
Odoo 17: a7ccd81fb2/odoo/tools/config.py (L78)
Odoo 16: 6b5a839428/odoo/tools/config.py (L78)

The documentation has listed 443 as the main port since 2019:
https://github.com/odoo/documentation/pull/324 , but what it mentions
about the most recent version of Odoo using services.odoo.com wasn't
true until Odoo 18: https://github.com/odoo/odoo/pull/163202 . That PR
kept the HTTP usage and not HTTPS as was originally intended:
https://github.com/odoo/odoo/pull/30272 .

closes 

X-original-commit: 4d079db7f8
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-11-19 17:14:55 +00:00
Felicious
07122aa8a8 [IMP] inventory: landed cost conditions
closes 

X-original-commit: 22a0a1834e
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
2024-11-15 16:38:13 +00:00
Loredana Perazzo
9490048209 [IMP] pos: remove warning "july 22" in six
task-4337378

closes 

X-original-commit: 738703df14
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-11-15 15:14:03 +00:00
jero-odoo
c31d61cb5b [IMP] POS: remove star printer reference
closes 

X-original-commit: 54359951db
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2024-11-15 09:49:54 +00:00
Joris Makauskis
085613f63e [IMP] extract_api: Add bank statement documentation
- Updated documentation to include details on the new bank statement
extraction via OCR.
- Removed mention of unsupported discount, product, and unit features
from invoice_lines feature.

Task-3895452

closes 

X-original-commit: 8c93ff790e
Signed-off-by: Joris Makauskis (jmak) <jmak@odoo.com>
2024-11-15 07:00:34 +00:00
afma-odoo
0292755fe1 [IMP] accounting: adding info about group payments
task-3518648

closes 

X-original-commit: 75af17192f
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
2024-11-15 07:00:22 +00:00
Albaraa Maktabi
6d7d9aacb7 [FIX] developer/tutorials/pdf_reports: fix a grammer issue
On line 60 changed "we will can print..." to "we will be able to print..."

closes 

X-original-commit: ad624afdf8
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2024-11-15 00:08:44 +00:00
Audrey (auva)
71b426177a [IMP] payment_providers/paypal: new PayPal version
task-3355211

closes 

X-original-commit: 3a24e18b45
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-11-15 00:08:37 +00:00
Zachary Straub (ZST)
b29eae5102 [FIX] accounting: fix broken OCR tutorial link
closes 

X-original-commit: 724f7000d7
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-11-14 09:13:04 +00:00
jero-odoo
3218baee71 [ADD] Essentials: Keyboard shortcuts
closes 

X-original-commit: e8f3736722
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
Co-authored-by: kekiss <karaekiss@yahoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-11-13 19:23:50 +00:00
xpl-odoo
08a3f15732 [IMP] upgrade: sla clarifications
closes 

X-original-commit: 470af9bf21
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-11-13 09:04:17 +00:00
jero-odoo
d458c753b5 [IMP] Calendar sync: changing title of google doc
closes 

X-original-commit: e0b025fce0
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2024-11-11 16:49:31 +00:00
larm-odoo
740cf75f94 [ADD] Payroll: Salary attachments
closes 

X-original-commit: afe998d6a0
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-11-08 15:32:01 +00:00
Krzysztof Magusiak
6395455f0b [IMP] core: SQLObject replaces _sql_constraints
task-3390431

closes 

Related: 
Related: 
Signed-off-by: Krzysztof Magusiak (krma) <krma@odoo.com>
2024-11-08 07:33:30 +00:00
Louis Wicket (wil)
381ae7793b [I18N] add es_419 to the documentation
This commit adds es_419 (LATAM Spanish) to the available languages. It
populates LATAM Spanish translation based on the existing Spanish
translation.

closes 

X-original-commit: da7fe3d69d
Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
2024-11-07 10:49:02 +00:00
Tiffany Chang (tic)
7d8368e553 [I18N] *: export latest terms
As per usual, leave off developer.pot and contributing.pot since we
don't translate them (not useful, can't really contribute to/dev in
Odoo without knowing English)

closes 

X-original-commit: 63f88d7adb
Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2024-11-05 16:26:16 +00:00
jero-odoo
07ef80ec47 [IMP] General: Update manage inbound email doc
closes 

X-original-commit: 1b14a732b9
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-11-05 15:13:53 +00:00
Louis Wicket (wil)
973c9a1f5a [I18N] add vi and id to the language switcher
closes 

X-original-commit: 204db28154
Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2024-11-05 09:30:53 +00:00
Sam Lieber (sali)
d7b4114728 [IMP] l10n_cl: Update main EDI module and description
closes 

X-original-commit: dc20497ab1
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-11-04 19:31:51 +00:00
larm-odoo
2e661006e5 [ADD] Payroll: Salary attachment report
closes 

X-original-commit: ce55e4affb
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-11-04 15:09:37 +00:00
Albaraa Maktabi
7c2a16b28d [FW][FIX] developer/view_architectures: fix a typo
Corrected a typo in the file view_architectures.rst on line 2395. Changed 'than' to 'that'.

closes 

Forward-port-of: 
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-11-04 15:09:23 +00:00
Damien Bouvy
44b4138a45 [ADD] Developer: data module tutorial
Introduce a new tutorial about creating Odoo modules using XML data files
instead of Python code.

This guide is follows closely the 'Server Framework 101' tutorial and
covers the following:

- Module structure and deployment
- Defining models and fields
- Setting up security and access rights
- Creating views and actions
- Implementing relational fields (many2one, many2many, one2many)
- Working with computed and related fields
- Adding business logic through server actions and automation rules
- Creating website controllers for API endpoints

The tutorial includes practical exercises and code examples to reinforce
learning, catering to developers who need to customize Odoo without writing
Python code (e.g. Odoo PS-Tech employees, partners that focus on SaaS instances
or author of Industry modules).

Task-4167176

closes 

X-original-commit: c6a8619367
Signed-off-by: Bouvy Damien (dbo) <dbo@odoo.com>
2024-11-04 13:52:31 +00:00
Aurelien van Delft (avd)
7b6f0d9226 [IMP] contributing/git: add [PERF] to the valid commit tags
The [PERF] commit tag passes the runbot minimal check and has been
used in lots of patches. E.g.
 - odoo/odoo@f02bcfadcb
 - odoo/odoo@b30b059898
 - odoo/odoo@780a2bb601

However this tag was not listed in the documentation yet. This led
to confusion for reviewers not accustomed with it. This commit
fixes that.

closes 

X-original-commit: ac8f3d2aa4
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Aurélien van Delft (avd) <avd@odoo.com>
2024-10-29 15:07:08 +00:00
gmz-odoo
24bf905cd9 [IMP] accounting/l10n_pe: update modules and description
Remove older ‘Introduction section’
Add a table listing and update of the currently supported features and modules with a description of its functionality (like the format/structure displayed for Chile Localization page)
Update the description of suggested and related resources, such as Smart Tutorial videos

closes 

X-original-commit: af29704626
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-10-28 13:19:59 +00:00
Julien Castiaux
f3d2381bf4 [IMP] developer/changelog: controllers json -> jsonrpc
Task-4257153

closes 

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-10-28 09:38:24 +00:00
benderliz
117aae0771 [IMP] accounting: ca_l10n spelling fix
closes 

X-original-commit: 96269013b5
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-10-27 16:11:12 +00:00
Loredana Perazzo
9c4d9b35dc [IMP] POS: add a configuration step to enable ePos printers
task-4055549

closes 

X-original-commit: f83f35955e
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-10-25 14:18:19 +00:00
jero-odoo
bd5fdcfbb4 [IMP] Iot: Remove star printer reference
closes 

X-original-commit: 229e633c9c
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2024-10-25 12:12:21 +00:00
“Dallas”
8b7c7f4b6e [FIX] l10n_de: Fix second broken GoBD link
There were two broken links originally, one of which was fixed by PR#10074. This commit will remove the first link entirely and fix the second link, as suggested by TSB.

task-4088554

closes 

X-original-commit: 33ef1f8918
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Dallas Dean (dade) <dade@odoo.com>
2024-10-24 10:59:52 +00:00
Felicious
eed7e42a14 [ADD] inventory: dispatch management system
closes 

X-original-commit: ad6843be92
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: larm-odoo <121518652+larm-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-10-23 17:41:17 +00:00
Krzysztof Magusiak
11cc952979 [IMP] core: Deprecate toggle_active()
task-3983933

closes 

Related: 
Related: 
Signed-off-by: Krzysztof Magusiak (krma) <krma@odoo.com>
2024-10-23 13:30:32 +00:00
Aurelien van Delft (avd)
9049311711 [ADD] tools: add populate cli documentation
closes 

X-original-commit: b0ede2819a
Signed-off-by: Aurélien van Delft (avd) <avd@odoo.com>
2024-10-23 12:07:16 +00:00
Loredana Perazzo
51369b1001 [IMP] POS: move replicated title into one page
task-3973404

Must come back in 16.0 & 17.0

closes 

X-original-commit: 4556487f10
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-10-23 10:50:24 +00:00
benderliz
1e551ebb73 [IMP] ar_l10n: remove extra comma
closes 

X-original-commit: 15bc972085
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Liz Bender (beli) <beli@odoo.com>
2024-10-22 18:56:31 +00:00
Valentino
9dfef5e151 [IMP] accounting/l10n_br: IAP Free Credits Clarification
Odoo gives users 500 free IAP credits when they start with Odoo in BR in production databases. This is an important information that was not clarified.

closes 

X-original-commit: 9ba3a1bc10
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-10-22 13:03:03 +00:00
xpl-odoo
4a927f0d46 [ADD] sign: legality of electronic signatures in germany
closes 

X-original-commit: 74437b0e74
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-10-22 13:03:01 +00:00
Ricardo Gomes Rodrigues
9b3e9a3c8e [IMP] accounting: deferred full months
Feature added in commit 5dca9c0c26

closes 

X-original-commit: 939d0de821
Signed-off-by: Ricardo Gomes Rodrigues (rigr) <rigr@odoo.com>
2024-10-21 15:10:55 +00:00
Ricardo Gomes Rodrigues
987a40cb29 [IMP] accounting: add loan management
This has been done in https://github.com/odoo/enterprise/pull/68698

closes 

X-original-commit: 8f73708332
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Ricardo Gomes Rodrigues (rigr) <rigr@odoo.com>
2024-10-21 12:22:39 +00:00
Joseph (jcb)
e6ffeb0da4 [IMP] web: notification: custom autoclose delay
closes 

X-original-commit: d50ff09926
Related: 
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
2024-10-21 09:37:08 +00:00
jero-odoo
cfd0fbe6b0 [IMP] Contacts: Update contacts basics
closes 

X-original-commit: e9c19f63d4
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2024-10-18 12:14:34 +00:00
benderliz
dfa899e959 [IMP] Inventory: Updating serial numbers documentation
closes 

X-original-commit: 3270549c3a
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Liz Bender (beli) <beli@odoo.com>
Co-authored-by: Felicia Kuan <feku@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-10-17 17:48:37 +00:00
masp-odoo
76d6a9a84e [FIX] general : Update link from Google Domains to Squarespace
Task-4224635

closes 

X-original-commit: 399b20d9c7
Signed-off-by: Marion Spindler (masp) <masp@odoo.com>
2024-10-17 09:17:49 +00:00
Olivier Dony
343d8cafb4
[FIX] legal: update license info for 18.0
X-original-commit: ab9313a451
2024-10-16 19:11:27 +02:00
xpl-odoo
72ccbd43d7 [IMP] studio: update approval rules for v18
closes 

X-original-commit: 868ecc61a5
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-10-16 15:19:52 +00:00
bhra-odoo
4caa891ad8 [ADD] l10n_in_withholding: add TDS/TCS threshold alert (India)
with this commit:
added TDS/TCS threshold alert (India)

task - 4143155

closes 

Signed-off-by: Raj Bhuva (bhra) <bhra@odoo.com>
2024-10-16 14:05:52 +00:00
Felicious
dcb48c3dc4 [IMP] inventory: improve routes definitions
closes 

X-original-commit: 21cb6bb5cf
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
2024-10-15 20:22:41 +00:00
Felicious
8b7be69be6 [IMP] inventory: merge resupply
closes 

X-original-commit: 7f24a51d7d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: Liz Bender <92882399+benderliz@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-10-15 20:22:40 +00:00
KC (ksc)
81f28e0793 [IMP] surveys: add cards and links/intros
closes 

X-original-commit: 3337149a62
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-10-15 13:34:44 +00:00
Gorash
f1a607a9c7 [IMP] *: Using class name corresponding to odoo models
closes 

Related: 
Related: 
Related: 
Related: 
Related: 
Signed-off-by: Christophe Matthieu (chm) <chm@odoo.com>
2024-10-15 09:33:04 +00:00
Felicious
9368181d04 [REF] inventory: resupply warehouses
closes 

X-original-commit: ef367bd442
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
2024-10-12 00:07:43 +00:00
Felicious
d87271002b [IMP] inventory: fix typos in shipping table
closes 

X-original-commit: e41e3c7ba0
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
2024-10-11 18:36:35 +00:00
larm-odoo
783ab8f2c0 [ADD] Payroll: Work entry analysis report
closes 

X-original-commit: 34814984ec
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-10-11 14:12:17 +00:00
Odoo's Mergebot
da0360cdd5 [FW][ADD] odoo.sh: new ci token usage
closes 

Forward-port-of: 
Signed-off-by: Fabien Meghazi (fme) <fme@odoo.com>
Signed-off-by: Stanislas Sobieski (sts) <sts@odoo.com>
Co-authored-by: Fabien Meghazi <fme@odoo.com>
Co-authored-by: Stanislas Sobieski <sts@odoo.com>
2024-10-11 12:51:43 +00:00
Demesmaeker
e17d6d7689 [ADD] payment_providers/worldline
task-3499275

New payment provider and its related configuration; remove Ogone and SIPS payments providers as they were replaced by Wordline.

closes 

X-original-commit: da682b7f22
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-10-10 12:18:16 +00:00
Donatienne (dopi)
e174fa9e3e [IMP] ecommerce: products page updated
closes 

Taskid: 4056328
X-original-commit: 1c5bf1337e
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
2024-10-10 06:11:28 +00:00
Ricardo Gomes Rodrigues
3d2422b3bd [IMP] accounting: split deferred settings
This has been done in 39fffc5541

closes 

X-original-commit: ac69e2872c
Signed-off-by: Ricardo Gomes Rodrigues (rigr) <rigr@odoo.com>
2024-10-09 13:23:06 +00:00
dikd-odoo
d7eb8f014b [IMP] calendar: expand parent documentation
[ADD] expand parent calendar documentation

[FIX] formatting changes

[FIX] formatting changes

[FIX] content changes

Apply suggestions from KAEK review

[FIX] KAEK review edits

[FIX] resize images

Apply suggestions from KSC review

[FIX] content from KSC review

[FIX] revisions KSC review

[FIX] formatting

newline

formatting

Apply suggestions from KSC review

[FIX] Content change

[FIX] Content changes

Apply suggestions from KSC review

Apply suggestions from SALI review

Apply suggestions from SALI review2

content changes

format

Apply suggestions from SALI review

content

content

closes 

X-original-commit: 721c07d341
Signed-off-by: Dina Klarisse Dugar (dikd) <dikd@odoo.com>
Co-authored-by: kekiss <karaekiss@yahoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-10-08 16:57:49 +00:00
xpl-odoo
9a2921ba52 [IMP] administration: on-premise publisher warranty URL
task-4226945

closes 

X-original-commit: 544e2c18d0
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-10-07 17:10:50 +00:00
Tiffany Chang (tic)
c42963cda9 [I18N] *: export latest terms
As per usual, leave off developer.pot and contributing.pot since we
don't translate them (not useful, can't really contribute to/dev in
Odoo without knowing English)

Also update the tx/config to point to v18 project

closes 

X-original-commit: d21d77b181
Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2024-10-07 14:42:49 +00:00
Felicious
38ce2431e5 [ADD] purchase: import vendor pricelist
closes 

X-original-commit: 3b69030302
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: kekiss <karaekiss@yahoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-10-04 21:22:31 +00:00
larm-odoo
5c43477540 [IMP] Appraisals: Skills Report - highest improvement
closes 

X-original-commit: 6c843244eb
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-10-04 19:37:34 +00:00
Felicious
e56cfe5e48 [ADD] inventory: valuation by lots
closes 

Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: larm-odoo <121518652+larm-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-10-04 19:37:33 +00:00
Antoine Vandevenne (anv)
5627bea8aa [IMP] supported_versions: release 18.0
closes 

X-original-commit: a0472c95e5
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-10-01 12:07:13 +00:00
Pierre Pulinckx (PIPU)
3f048e7997 [FW][IMP] developer/testing: update tours documentation
The towers interface was modified during version 17. Therefore, in this commit, we update the documentation of this interface.

closes 

Forward-port-of: 
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2024-09-30 15:13:24 +00:00
afma-odoo
a13bf9b24f [IMP] accounting: pdf menu to export reports
task-3605633

closes 

X-original-commit: 380c4bc10f
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
2024-09-29 19:51:54 +00:00
masp-odoo
615d282910 [FIX] website: recaptcha threshold number
task-4145451

closes 

X-original-commit: 0aa1a671dd
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Marion Spindler (masp) <masp@odoo.com>
2024-09-26 22:58:38 +00:00
larm-odoo
f820f189a2 [ADD] Appraisals: Skills Evolution reporting
closes 

X-original-commit: 1e39d90420
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-09-25 20:43:42 +00:00
larm-odoo
1d17ceda3c [ADD] Employees: Certifications
closes 

X-original-commit: 14007868bb
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-09-25 20:43:41 +00:00
larm-odoo
4b5b008063 [ADD] Employees: Employee retention report
closes 

X-original-commit: 43d99f8070
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-09-25 20:43:39 +00:00
6596 changed files with 325385 additions and 6061755 deletions
.gitignoreMakefileREADME.mdconf.pyconfig.yaml
content-rst
administration
odoo_online
odoo_sh
advanced
getting_started
branches
builds
create
first_module
online-editor
settings
status
on_premise
upgrade
applications/essentials/activities

1
.gitignore vendored
View File

@ -8,4 +8,3 @@ _build/
# Dependencies
odoo
venv/

View File

@ -14,7 +14,6 @@ ifndef CURRENT_LANG
endif
SPHINX_BUILD = sphinx-build
SPHINX_AUTO_BUILD = sphinx-autobuild
CONFIG_DIR = .
SPHINXOPTS = -D project_root=$(ROOT) -D canonical_version=$(CANONICAL_VERSION) \
-D versions=$(VERSIONS) -D languages=$(LANGUAGES) -D language=$(CURRENT_LANG) \
@ -25,21 +24,10 @@ SPHINXOPTS = -D project_root=$(ROOT) -D canonical_version=$(CANONICAL_VERSIO
-A plausible_domain=$(PLAUSIBLE_DOMAIN) \
-j $(WORKERS)
SOURCE_DIR = content
THEME = extensions/odoo_theme
THEME_STATIC = extensions/odoo_theme/static
LOCALE = locale
STATIC = static
REDIRECTS = redirects
SERVER_IP := $(shell ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}')
# Get all listening ports
LISTENING_PORTS := $(shell ss -tuln | awk 'NR>1 {print $$4}' | awk -F: '{print $$NF}' | sort -n | uniq)
LOGFILE := $(BUILD_DIR)/live_server.log
# Default port
OPEN_PORTS := $(shell ss -tuln | awk 'NR>1 {print $$4}' | awk -F: '{print $$NF}' | sort -n | uniq)
SELECTED_PORT := $(shell echo "$(OPEN_PORTS)" | awk 'NR==1')
HTML_BUILD_DIR = $(BUILD_DIR)/html
ifdef VERSIONS
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/18.0
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
endif
ifneq ($(CURRENT_LANG),en)
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
@ -64,24 +52,8 @@ clean:
html: $(HTML_BUILD_DIR)/_static/style.css
@echo "Starting build..."
$(SPHINX_BUILD) -q -c $(CONFIG_DIR) -b html $(SPHINXOPTS) $(SOURCE_DIR) $(HTML_BUILD_DIR)
$(SPHINX_BUILD) -c $(CONFIG_DIR) -b html $(SPHINXOPTS) $(SOURCE_DIR) $(HTML_BUILD_DIR)
@echo "Build finished."
html_log: SPHINXOPTS += -A collapse_menu=True
html_log: $(HTML_BUILD_DIR)/_static/style.css
@echo "Starting build..."
$(SPHINX_BUILD) -q -c $(CONFIG_DIR) -b html $(SPHINXOPTS) $(SOURCE_DIR) $(HTML_BUILD_DIR) > $(LOGFILE) 2>&1
@echo "Build finished."
live: SPHINXOPTS += -A collapse_menu=True
live:
@echo "Starting Live Server..."
$(SPHINX_AUTO_BUILD) $(SOURCE_DIR) $(HTML_BUILD_DIR) \
--port 8000 --host $(SERVER_IP) \
--watch $(THEME) --watch $(LOCALE) --watch $(STATIC) --watch $(REDIRECTS) --watch $(THEME_STATIC) --watch . \
--pre-build "sh -c 'mkdir -p $(HTML_BUILD_DIR)/_static && python3 -m pysassc $(THEME)/static/style.scss $(HTML_BUILD_DIR)/_static/style.css'" \
$(SPHINXOPTS) -c $(CONFIG_DIR) -b html
# To call *after* `make html`
# Binary dependencies (Debian): texlive-fonts-recommended texlive-latex-extra
@ -107,7 +79,7 @@ $(HTML_BUILD_DIR)/_static/style.css: extensions/odoo_theme/static/style.scss ext
#=== Development and debugging rules ===#
fast: SPHINXOPTS += -A collapse_menu=True
fast: hmlt
fast: html
static: $(HTML_BUILD_DIR)/_static/style.css
cp -r extensions/odoo_theme/static/* $(HTML_BUILD_DIR)/_static/

View File

@ -1,4 +1,4 @@
# Documentation
# Odoo documentation
## Build the documentation locally

525
conf.py
View File

@ -13,92 +13,86 @@ from sphinx.util import logging
_logger = logging.getLogger(__name__)
# === General configuration ===#
#=== General configuration ===#
# General information about the project.
project = "Odoo"
copyright = "Odoo S.A."
project = 'Odoo'
copyright = 'Odoo S.A.'
# `version` is the version info for the project being documented, acts as replacement for |version|,
# also used in various other places throughout the built documents.
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
version = release = "18.0"
version = release = 'master'
# `current_branch` is the technical name of the current branch.
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
current_branch = version
# `current_version` is the Odoo version linked to the current branch.
# E.g., saas-15.4 -> 15.4; 12.0 -> 12; master -> master (*).
current_version = current_branch.replace("saas-", "").replace(".0", "")
current_version = current_branch.replace('saas-', '').replace('.0', '')
# `current_major_branch` is the technical name of the major branch before the current branch.
# E.g., saas-15.4 -> 15.0; 12.0 -> 12.0; master -> master (*).
current_major_branch = re.sub(r"\.\d", ".0", current_branch.replace("saas-", ""))
current_major_branch = re.sub(r'\.\d', '.0', current_branch.replace('saas-', ''))
# `current_major_version` is the Odoo version linked to the current major branch.
# E.g., saas-15.4 -> 15; 12.0 -> 12; master -> master (*).
current_major_version = current_major_branch.replace(".0", "")
current_major_version = current_major_branch.replace('.0', '')
# (*): We don't care for master.
# The minimal Sphinx version required to build the documentation.
needs_sphinx = "3.0.0"
needs_sphinx = '3.0.0'
# The default language in which the documentation is written. It is set to `None` because Sphinx
# considers that no language means 'en'.
language = None
# The suffix of source filenames.
source_suffix = {
".md": "markdown",
".rst": "restructuredtext",
}
source_suffix = '.rst'
# The master toctree document.
master_doc = "index"
master_doc = 'index'
# List of patterns, relative to source directory, that match files and directories to ignore when
# looking for source files.
exclude_patterns = [
"locale",
"README.*",
"bin",
"include",
"lib",
"odoo",
'locale',
'README.*',
'bin', 'include', 'lib',
'odoo',
]
# The RST text role to use when the role is not specified. E.g.: `example`.
# We use 'literal' as default role for markdown compatibility: `foo` behaves like ``foo``.
# See https://docutils.sourceforge.io/docs/ref/rst/roles.html#standard-roles for other roles.
default_role = "literal"
default_role = 'literal'
html_copy_source = False
# Whether scaled down images should be be wrapped in a `<a/>` tag linking to the image file or not.
html_scaled_image_link = False
# If true, '()' will be appended to :func: etc. cross-reference text
add_function_parentheses = True
# === Extensions configuration ===#
#=== Extensions configuration ===#
source_read_replace_vals = {
"BRANCH": current_branch,
"CURRENT_BRANCH": current_branch,
"CURRENT_VERSION": current_version,
"CURRENT_MAJOR_BRANCH": current_major_branch,
"CURRENT_MAJOR_VERSION": current_major_version,
"GITHUB_PATH": f"https://github.com/odoo/odoo/blob/{version}",
"GITHUB_ENT_PATH": f"https://github.com/odoo/enterprise/blob/{version}",
"OWL_PATH": f"https://github.com/odoo/owl/blob/master",
'BRANCH': current_branch,
'CURRENT_BRANCH': current_branch,
'CURRENT_VERSION': current_version,
'CURRENT_MAJOR_BRANCH': current_major_branch,
'CURRENT_MAJOR_VERSION': current_major_version,
'GITHUB_PATH': f'https://github.com/odoo/odoo/blob/{version}',
'GITHUB_ENT_PATH': f'https://github.com/odoo/enterprise/blob/{version}',
'OWL_PATH': f'https://github.com/odoo/owl/blob/master',
}
# Add extensions directory to PYTHONPATH
extension_dir = Path("extensions")
extension_dir = Path('extensions')
sys.path.insert(0, str(extension_dir.absolute()))
# Search for the directory of odoo sources to know whether autodoc should be used on the dev doc
odoo_sources_candidate_dirs = (Path("Odoo18"), Path("../Odoo18"))
# odoo_sources_candidate_dirs = (Path('odoo'), Path('../odoo'))
odoo_sources_candidate_dirs = (Path('odoo'), Path('../odoo'))
odoo_sources_dirs = [
d for d in odoo_sources_candidate_dirs if d.is_dir() and (d / "odoo-bin").exists()
d for d in odoo_sources_candidate_dirs if d.is_dir() and (d / 'odoo-bin').exists()
]
odoo_dir_in_path = False
@ -109,30 +103,20 @@ if not odoo_sources_dirs:
"The 'Developer' documentation will be built but autodoc directives will be skipped.\n"
"In order to fully build the 'Developer' documentation, clone the repository with "
"`git clone https://github.com/odoo/odoo` or create a symbolic link.",
{
"dir_list": "\n".join(
[f"\t- {d.resolve()}" for d in odoo_sources_candidate_dirs]
)
},
{'dir_list': '\n'.join([f'\t- {d.resolve()}' for d in odoo_sources_candidate_dirs])},
)
else:
if (3, 6) < sys.version_info < (3, 7):
# Running odoo needs python 3.7 min but monkey patch version_info to be compatible with 3.6.
sys.version_info = (3, 7, 0)
odoo_dir = odoo_sources_dirs[0].resolve()
source_read_replace_vals["ODOO_RELPATH"] = "/../" + str(odoo_sources_dirs[0])
source_read_replace_vals['ODOO_RELPATH'] = '/../' + str(odoo_sources_dirs[0])
sys.path.insert(0, str(odoo_dir))
import odoo.addons
odoo.addons.__path__.append(str(odoo_dir) + "/addons")
from odoo import (
release as odoo_release,
) # Don't collide with Sphinx's 'release' config option
odoo_version = ".".join(str(s) for s in odoo_release.version_info[:2]).replace(
"~", "-"
) # Change saas~XX.Y to saas-XX.Y
odoo_version = "master" if "alpha" in odoo_release.version else odoo_version
odoo.addons.__path__.append(str(odoo_dir) + '/addons')
from odoo import release as odoo_release # Don't collide with Sphinx's 'release' config option
odoo_version = '.'.join(str(s) for s in odoo_release.version_info[:2]).replace('~', '-') # Change saas~XX.Y to saas-XX.Y
odoo_version = 'master' if 'alpha' in odoo_release.version else odoo_version
if release != odoo_version:
_logger.warning(
"Found Odoo sources in %(directory)s but with version '%(odoo_version)s' incompatible "
@ -140,23 +124,17 @@ else:
"The 'Developer' documentation will be built but autodoc directives will be skipped.\n"
"In order to fully build the 'Developer' documentation, checkout the matching branch"
" with `cd odoo && git checkout %(doc_version)s`.",
{
"directory": odoo_dir,
"odoo_version": odoo_version,
"doc_version": version,
},
{'directory': odoo_dir, 'odoo_version': odoo_version, 'doc_version': version},
)
else:
_logger.info(
"Found Odoo sources in %(directory)s matching documentation version '%(version)s'.",
{"directory": odoo_dir, "version": release},
{'directory': odoo_dir, 'version': release},
)
odoo_dir_in_path = True
if odoo_dir_in_path:
upgrade_util_dir = next(
filter(Path.exists, [Path("upgrade-util"), Path("../upgrade-util")]), None
)
upgrade_util_dir = next(filter(Path.exists, [Path('upgrade-util'), Path('../upgrade-util')]), None)
if not upgrade_util_dir:
_logger.warning(
"Could not find Upgrade Utils sources directory in `upgrade_util`.\n"
@ -168,165 +146,150 @@ if odoo_dir_in_path:
else:
_logger.info(
"Found Upgrade Util sources in %(directory)s",
{"directory": upgrade_util_dir.resolve()},
{'directory': upgrade_util_dir.resolve()},
)
from odoo import upgrade
upgrade.__path__.append(str((upgrade_util_dir / "src").resolve()))
upgrade.__path__.append(str((upgrade_util_dir / 'src').resolve()))
# Mapping between odoo models related to master data and the declaration of the
# data. This is used to point users to available xml_ids when giving values for
# a field with the autodoc_field extension.
model_references = {
"account.account.type": "addons/account/data/data_account_type.xml",
"res.country": "odoo/addons/base/data/res_country_data.xml",
"res.currency": "odoo/addons/base/data/res_currency_data.xml",
'account.account.type': 'addons/account/data/data_account_type.xml',
'res.country': 'odoo/addons/base/data/res_country_data.xml',
'res.currency': 'odoo/addons/base/data/res_currency_data.xml',
}
# The Sphinx extensions to use, as module names.
# They can be extensions coming with Sphinx (named 'sphinx.ext.*') or custom ones.
extensions = [
# Link sources in other projects (used to build the reference doc)
"sphinx.ext.intersphinx",
'sphinx.ext.intersphinx',
# Support the specialized to-do directives
"sphinx.ext.todo",
'sphinx.ext.todo',
# Custom Odoo theme
"odoo_theme",
'odoo_theme',
# Youtube and Vimeo videos integration (youtube, vimeo directives)
"embedded_video",
"custom_admonitions",
'embedded_video',
'custom_admonitions',
# Redirection generator
"redirects",
'redirects',
# Content tabs
"sphinx_tabs.tabs",
'sphinx_tabs.tabs',
# Cards
# "cards",
'cards',
# Spoilers
"spoilers",
'spoilers',
# Strange html domain logic used in memento pages
"html_domain",
"myst_parser",
"sphinx_design",
'html_domain',
]
myst_enable_extensions = [
"amsmath",
"colon_fence",
"deflist",
"dollarmath",
"fieldlist",
"html_admonition",
"html_image",
"replacements",
"smartquotes",
"strikethrough",
"substitution",
"tasklist",
]
if odoo_dir_in_path:
# GitHub links generation
extensions += [
"sphinx.ext.linkcode",
"github_link",
'sphinx.ext.linkcode',
'github_link',
# Parse Python docstrings (autodoc, automodule, autoattribute directives)
"sphinx.ext.autodoc",
"autodoc_field",
'sphinx.ext.autodoc',
'autodoc_field',
]
else:
extensions += [
"autodoc_placeholder",
'autodoc_placeholder',
]
extensions.append(
"sphinx.ext.graphviz" if shutil.which("dot") else "graphviz_placeholder"
)
extensions.append('sphinx.ext.graphviz' if shutil.which('dot') else 'graphviz_placeholder')
todo_include_todos = False
intersphinx_mapping = {
"pillow": ("https://pillow.readthedocs.io/en/stable/", None),
"python": ("https://docs.python.org/3/", None),
"werkzeug": ("https://werkzeug.palletsprojects.com/en/2.3.x/", None),
'pillow': ('https://pillow.readthedocs.io/en/stable/', None),
'python': ('https://docs.python.org/3/', None),
'werkzeug': ('https://werkzeug.palletsprojects.com/en/2.3.x/', None),
}
github_user = "NextERP"
github_project = "documentation"
github_user = 'odoo'
github_project = 'documentation'
locale_dirs = ["../locale/"]
templates_path = ["../extensions"]
locale_dirs = ['../locale/']
templates_path = ['../extensions']
# custom docname_to_domain to divide the translations of applications in subdirectories
sphinx.transforms.i18n.docname_to_domain = sphinx.util.i18n.docname_to_domain = (
lambda docname, compact: docname.split("/")[
1 if docname.startswith("applications/") else 0
]
)
sphinx.transforms.i18n.docname_to_domain = (
sphinx.util.i18n.docname_to_domain
) = lambda docname, compact: docname.split('/')[1 if docname.startswith('applications/') else 0]
# The version names that should be shown in the version switcher, if the config option `versions`
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
versions_names = {
"master": "Master",
"saas-18.1": "Odoo Online",
"18.0": "18.0",
"saas-17.4": "Odoo Online",
"saas-17.2": "Odoo Online",
"17.0": "Odoo 17",
"16.0": "Odoo 16",
"15.0": "Odoo 15",
'master': "Master",
'18.0': "Odoo 18",
'saas-17.4': "Odoo Online",
'saas-17.2': "Odoo Online",
'17.0': "Odoo 17",
'16.0': "Odoo 16",
'15.0': "Odoo 15",
}
# The language names that should be shown in the language switcher, if the config option `languages`
# is populated. If a language is passed to `languages` but is not listed here, it will not be shown.
languages_names = {
"de": "DE",
"en": "EN",
"es": "ES",
"es_419": "ES (LATAM)",
"fr": "FR",
"id": "ID",
"it": "IT",
"ja": "JA",
"ko": "KR",
"nl": "NL",
"pt_BR": "PT",
"ro": "RO",
"sv": "SV",
"th": "TH",
"uk": "UA",
"vi": "VI",
"zh_CN": "ZH (CN)",
"zh_TW": "ZH (TW)",
'de': 'DE',
'en': 'EN',
'es': 'ES',
'es_419': 'ES (LATAM)',
'fr': 'FR',
'id': 'ID',
'it': 'IT',
'ja': 'JA',
'ko': 'KR',
'nl': 'NL',
'pt_BR': 'PT',
'ro': 'RO',
'sv': 'SV',
'th': 'TH',
'uk': 'UA',
'vi': 'VI',
'zh_CN': 'ZH (CN)',
'zh_TW': 'ZH (TW)'
}
# The directory in which files holding redirect rules used by the 'redirects' extension are listed.
redirects_dir = "redirects/"
redirects_dir = 'redirects/'
sphinx_tabs_disable_tab_closing = True
sphinx_tabs_disable_css_loading = True
# Autodoc ordering
autodoc_member_order = "bysource"
autodoc_member_order = 'bysource'
# === Options for HTML output ===#
#=== Options for HTML output ===#
html_theme = "odoo_theme"
html_theme = 'odoo_theme'
# The name of the Pygments (syntax highlighting) style to use.
# See extensions/odoo_theme/pygments_override.py
pygments_style = "odoo"
pygments_style = 'odoo'
# The paths that contain custom themes, relative to this directory.
html_theme_path = ["extensions"]
html_theme_path = ['extensions']
# The name of an image file (within the static path) to use as favicon of the docs.
# This file should be a Windows icon file (.ico) being 16x16 or 32x32 pixels large.
html_favicon = os.path.join(
html_theme_path[0], html_theme, "static", "img", "favicon.ico"
)
html_favicon = os.path.join(html_theme_path[0], html_theme, 'static', 'img', 'favicon.ico')
# The paths that contain custom static files, relative to this directory.
# They are copied after the builtin static files, so a file named "default.css" will overwrite the
# builtin "default.css".
html_static_path = ["static"]
html_static_path = ['static']
html_permalinks = True
# Additional JS & CSS files that can be imported with the 'custom-js' and 'custom-css' metadata.
@ -336,131 +299,72 @@ html_css_files = []
# PHP lexer option to not require <?php
highlight_options = {
"php": {"startinline": True},
'php': {'startinline': True},
}
# === Options for LaTeX output ===#
#=== Options for LaTeX output ===#
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
"papersize": "a4paper",
'papersize': 'a4paper',
# Additional stuff for the LaTeX preamble.
"preamble": r"\usepackage{odoo}",
"tableofcontents": "", # no TOC
'preamble': r'\usepackage{odoo}',
'tableofcontents': '', # no TOC
# Output manually in latex docs
"releasename": release,
'releasename': release,
}
latex_additional_files = ["static/latex/odoo.sty"]
latex_additional_files = ['static/latex/odoo.sty']
# Grouping the document tree into LaTeX files. List of tuples:
# (source start file, target name, title, author, documentclass [howto, manual, or own class]).
latex_documents = [
(
"legal/terms/enterprise_tex",
"odoo_enterprise_agreement.tex",
"Odoo Enterprise Subscription Agreement",
"",
"howto",
),
(
"legal/terms/partnership_tex",
"odoo_partnership_agreement.tex",
"Odoo Partnership Agreement",
"",
"howto",
),
(
"legal/terms/terms_of_sale",
"terms_of_sale.tex",
"Odoo Terms of Sale",
"",
"howto",
),
(
"legal/terms/i18n/enterprise_tex_fr",
"odoo_enterprise_agreement_fr.tex",
"Odoo Enterprise Subscription Agreement (FR)",
"",
"howto",
),
(
"legal/terms/i18n/partnership_tex_fr",
"odoo_partnership_agreement_fr.tex",
"Odoo Partnership Agreement (FR)",
"",
"howto",
),
(
"legal/terms/i18n/terms_of_sale_fr",
"terms_of_sale_fr.tex",
"Conditions Générales de Vente Odoo",
"",
"howto",
),
(
"legal/terms/i18n/enterprise_tex_nl",
"odoo_enterprise_agreement_nl.tex",
"Odoo Enterprise Subscription Agreement (NL)",
"",
"howto",
),
(
"legal/terms/i18n/enterprise_tex_de",
"odoo_enterprise_agreement_de.tex",
"Odoo Enterprise Subscription Agreement (DE)",
"",
"howto",
),
(
"legal/terms/i18n/terms_of_sale_de",
"terms_of_sale_de.tex",
"Allgemeine Verkaufsbedingungen Odoo",
"",
"howto",
),
(
"legal/terms/i18n/enterprise_tex_es",
"odoo_enterprise_agreement_es.tex",
"Odoo Enterprise Subscription Agreement (ES)",
"",
"howto",
),
(
"legal/terms/i18n/partnership_tex_es",
"odoo_partnership_agreement_es.tex",
"Odoo Partnership Agreement (ES)",
"",
"howto",
),
(
"legal/terms/i18n/terms_of_sale_es",
"terms_of_sale_es.tex",
"Términos Generales de Venta Odoo",
"",
"howto",
),
(
"legal/terms/i18n/enterprise_tex_pt_BR",
"odoo_enterprise_agreement_pt_BR.tex",
"Odoo Enterprise Subscription Agreement (PT)",
"",
"howto",
),
('legal/terms/enterprise_tex', 'odoo_enterprise_agreement.tex',
'Odoo Enterprise Subscription Agreement', '', 'howto'),
('legal/terms/partnership_tex',
'odoo_partnership_agreement.tex', 'Odoo Partnership Agreement', '', 'howto'),
('legal/terms/terms_of_sale',
'terms_of_sale.tex', 'Odoo Terms of Sale', '', 'howto'),
('legal/terms/i18n/enterprise_tex_fr', 'odoo_enterprise_agreement_fr.tex',
'Odoo Enterprise Subscription Agreement (FR)', '', 'howto'),
('legal/terms/i18n/partnership_tex_fr',
'odoo_partnership_agreement_fr.tex', 'Odoo Partnership Agreement (FR)', '', 'howto'),
('legal/terms/i18n/terms_of_sale_fr', 'terms_of_sale_fr.tex',
'Conditions Générales de Vente Odoo', '', 'howto'),
('legal/terms/i18n/enterprise_tex_nl', 'odoo_enterprise_agreement_nl.tex',
'Odoo Enterprise Subscription Agreement (NL)', '', 'howto'),
('legal/terms/i18n/enterprise_tex_de', 'odoo_enterprise_agreement_de.tex',
'Odoo Enterprise Subscription Agreement (DE)', '', 'howto'),
('legal/terms/i18n/terms_of_sale_de', 'terms_of_sale_de.tex',
'Allgemeine Verkaufsbedingungen Odoo', '', 'howto'),
('legal/terms/i18n/enterprise_tex_es', 'odoo_enterprise_agreement_es.tex',
'Odoo Enterprise Subscription Agreement (ES)', '', 'howto'),
('legal/terms/i18n/partnership_tex_es',
'odoo_partnership_agreement_es.tex', 'Odoo Partnership Agreement (ES)', '', 'howto'),
('legal/terms/i18n/terms_of_sale_es', 'terms_of_sale_es.tex',
'Términos Generales de Venta Odoo', '', 'howto'),
('legal/terms/i18n/enterprise_tex_pt_BR', 'odoo_enterprise_agreement_pt_BR.tex',
'Odoo Enterprise Subscription Agreement (PT)', '', 'howto'),
]
# List of languages that have legal translations (excluding EN). The keys must be in
# `languages_names`. These translations will have a link to their versions of the legal
# contracts, instead of the default EN one. The main legal documents are not part of the
# translations since they have legal meaning.
legal_translations = ["de", "es", "fr", "nl", "pt_BR"]
legal_translations = ['de', 'es', 'fr', 'nl', 'pt_BR']
# The name of an image file (relative to this directory) to place at the top of the title page.
latex_logo = "static/img/odoo_logo.png"
latex_logo = 'static/img/odoo_logo.png'
# If true, show URL addresses after external links.
latex_show_urls = "True"
latex_show_urls = 'True'
# https://github.com/sphinx-doc/sphinx/issues/4054#issuecomment-329097229
def source_read_replace(app, docname, source):
@ -478,42 +382,36 @@ def source_read_replace(app, docname, source):
result = result.replace(f"{{{key}}}", app.config.source_read_replace_vals[key])
source[0] = result
def setup(app):
# Generate all alternate URLs for each document
app.add_config_value("project_root", None, "env")
app.add_config_value("canonical_version", None, "env")
app.add_config_value("versions", None, "env")
app.add_config_value("languages", None, "env")
app.add_config_value(
"is_remote_build", None, "env"
) # Whether the build is remotely deployed
app.add_config_value("source_read_replace_vals", {}, "env")
app.connect("source-read", source_read_replace)
app.add_config_value('project_root', None, 'env')
app.add_config_value('canonical_version', None, 'env')
app.add_config_value('versions', None, 'env')
app.add_config_value('languages', None, 'env')
app.add_config_value('is_remote_build', None, 'env') # Whether the build is remotely deployed
app.add_config_value('source_read_replace_vals', {}, 'env')
app.connect('source-read', source_read_replace)
# TODO uncomment after moving to >= v7.2.5 to also substitute placeholders in included files.
# See https://github.com/sphinx-doc/sphinx/commit/ff1831
# app.connect('include-read', source_read_replace)
app.add_lexer("json", JsonLexer)
app.add_lexer("xml", XmlLexer)
app.add_lexer('json', JsonLexer)
app.add_lexer('xml', XmlLexer)
app.connect("html-page-context", _generate_alternate_urls)
app.connect('html-page-context', _generate_alternate_urls)
# Add a `condition` option on directives to ignore them based on config values
app.add_config_value("odoo_dir_in_path", None, "env")
app.add_config_value('odoo_dir_in_path', None, 'env')
def context_eval(expr):
return eval(expr, {confval.name: confval.value for confval in app.config})
def patch(to_patch):
to_patch.option_spec["condition"] = context_eval
to_patch.option_spec['condition'] = context_eval
original_run = to_patch.run
def new_run(self):
if not self.options.get("condition", True):
if not self.options.get('condition', True):
return []
return original_run(self)
to_patch.run = new_run
for to_patch in (
@ -524,7 +422,7 @@ def setup(app):
def _generate_alternate_urls(app, pagename, templatename, context, doctree):
"""Add keys of required alternate URLs for the current document in the rendering context.
""" Add keys of required alternate URLs for the current document in the rendering context.
Alternate URLS are required for:
- The canonical link tag
@ -533,7 +431,7 @@ def _generate_alternate_urls(app, pagename, templatename, context, doctree):
"""
def _canonicalize():
"""Add the canonical URL for the current document in the rendering context.
""" Add the canonical URL for the current document in the rendering context.
The canonical version is the last released version of the documentation.
For a given language, the canonical root of a page is in the same language so that web
@ -545,117 +443,92 @@ def _generate_alternate_urls(app, pagename, templatename, context, doctree):
"""
# If the canonical version is not set, assume that the project has a single version
_canonical_version = app.config.canonical_version or app.config.version
_canonical_lang = (
"en" # Always 'en'. Don't take the value of the config option.
)
context["canonical"] = _build_url(
_version=_canonical_version, _lang=_canonical_lang
)
_canonical_lang = 'en' # Always 'en'. Don't take the value of the config option.
context['canonical'] = _build_url(_version=_canonical_version, _lang=_canonical_lang)
def _versionize():
"""Add the pairs of (version, url) for the current document in the rendering context.
""" Add the pairs of (version, url) for the current document in the rendering context.
The entry 'version' is added by Sphinx in the rendering context.
"""
context["version_display_name"] = versions_names[version]
context['version_display_name'] = versions_names[version]
# If the list of versions is not set, assume the project has no alternate version
_provided_versions = (
app.config.versions and app.config.versions.split(",") or []
)
_provided_versions = app.config.versions and app.config.versions.split(',') or []
# Map alternate versions to their display names and URLs.
context["alternate_versions"] = []
context['alternate_versions'] = []
for _alternate_version, _display_name in versions_names.items():
if (
_alternate_version in _provided_versions
and _alternate_version != version
):
context["alternate_versions"].append(
if _alternate_version in _provided_versions and _alternate_version != version:
context['alternate_versions'].append(
(_display_name, _build_url(_alternate_version))
)
def _localize():
"""Add the pairs of (lang, code, url) for the current document in the rendering context.
""" Add the pairs of (lang, code, url) for the current document in the rendering context.
E.g.: ('French', 'fr', 'https://.../fr_BE/...')
The entry 'language' is added by Sphinx in the rendering context.
"""
_current_lang = app.config.language or "en"
_current_lang = app.config.language or 'en'
# Replace the context value by its upper-cased value ("FR" instead of "fr")
context["language"] = languages_names.get(_current_lang, _current_lang.upper())
context["language_code"] = _current_lang
context['language'] = languages_names.get(_current_lang, _current_lang.upper())
context['language_code'] = _current_lang
# If the list of languages is not set, assume that the project has no alternate language
_provided_languages = (
app.config.languages and app.config.languages.split(",") or []
)
_provided_languages = app.config.languages and app.config.languages.split(',') or []
# Map alternate languages to their display names and URLs.
context["alternate_languages"] = []
context['alternate_languages'] = []
for _alternate_lang, _display_name in languages_names.items():
if (
_alternate_lang in _provided_languages
and _alternate_lang != _current_lang
):
context["alternate_languages"].append(
if _alternate_lang in _provided_languages and _alternate_lang != _current_lang:
context['alternate_languages'].append(
(
_display_name,
(
_alternate_lang.split("_")[0]
if _alternate_lang != "en"
else "x-default"
),
_alternate_lang.split('_')[0] if _alternate_lang != 'en' else 'x-default',
_build_url(_lang=_alternate_lang),
)
)
# Dynamic generation of localized legal doc links
context["legal_translations"] = legal_translations
context['legal_translations'] = legal_translations
def _build_url(_version=None, _lang=None):
# print(f"###################################{app.config.is_remote_build}")
# print(f"###################################{app.config.project_root}")
if app.config.is_remote_build:
# Project root like https://www.odoo.com/documentation
_root = app.config.project_root
else:
# Project root like .../documentation/_build/html/14.0/fr
_root = re.sub(
rf"(/{app.config.version})?(/{app.config.language})?$", "", app.outdir
)
_root = re.sub(rf'(/{app.config.version})?(/{app.config.language})?$', '', app.outdir)
# If the canonical version is not set, assume that the project has a single version
_canonical_version = app.config.canonical_version or app.config.version
_version = _version or app.config.version
_lang = _lang or app.config.language or "en"
_canonical_page = f"{pagename}.html"
_lang = _lang or app.config.language or 'en'
_canonical_page = f'{pagename}.html'
# legal translations have different URLs schemes as they are not managed on transifex
# e.g. FR translation of /terms/enterprise => /fr/terms/enterprise_fr
if pagename.startswith("legal/terms/"):
if pagename.startswith('legal/terms/'):
if _lang in legal_translations and not pagename.endswith(f"_{_lang}"):
# remove language code for current translation, set target one
_page = re.sub("_[a-z]{2}$", "", pagename)
if "terms/i18n" not in _page:
if 'terms/i18n' not in _page:
_page = _page.replace("/terms/", "/terms/i18n/")
_canonical_page = f"{_page}_{_lang}.html"
elif _lang == "en" and pagename.endswith(
tuple(f"_{l}" for l in legal_translations)
):
_canonical_page = f'{_page}_{_lang}.html'
elif _lang == 'en' and pagename.endswith(tuple(f"_{l}" for l in legal_translations)):
# remove language code for current translation, link to original EN one
_page = re.sub("_[a-z]{2}$", "", pagename)
_canonical_page = f'{_page.replace("/i18n/", "/")}.html'
if app.config.is_remote_build:
_canonical_page = _canonical_page.replace("index.html", "")
_canonical_page = _canonical_page.replace('index.html', '')
return (
f"{_root}"
f'{f"/{_version}" if app.config.versions else ""}'
f'{f"/{_lang}" if _lang != "en" else ""}'
f"/{_canonical_page}"
)
return f'{_root}' \
f'{f"/{_version}" if app.config.versions else ""}' \
f'{f"/{_lang}" if _lang != "en" else ""}' \
f'/{_canonical_page}'
_canonicalize()
_versionize()

View File

@ -1,42 +0,0 @@
# -d, --dry-run Do not write/remove any files
# -R, --replace-files Remove parsed files
# -S, --stop-on-fail Stop on first failure
# -W, --raise-on-warning Raise exception on parsing warning
# -l, --language TEXT Language code for directive names [default:
# en]
# --sphinx / --no-sphinx Load sphinx. [default: sphinx]
# -e, --extensions TEXT A comma-separated list of sphinx extensions
# to load.
# -dd, --default-domain TEXT Default sphinx domain [default: py]
# -dr, --default-role TEXT Default sphinx role [default: convert to
# literal]
# -cp, --cite-prefix TEXT Prefix to add to citation references
# [default: cite]
# --consecutive-numbering / --no-consecutive-numbering
# Apply consecutive numbering to ordered lists
# [default: consecutive-numbering]
# --colon-fences / --no-colon-fences
# Use colon fences for directives with parsed
# content [default: colon-fences]
# --dollar-math / --no-dollar-math
# Convert math (where possible) to dollar-
# delimited math [default: dollar-math]
# -c, --conversions PATH YAML file mapping directives -> conversions
# --encoding TEXT Encoding for read/write [default: utf8]
# --config FILE YAML file to read default configuration from
# -h, --help Show this message and exit.
language: en
sphinx: true
default_conversion: parse_all
conversions:
docutils.parsers.rst.directives.images.image: parse_all
sphinx.directives.patches.ListTable: parse_all # For tables if needed
extensions:
- sphinx.ext.intersphinx
- sphinx.ext.todo
- sphinx_tabs.tabs
- sphinx_design
default_domain: py
consecutive_numbering: true
colon_fences: true
dollar_math: true

Binary file not shown.

Before

(image error) Size: 2.8 KiB

Binary file not shown.

Before

(image error) Size: 19 KiB

Binary file not shown.

Before

(image error) Size: 6.0 KiB

Binary file not shown.

Before

(image error) Size: 72 KiB

Binary file not shown.

Before

(image error) Size: 4.7 KiB

Binary file not shown.

Before

(image error) Size: 24 KiB

Binary file not shown.

Before

(image error) Size: 29 KiB

Binary file not shown.

Before

(image error) Size: 34 KiB

Binary file not shown.

Before

(image error) Size: 6.9 KiB

Binary file not shown.

Before

(image error) Size: 6.3 KiB

Binary file not shown.

Before

(image error) Size: 6.9 KiB

Binary file not shown.

Before

(image error) Size: 4.6 KiB

Binary file not shown.

Before

(image error) Size: 6.9 KiB

Binary file not shown.

Before

(image error) Size: 18 KiB

Binary file not shown.

Before

(image error) Size: 2.9 KiB

Binary file not shown.

Before

(image error) Size: 2.6 KiB

Binary file not shown.

Before

(image error) Size: 14 KiB

Binary file not shown.

Before

(image error) Size: 35 KiB

Binary file not shown.

Before

(image error) Size: 24 KiB

Binary file not shown.

Before

(image error) Size: 14 KiB

Binary file not shown.

Before

(image error) Size: 17 KiB

Binary file not shown.

Before

(image error) Size: 26 KiB

Binary file not shown.

Before

(image error) Size: 5.6 KiB

Binary file not shown.

Before

(image error) Size: 18 KiB

Binary file not shown.

Before

(image error) Size: 30 KiB

Binary file not shown.

Before

(image error) Size: 24 KiB

Binary file not shown.

Before

(image error) Size: 21 KiB

Binary file not shown.

Before

(image error) Size: 21 KiB

Binary file not shown.

Before

(image error) Size: 32 KiB

Some files were not shown because too many files have changed in this diff Show More