[MERGE] Forward-port of branch 14.0 to master

This commit is contained in:
Antoine Vandevenne (anv) 2021-05-20 15:07:52 +02:00
commit b96c1338c9
11 changed files with 33 additions and 15 deletions

View File

@ -2,7 +2,7 @@
# Pass WORKERS=auto for parallel build # Pass WORKERS=auto for parallel build
ifndef WORKERS ifndef WORKERS
WORKERS = 1 WORKERS = auto
endif endif
SPHINX_BUILD = sphinx-build SPHINX_BUILD = sphinx-build
@ -67,7 +67,7 @@ extensions/odoo_theme/static/style.css: extensions/odoo_theme/static/style.scss
#=== Development and debugging rules ===# #=== Development and debugging rules ===#
fast: SPHINXOPTS += -A collapse_menu=True -j auto fast: SPHINXOPTS += -A collapse_menu=True
fast: html fast: html
static: extensions/odoo_theme/static/style.css static: extensions/odoo_theme/static/style.css

View File

@ -59,11 +59,9 @@ In case of non-conformity, your company risks a fine of €7,500.
To get the certification just follow the following steps: To get the certification just follow the following steps:
* Install the anti-fraud module fitting your Odoo environment from the * If you use **Odoo Point of Sale**, install the **France - VAT Anti-Fraud Certification for Point
*Apps* menu: of Sale (CGI 286 I-3 bis)** module by going to :menuselection:`Apps`, removing the *Apps* filter,
then searching for *l10n_fr_pos_cert*, and installing the module.
* if you use Odoo Point of Sale: *l10n_fr_pos_cert*: France - VAT Anti-Fraud Certification for Point of Sale (CGI 286 I-3 bis)
* in any other case: *l10n_fr_certification*: France - VAT Anti-Fraud Certification (CGI 286 I-3 bis)
* Make sure a country is set on your company, otherwise your entries wont be * Make sure a country is set on your company, otherwise your entries wont be
encrypted for the inalterability check. To edit your companys data, encrypted for the inalterability check. To edit your companys data,

View File

@ -135,3 +135,15 @@ Some specific modules are also able to generate draft invoices:
- **membership**: invoice your members every year - **membership**: invoice your members every year
- **repairs**: invoice your after-sale services - **repairs**: invoice your after-sale services
Resequencing of the invoices
----------------------------
It remains possible to resequence the invoices but with some restrictions:
#. The feature does not work when entries are previous to a lock date.
#. The feature does not work if the sequence is inconsistent with the month of the entry.
#. It does not work if the sequence leads to a duplicate.
#. The order of the invoice remains unchanged.
#. It is useful for people who use a numbering from another software and who want to continue the
current year without starting over from the beginning.

View File

@ -21,6 +21,6 @@ def setup(app):
directives.register_directive('autoattribute', PlaceHolder) directives.register_directive('autoattribute', PlaceHolder)
return { return {
'parallel_read_safe': False, 'parallel_read_safe': True,
'parallel_write_safe': True 'parallel_write_safe': True
} }

View File

@ -66,6 +66,6 @@ def setup(app):
directives.register_directive('vimeo', Vimeo) directives.register_directive('vimeo', Vimeo)
return { return {
'parallel_read_safe': False, 'parallel_read_safe': True,
'parallel_write_safe': True 'parallel_write_safe': True
} }

View File

@ -21,7 +21,7 @@ def setup(app):
)) ))
return { return {
'parallel_read_safe': False, 'parallel_read_safe': True,
'parallel_write_safe': True 'parallel_write_safe': True
} }

View File

@ -75,7 +75,7 @@ def setup(app):
app.config.linkcode_resolve = linkcode_resolve app.config.linkcode_resolve = linkcode_resolve
return { return {
'parallel_read_safe': False, 'parallel_read_safe': True,
'parallel_write_safe': True 'parallel_write_safe': True
} }

View File

@ -40,7 +40,7 @@ def setup(app):
addnode(app, node, name) addnode(app, node, name)
return { return {
'parallel_read_safe': False, 'parallel_read_safe': True,
'parallel_write_safe': True 'parallel_write_safe': True
} }
@ -183,3 +183,11 @@ class HtmlDomain(Domain):
'var': makerole(var), 'var': makerole(var),
'samp': makerole(samp), 'samp': makerole(samp),
} }
def merge_domaindata(self, docnames, otherdata) -> None:
"""Merge in data regarding *docnames* from a different domaindata
inventory (coming from a subprocess in parallel builds).
"""
# This extension doesn't store any data on the env
# and therefore doesn't need to support this method.
pass

View File

@ -16,7 +16,7 @@ def setup(app):
app.add_js_file('js/page_toc.js') app.add_js_file('js/page_toc.js')
return { return {
'parallel_read_safe': False, 'parallel_read_safe': True,
'parallel_write_safe': True 'parallel_write_safe': True
} }

View File

@ -64,6 +64,6 @@ def setup(app):
app.connect('builder-inited', generate_redirects) app.connect('builder-inited', generate_redirects)
return { return {
'parallel_read_safe': False, 'parallel_read_safe': True,
'parallel_write_safe': True 'parallel_write_safe': True
} }

View File

@ -13,7 +13,7 @@ def setup(app):
app.connect('env-updated', add_statics) app.connect('env-updated', add_statics)
return { return {
'parallel_read_safe': False, 'parallel_read_safe': True,
'parallel_write_safe': True 'parallel_write_safe': True
} }