Commit Graph
147686 Commits
Author SHA1 Message Date
Jeremy Cormier d33c3d34fa [FIX] l10n_pos_cert: Fixed unlink empty cash register
closes odoo/odoo#75825

X-original-commit: 92aec1c9071473f3b9e3254d1b8dc65845c83595
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2021-09-03 14:30:25 +00:00
Florent de Labarre 8bf547be1d [FIX] delivery: delivery is not invalidate
- Install delivery and active 'Addresses in Sales Orders' options
- Create a delivery allowed only in France
- Create a partner with two delivery address, one in France, an other in Belgium
- Create SO, select the delivery address in France
- Select the carrier
--> Change the delivery address in Belgium in the partner_shipping_id field,
recompute_delivery_price stay False.

This PR fix this issue, now the delivery is invalidate if you update the field
partner_shipping_id.

closes odoo/odoo#75762

X-original-commit: b53ff03b5cf43c2cd23039b8192f4d90d47e11d2
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2021-09-03 14:30:22 +00:00
Valentin ChevalierandAntoine Vandevenne d9d2b6da6c [IMP] payment_adyen: migrate to the latest version of Checkout API
Checkout API v67
Web Drop-in v4.7.3

In particular, this commit changes the client-side authentication flow
to rely on client keys rather than origin keys as the latter is
deprecated by Adyen and the switch is required in order to upgrade the
Drop-in integration.

task-2590477

closes odoo/odoo#74827

Related: odoo/upgrade#2786
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: Antoine Vandevenne <anv@odoo.com>
2021-09-03 14:30:18 +00:00
Jacky (trj) b1e730ed6e [REF] point_of_sale: invoice mail POS UI
Invoices can also be sent by email but this was not properly displayed on the POS UI.

task-2536068

closes odoo/odoo#72873

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2021-09-03 14:30:06 +00:00
Odoo's Mergebot 52575cd0f5 [MERGE] sale_project: improve analytic account
This PR improves the analytic accounting in project:

1) Analytic account of the project is passed to the invoice lines
generated from the project's SO lines.
2) Analytic account and analytic tags are added on task in order to
gain in granularity. Those tags are passed to the invoice lines
generated from the task's SO lines.
3) Employee timesheet cost now may be overriden in the project
employee mapping, if there is an employee rate. This cost is used
to compute the amount (price) of the timesheets.
4) The sale order margin is computed based on the timesheeted
amounts (prices) per unit of measure, for services with quantity
delivered based on timesheets.

PR : #70527
PR upgrade: odoo/upgrade#2616

task-2458135

--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr

Signed-off-by: LTU-Odoo <IT-Ideas@users.noreply.github.com>
2021-09-03 16:29:54 +02:00
qsm-odoo 6854ff8026 [IMP] website: add no-hamburger-in-mobile option
At the same time, review the whole "hamburger type" option to be more
clear for the user. Unfortunately, the whole "no-hamburger-in-mobile"
option is kinda going against the way our editor works right now so this
commit implements it with well-placed hacks... to improve somehow at
some point.

Part of https://github.com/odoo/odoo/pull/68149
task-2368576

closes odoo/odoo#68149

Related: odoo/design-themes#11
Related: odoo/upgrade#2294
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2021-09-03 14:29:52 +00:00
qsm-odoo ff26771e9c [IMP] website: rearrange the logo option in header
Part of https://github.com/odoo/odoo/pull/68149
task-2368576

Part-of: odoo/odoo#68149
2021-09-03 14:29:51 +00:00
Oussama MESSAOUDIandqsm-odoo 7e8ba9bc2f [IMP] website, *: review the header templates + add CTA as an option
*: portal, website_sale, website_sale_wishlist

Part of https://github.com/odoo/odoo/pull/68149
task-2368576

Part-of: odoo/odoo#68149
Co-authored-by: qsm-odoo <qsm@odoo.com>
2021-09-03 14:29:51 +00:00
qsm-odoo 2a8a5dc7a9 [IMP] web_editor, *: allow editor widgets to depend on ancestor ones
*: website

