- 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.
closesodoo/odoo#75762
X-original-commit: b53ff03b5cf43c2cd23039b8192f4d90d47e11d2
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
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
closesodoo/odoo#74827
Related: odoo/upgrade#2786
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: Antoine Vandevenne <anv@odoo.com>
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>
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
closesodoo/odoo#68149
Related: odoo/design-themes#11
Related: odoo/upgrade#2294
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
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
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
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
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
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
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
closesodoo/odoo#75921
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
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
closesodoo/odoo#75736
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
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.
closesodoo/odoo#75518
Task-id: 1737
Related: odoo/upgrade#2799
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
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
closesodoo/odoo#75041
Related: odoo/enterprise#20350
Related: odoo/upgrade#2750
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
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
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
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
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
- 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
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
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
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
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
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/20082closesodoo/odoo#74203
Related: odoo/enterprise#20082
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
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
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
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/880465980986368050closesodoo/odoo#75848
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
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>
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
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#2186closesodoo/odoo#65871
Signed-off-by: Benoit Socias (bso) <bso-odoo@users.noreply.github.com>
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
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
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
(*: 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
The service is called `notifications` when mocked in tests,
instead of `notification`
closesodoo/odoo#75859
Related: odoo/enterprise#20554
Signed-off-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
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>
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.
closesodoo/odoo#75803
Task: 2453325
Related: odoo/enterprise#20553
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>