The visibility dependencies are now searched in the current
SnippetEditor instance but also in all its ancestors.

Part of https://github.com/odoo/odoo/pull/68149
task-2368576

Part-of: odoo/odoo#68149
2021-09-03 14:29:51 +00:00
qsm-odoo 1d49b5112b [FIX] website: move configurator templates in dedicated file
Unfortunatly needed while another "complex" bug fix is done: xpath
validation during module install seems to be done after each view
creation. With the upcoming header template refactoring, by mischance,
the configurator template validation will not work at install anymore
while it is perfectly valid (and the only way to define it) after
install:

Before future refactoring:

1) install view which adds nav inside X
2) install configurator view, primary view which removes the first nav
   inside X
3) install view which adds another nav inside X... the nav the
   configurator wants to remove !

-> Validation of (2) works thanks to (1) during install while (2) wants
   to remove something that is not installed yet. But (2) is valid it
   should simply not have been evaluated yet.

After future refactoring:

We remove step (1) -> (2) has to be done after (3) to pass validation
at install while the system is not bug fixed.

Part of https://github.com/odoo/odoo/pull/68149
task-2368576

Part-of: odoo/odoo#68149
2021-09-03 14:29:50 +00:00
Thibault Libioulle 8bbbc69e40 [IMP] sale{,_project}_margin: improve service product cost computation
Prior to this commit, the cost of a service product was computed based
on its standard_price.

With this commit, the product cost is computed based on the timesheet
amounts linked to the sale order, if the sale order has a delivering
method of type timesheet.

PR : #70527
See odoo/upgrade#2616

task-2458135
2021-09-03 12:45:58 +02:00
Thibault Libioulle dbbfce18a4 [IMP] hr{,sale}_timesheet: add employee mapping cost
Prior to this commit, the timesheet amount was computed based on the
employee timesheet cost.
The sale order line related to the employee was also required

This commit allows the project owner to configure a employee mapping
cost that will override the employee timesheet cost if defined.
This commit removes the fact that the sale order line is no more
required, thus the mapping will have no effect.

PR : #70527

task-2458135
2021-09-03 12:45:58 +02:00
Thibault Libioulle dd706ea024 [IMP] (sale_)project,hr_timesheet: add analytic account and tags on task
Previously, all costs allocated to a task were associated, if set, to
the analytic account of their project.

This commit adds a deeper level of granularity, as the user will be able
to override the project analytic account and add analytic tags.
When creating timesheets or creating account move line related to SO
linked to a task, the analytic account of the task is now taken into
account rather than the one defined on the project. If an analytic
account is set on the SO, it remains the default account used.

If a task is related to an SOL and an invoice line is created from this
SOL, the analytic tags of the task are also given to the account move
line.

If different analytic account are linked to a same SOL through the
project using this SOL or the tasks using this SOL, than no default
analytic account is set on the invoice line.

PR : #70527

task-2458135
2021-09-03 12:45:58 +02:00
Thibault Libioulle d4a0bcaa5a [IMP] sale_project: link project analytic account to invoice
Previously when a user added products to a task, when invoicing the
customer, in default case, no analytic account was defined on the
invoice line generated for the sale order line.

With this commit, we define a default analytic account based on the
information of the sale order line.
If the sale order line has a generated task or project associated to
it, we set the project analytic account.
If the sale order line is used on tasks or projects which all use the
same analytic account, then the invoice line created will take this
unique analytic account as default value.

If a sale order line is used in distinct project or tasks
from distinct project, then no default analytic account is defined.

PR : #70527

task-2458135
2021-09-03 12:45:58 +02:00
Benoit Socias fa3c04e5fe [FIX] website_payment: obtain country and currency in donation form
Before this commit country and currency were not correctly populated in
the donation form.

After this commit country of a logged in user is correctly pre-populated
and donations can be done in the current currency of the user.

task-2398403

closes odoo/odoo#75921

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2021-09-03 10:38:12 +00:00
João Marques 691e843da8 [FIX] hr_recruitment: Add back description to message subtype
Reverts 62bf009bebe46010ee04376f32b0a996a5d694e0 as that is causing that no message is posted in the chatter upon creation.
Althought this might have been an issue before, https://github.com/odoo/odoo/pull/56631 removed the addition of the "Application created" message in the message body, so now there was nothing adding it, making the message invisible in the chatter.

TT30413

closes odoo/odoo#75736

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2021-09-03 10:38:01 +00:00
João Marques b99491cf4d [IMP] hr_recruitment: Add option to subscribe users to new applications automatically
Provide a new message subtype to allow users to be automatically subscribed to new applications from a Job Position.

TT30413

Part-of: odoo/odoo#75736
2021-09-03 10:38:00 +00:00
Robin Heinz 809f0bbe1b [IMP] Gift Card: Allow usage of gift card in POS
Split initial module gift card into 2 modules:
    - gift card
    - sales gift card

This change is made to isolate the sale order from the gift card module.

In order to create the gift card in the point of sale, we added 3 options
in the pos config.
Create and set: generate and set the amount of a new gift card.
Use and set: We use an already existing card and set the amount of this one.
Use: We use a gift card that already has a certain amount.

When you pay with a gift cards, reports are generated. Those reports
give you the code and the barcode of  the gift cards.
You also get information such as expiration date and the amount.

closes odoo/odoo#75518

Task-id: 1737
Related: odoo/upgrade#2799
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
2021-09-03 10:37:54 +00:00
Rémy Voet (ryv) ff4d25a427 [IMP] mrp_subcontracting: allow flexible consumption
Take in account the bom consumption of subcontracting BoM:
- In flexible and warning we can now record extra component
(even if there isn't tracked component).
- In the warning case, we get a warning issue in during the recording
of component if we consume more than expected
- In case of script consumption, we cannot record component expected
if some are tracked. In this case we can consume more than expected
only if the user is a mrp manager.

Also fix "Set quantities" Button for the subcontracting

task-2486811

closes odoo/odoo#75041

Related: odoo/enterprise#20350
Related: odoo/upgrade#2750
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2021-09-03 10:37:48 +00:00
Rémy Voet (ryv) 36e3c443d2 [FIX] stock,mrp_subcontracting: fix "Set Quantity"
The button "Set Quantity" have a different behavior
(it doesn't take in account tracked product) than
the immediate process which is confusing.
Now both flow share the same code and allow to avoid
the "Set Quantity" for the subcontracting with tracked component.

task-2486811

Part-of: odoo/odoo#75041
2021-09-03 10:37:48 +00:00
Rémy Voet (ryv) 6663c05abf [FIX] stock: fix wrong scheduler log.
The logs of the scheduler wasn't correct ( 4467734b77 ):
- The number of object process wasn't correct for the last batch
- Fix Spelling  of "commited"

Also, we commit every 1000 moves assignation instead of 100.
(Because the prefetch already prefetch by 1000 and to benefit
futher the batch optimisation of _action_assign).

Part-of: odoo/odoo#75041
2021-09-03 10:37:48 +00:00
Rémy Voet (ryv) 2127ded2b1 [FIX] mrp_subcontracting: avoid byproduct
We cannot have byproduct in case of subcontracting,
raise a Error if we try (like operation). Also remove the
it from the subcontracted form (also clean empty space of it).

task-2486811

Part-of: odoo/odoo#75041
2021-09-03 10:37:47 +00:00
Rémy Voet (ryv) 7f068ef8ca [IMP] stock_dropshipping: add dropship smartbutton
Divide "Delivery"/"Incoming Shipment" smart button of "Sale"/"Purchase"
order form between normal "Delivery"/"Incoming Shipment" and a
"dropship" picking.
Also clean a little bit technically

task-2486811

Part-of: odoo/odoo#75041
2021-09-03 10:37:47 +00:00
Rémy Voet (ryv) 22276db82b [IMP] mrp_subcontracting: improve views of record component
Add decoration in the qty_done fields to ease the usage of
the record component wizard.

task-2486811

Part-of: odoo/odoo#75041
2021-09-03 10:37:47 +00:00
Rémy Voet (ryv) 6aa8b7dd67 [IMP] mrp_subcontracting: improve mrp bom report
- The "BoM Structure & Cost" takes now in account
the subcontracting cost.
The subcontracting cost depends of the best supplier info in product
and subcontractor register in the BoM.
- Also add this subcontracting cost (to the cost field) when we click on
"Compute Price from BoM" in the product view.

task-2486811

Part-of: odoo/odoo#75041
2021-09-03 10:37:46 +00:00
Rémy Voet (ryv) 10c6f4e837 [REF] mrp: simplify the bom strucure report
Add `_get_extra_column_count` to extend and clean
extention for mrp_plm and mrp_subcontracting.

See enterprise commit.

task-2486811

Part-of: odoo/odoo#75041
2021-09-03 10:37:46 +00:00
Rémy Voet (ryv) 7d9a9574ce [IMP] mrp_subcontracting: add a operation type for resupply
Add a operation type (`stock.picking.type`) for
the subcontracting resupply in order to distinct
easily the a simple delivery and a resupply to a subcontractor.

task-2486811

Part-of: odoo/odoo#75041
2021-09-03 10:37:46 +00:00
Rémy Voet (ryv) 820fbd9973 [ADD] mrp_subcontracting_purchase: new module
Add a new module to add smart buttons between a subcontracting purchase
order and the ressuply component delivery.

task-2486811

Part-of: odoo/odoo#75041
2021-09-03 10:37:45 +00:00
Rémy Voet (ryv) 3b9511285a [FIX] purchase_stock: avoid unaccess Error
The receipt count smart button is on the PO form even if the user is
not able to see the delivery.

Add `stock.group_stock_user` on the button
(Also remove the useless picking_ids fieds of the form).

task-2486811

Part-of: odoo/odoo#75041
2021-09-03 10:37:45 +00:00
Thibault Delavallée 2915a939a8 [IMP] test_mail_full: add some tests, notably for SMS deletion
closes odoo/odoo#75895

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-09-03 09:26:12 +00:00
Thibault Delavallée d98906c411 [REF] test_mail_full: remove unnecessary mock of link tracker
Another one already exists. Let us clean some code.

Part-of: odoo/odoo#75895
2021-09-03 09:26:11 +00:00
Thibault Delavallée bd1eeababa [FIX] auth_totp: fix file name for mail template
Zairisse too much esse.

Part-of: odoo/odoo#75895
2021-09-03 09:26:11 +00:00
Ravi Thakkar 2e8fa03095 [IMP] event_*: re-arrange stat buttons on the event form view
This commit improves the view inheritance priority and xpaths for
the inherited form views of event to arrange the stat buttons in
logical manner, regardless of installation order of the modules.
The stat button order should always be:

- Attendees
- Leads
- Sales
- Tracks
- Sponsors
- Rooms

Task-2585998
EnterprisePR-https://github.com/odoo/enterprise/pull/20082

closes odoo/odoo#74203

Related: odoo/enterprise#20082
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2021-09-03 09:26:01 +00:00
Tom De Caluw 046189fb53 [IMP] website_sale: allow hide attributes in filter
task-2466988

closes odoo/odoo#75898

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2021-09-03 08:12:14 +00:00
Sébastien Geelen (sge) 28efd996b6 [IMP] web_editor: add support for field html placeholder
The editor now support the field html placeholder value when given.

task-2586137

closes odoo/odoo#75863

Related: odoo/enterprise#20571
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
2021-09-03 08:11:57 +00:00
Sébastien Geelen (sge) 464b454953 [FIX] web,account: fix css for report comments
Since we change the editor for the comments on invoices,
The layout was a bit broken with some unwanted spacings.

task-2586137

Part-of: odoo/odoo#75863
2021-09-03 08:11:57 +00:00
Sébastien Geelen (sge) 607c5ea4e2 [FIX] web_editor: make editor smaller in contacts
Make the default height of the editor quite smaller in res.partner view.
To avoid "breaking" the design and prevent scrollbars

task-2586137

Part-of: odoo/odoo#75863
2021-09-03 08:11:56 +00:00
Romain Derie 8727ed2766 [IMP] web, web_editor: restore CTRL+K as edit link shortcut
In editor, CTRL+K was changed to CTRL+M to edit link.
This was done to free CTRL+K for the command palette in the backend.

The issue is that CTRL+K is an universal keybind to edit links, and we should
not remove it, especially to add another behavior on it that could very well
fit on another key.

Validated by FP/AL at
https://discord.com/channels/678381219515465750/687338152372994236/880465980986368050

closes odoo/odoo#75848

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2021-09-03 08:11:49 +00:00
yhu-odoo caa908506b [IMP] mrp,stock: count kits product
When a product's has a kits bom, we consider it a kits product.
When a product is a kits product, we count its "on hand" and "forecast"
qty by caculating how many can be produced according to the bom.
We add status button to the show the qty on kit product form.

Task-2444000
COM PR odoo/odoo#75555
ENT PR odoo/enterprise#20440
UPG PR odoo/upgrade#2783

Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2021-09-03 08:11:42 +00:00
yhu-odoo fa2231fb0c [ADD] mrp_repair: explode kits in repair
When repair contains kits product(product has kits boms), decompose
it into components.

Task-2444000
COM PR odoo/odoo#75555
ENT PR odoo/enterprise#20440
UPG PR odoo/upgrade#2783
2021-09-03 08:11:42 +00:00
yhu-odoo 5855df867f [IMP] mrp: add kits decription in picking
When recieving a kits product, it will be decomponent in the picking. In
this commit, we add a column in the picking to show the info of the kits
in picking.

Task-2444000
COM PR odoo/odoo#75555
ENT PR odoo/enterprise#20440
UPG PR odoo/upgrade#2783
2021-09-03 08:11:42 +00:00
Odoo's Mergebot 11164423e1 [IMP] website, *: make search bar generic
Before this commit the search bar was specific to products. This generalises the search bar so it can be added to any model.

A snippet is provided, and used to replace the old search bars of blog, courses, event, forum, page and shop. The search results of these pages and the autocomplete of the search bar run through the same search mechanism.

A new hybrid results page has also been created as a target of a search on "Everything".

In each involved module, `website._get_search_details()` is implemented to return search metadata for every model related to the `search_type` parameter. Search metadata for a single model is returned by `_get_search_detail()` on that specific model.

The autocomplete runs through the additional `website._render_search_results()` pre-rendering step that prepares the data to fit in the autocomplete template.

This PR also introduces a fuzzy search mechanism: if the searched term is not found then the search is performed on a resembling term. The similarity is obtained from a Levenshtein distance combined with ratios of common and different letters.

By default the dictionary against which the search term is matched is based on the content of the search fields containing a word that starts with the first letter of the search term.

If the `pg_trgm` Postgresql extension is installed the dictionary is built from matches obtained using the `word_similarity` function.

task-2379555
odoo/upgrade#2186

closes odoo/odoo#65871

Signed-off-by: Benoit Socias (bso) <bso-odoo@users.noreply.github.com>
2021-09-03 08:59:35 +02:00
Benoit Socias b88bb72beb [IMP] website: search inside translated pages
Before this commit the search on pages was only done in the main
language.

After this commit the search on pages is based on the translated "arch"
field.

task-2379555
https://github.com/odoo/odoo/pull/65871

Part-of: odoo/odoo#65871
2021-09-03 06:59:33 +00:00
Benoit Socias 9f9c4bb7e4 [IMP] website(_*): replace search callbacks by a mixin
Before this commit the `_search_get_detail` result contained callback
functions to handle special behavior during fetching and rendering.

After this commit a `website.searchable.mixin` is introduced that must
be inherited by models that participate in website-based searches.
Custom behavior previously achieved with callbacks is now achieved by
overloading methods of this mixin.

task-2379555
https://github.com/odoo/odoo/pull/65871

Part-of: odoo/odoo#65871
2021-09-03 06:59:33 +00:00
Benoit Socias c6ba756e4b [IMP] core, website: use fuzzy matching in web-based search
Before this commit searched terms were the ones entered by the end-user.

After this commit if the searched term is not found then the search is
performed on a resembling term.
The similarity is obtained from a Levenshtein distance combined with
ratios of common and different letters.
By default the dictionary against which the search term is matched is
based on the content of the search fields containing a word that starts
with the first letter of the search term.
If the `pg_trgm` Postgresql extension is installed the dictionary is
built from matches using the `<%%` operator (similar to the
`word_similarity` function).
Several approaches were benchmarked during development, those results
are available through the task record.

task-2379555
https://github.com/odoo/odoo/pull/65871

Part-of: odoo/odoo#65871
2021-09-03 06:59:33 +00:00
Benoit Socias 7559626c54 [IMP] website, *: make a generic search bar snippet available
(*: website_blog, website_event, website_forum, website_sale,
website_slides)

Before this commit the search bar was specific to products.

After this commit a generic search bar is available as a general feature
of website which can be configured to inspect specific models.
The snippet is used to replace the old search bar in blog, courses,
event, forum, page and shop.
The search results of these pages and the autocomplete of the search bar
run through the same search mechanism.
A new hybrid results page has also been created as a target of a search
on "Everything".

In each involved module, `website._search_get_details()` is implemented
to return search metadata for every model related to the `search_type`
parameter.
Search metadata for a single model is returned by `_search_get_detail()`
on that specific model.

The autocomplete runs through the additional
`website._search_render_results()` pre-rendering step that prepares the
data to fit in the autocomplete template.

task-2379555
https://github.com/odoo/odoo/pull/65871

Part-of: odoo/odoo#65871
2021-09-03 06:59:33 +00:00
Sébastien Theys 3ef53c8e5a [IMP] mail: make guest cookie smaller and add expiration date
Part of task-2494829

closes odoo/odoo#75888

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2021-09-03 02:03:58 +00:00
Lucas Lefèvre a63585dc91 [FIX] web: Correct notification service name in mocks
The service is called `notifications` when mocked in tests,
instead of `notification`

closes odoo/odoo#75859

Related: odoo/enterprise#20554
Signed-off-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
2021-09-03 02:03:54 +00:00
Pierre RousseauandLucasLefevre 1dcf1acd3b [REF] web: Allow to get ir.filter values without creating the record
In the spreadsheet app, we need the exact same values which are saved
for "ir.filter" records.

This commit refactor a bit things to allows getting those values without
actually creating the "ir.filter" record.

Task 2572184

Part-of: odoo/odoo#75859
Co-authored-by: LucasLefevre <lul@odoo.com>
2021-09-03 02:03:53 +00:00
oco-odoo 5419fe445d [IMP] account: allow instantiating taxes from foreign charts of accounts
In multivat setup, we need to create taxes in foreign countries to map them with domestic taxes. Before this commit, this was only possible manually, even though all the necessary information lies in Odoo's account.tax.template objects created by l10n modules.

We now display a banner on top of foreign vat fiscal positions with a button allowing instantiating those templates directly from them when it's appropriate.

closes odoo/odoo#75803

Task: 2453325
Related: odoo/enterprise#20553
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
2021-09-03 02:03:43 +00:00