This commit duplicates the components Emoji and EmojiList into
other components called "LegacyEmoji" "LegacyEmojiList".
We do this so that we can implement the new EmojiPicker in Discuss
code, without affecting the code of `knowledge` during development.
When the Emoji Picker is in a good state with just the scope of
feature of Discuss, then we can integrate this new Emoji Picker
in other modules, like `knowledge`.
Task-2890268
closesodoo/odoo#94254
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
In picking type, we introduce a new setting ask-always-never setting for
creating backorder. When a backorder is needed, the behaviour will be
different according to this setting:
- ask: popup a wizard to ask if a backorder is needed
- always: generate backorder automatically
- never: no backorder
The main reasoning behind this change is that there are some scenarios
in which operators always create backorders (e.g. by validating the
transfer after scanning a pallet and setting quantities). Hence, always
asking if the user (operator) wants to create a backorder can be confusing.
task-2648993
Part-of: odoo/odoo#83462
When unbuilding a product, the selected source location is not applied
on the SM.
To reproduce the issue:
1. In Settings, enable "Storage Locations"
2. Create two storable products P_compo, P_finished
3. Update the qty of P_compo: 1 in WH/Stock
4. Create a BoM:
- Product: P_finished
- Components: 1 x P_compo
5. Process a manufacturing order MO with 1 x P_finished
6. Transfer the P_finished from WH/Stock to WH/Stock/Shelf 1
7. Create an unbuild order UO:
- Manufacturing Order: MO
- Source Location: WH/Stock/Shelf 1
- Destination Location: WH/Stock/Shelf 2
8. Confirm UO
9. Open the associated product moves
Error: The SML of P_finished is incorrect, its source location is
WH/Stock instead of WH/Stock/Shelf 1 (as a result, the quants are
incorrect too).
The issue only happens with P_finished. The destination of the
components is correctly defined:
https://github.com/odoo/odoo/blob/90a87d6ecd420c61ea8db8a6c571db477ee7220e/addons/mrp/models/mrp_unbuild.py#L229
(i.e., we use the destination location of the unbuild order)
OPW-2869454
closesodoo/odoo#94367
X-original-commit: 45ec5871a1ee6e3a31e790323f08df20715f4171
Signed-off-by: Tiffany Chang <tic@odoo.com>
Signed-off-by: Adrien Widart <awt@odoo.com>
When selling a kit with a dropshipped component, the delivered quantity
will be incorrect
To reproduce the issue:
1. Create 3 consumable products P01, P02, P_kit:
- P02:
- Add a seller S
- Enable the dropship route
2. Create a bill of materials:
- Product: P_kit
- Type: Kit
- Components:
- 1 x P01
- 1 x P02
3. Create and confirm a sale order SO with 1 x P_kit
4. Confirm the generated purchase order (with vendor S)
5. Process the two pickings of SO
6. Go back to SO
Error: The delivered quantity of P_kit is 0 instead of 1
When computing the delivered quantity, because the `dropship` flag is
not set, we don't reach the revelant code:
https://github.com/odoo/odoo/blob/3db136f19480b31ca3f60a77c0c7354161bedde0/addons/sale_mrp/models/sale_mrp.py#L37-L44
OPW-2870893
closesodoo/odoo#94364
X-original-commit: fff6edad8cfb45b9a622bceefa4b83f620d7fe86
Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
Signed-off-by: Adrien Widart <awt@odoo.com>
When a MO is generated in order to supply another one, the smart buttons
"Source MO"/"Child MO" are still invisible.
To reproduce the issue:
1. In Settings, enable "Multi-Step Routes"
2. Enable MTO route
3. Edit the warehouse: 3-steps manufacturing
4. Create 3 stored products Super, Sub and Compo:
- Sub has two routes: MTO and Manufacture
5. Create two BoMs:
- For 1 x Super:
- 1 x Sub
- For 1 x Sub:
- 1 x Compo
6. Create and confirm a MO with 1 x Super
Error: On confirmation, a second MO is created to produce one Sub, which
is correct. However, neither the first MO nor the generated one has a
link with the other one (through the smart button "Source MO"/"Child
MO")
When confirming the MO, a SM is created to bring one Sub to the
pre-production location. Thanks to MTO route, this will generate another
SM that brings one Sub from post-production to stock location (this will
lead to the creation of the second MO). However, the other SM (1 x Sub
from Post to Stock) doesn't have the same procurement group. This is the
reason why it is not found by the `_compute` methods.
OPW-2730830
closesodoo/odoo#94334
X-original-commit: 81e5ce05f2f79eb19489f00fb867143189fb38df
Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
Signed-off-by: Adrien Widart <awt@odoo.com>
- Change some section and column headers to make content clearer based on MO status
- Add in columns/field for in progress MOs for easier tracking of MO status
- Update words to match field names more closely (i.e. Actual Duration, To Consume, etc.)
Task ID - 2688146
closesodoo/odoo#93066
Signed-off-by: Tiffany Chang <tic@odoo.com>
Sorting the `stock.quant` by lot_id didn't work correctly
Steps to reproduce:
1. Install Inventory
2. Edit a product tracking to 'By Unique Serial Number' (e.g. Acoustic
Bloc Screens)
3. Go to Inventory > Overview > Receipts, create a receipt for 3
Acoustic Bloc Screens with serial number '05', '01' and '03' and
validate
4. Go to Inventory > Reporting > Inventory Report, remove the
'Group By' filters and sort the entries by Lot/Serial Number
5. The serial numbers are not properly ordered ('01' is between '03'
and '05')
Solution:
Order the `stock.production.lot` by name
Problem:
Sorting the `stock.quant` by lot_id used the id of
`stock.production.lot`
opw-2879464
closesodoo/odoo#94358
X-original-commit: 4c855bd3eeb7ffcebd76eb4eaa1e41edf2935021
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Guillaume Merlin (megu) <megu@odoo.com>
We only want the edi.format options to appear on the sale journals
(out_invoice, out_refund).
In addition, the warnings are no longer displayed on top of the invoice.
closesodoo/odoo#94376
X-original-commit: dca5a2844ef2e90c257b78add3e147b291a9fa18
Signed-off-by: Laurent Smet <las@odoo.com>
Signed-off-by: Julien Van Roy <juvr@odoo.com>
Currently, the register payment button in the invoice form view is
accessible to any Accounting/Billing user. But in the payment register
wizard, the payment difference related fields are only visible for an
Accounting/Auditor user. This does not make sense as the auditor access
level is a read-only role, and there is no dependency between auditor
and billing rights. We should remove the group (as it is already
restricted in the access rights of the model) in the wizard to allow
billing users to use the functionality without the need for accountant
access rights.
closesodoo/odoo#94380
X-original-commit: 488bda480a38f9c09496f770be8a6f540c541044
Signed-off-by: William André (wan) <wan@odoo.com>
Signed-off-by: Alex Thuyls (alt) <alt@odoo.com>
Adds a variant `_check_credentials_for_uid()` for auth_totp.device's
`_check_credentials()`. The new method will directly verify the device
key matches the given uid.
This spares the redundant uid comparison on the caller side, and
allows extension modules to customise the user/device matching logic.
closesodoo/odoo#94365
X-original-commit: 0e266eb3c73409950d1eb160c41eb6668d439856
Signed-off-by: Olivier Dony <odo@odoo.com>
The test was introduced in [1] with a typo on the first step (which is
only there to ensure the test does contain steps).
Note: with the 15.1 forward-port, the "number of steps" check had to be
adapted because snippets were removed at [2]. This reveals however two
issues:
- Snippets which use the generic "Dynamic Snippet" as base are not
tested by the test.
- [2] removed the s_speaker_bio snippet by mistake
Both those problems will be fixed in other PR alongside improving the
way the "number of steps" check works.
[1]: https://github.com/odoo/odoo/commit/460d5ecb926c13a79ba363f8f86442433d91bf6f
[2]: https://github.com/odoo/odoo/commit/b5c87d86cad1aa2b44f805da0b2d6635aeb85b96closesodoo/odoo#94359
X-original-commit: 8e6a6ab532637ef9ef8d87ca4062e26b2852825a
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
*: website_livechat
This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.
Task-2892367
closesodoo/odoo#94347
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
This commit adds a search restriction on _compute_qty_received_method which will prevent the received method field from recomputing on orders that have already been finished.
This method is only called on the installation of this module and is used to update order lines of consumable products to use the standard computation of stock moves. In cases where purchase orders were completed ahead of this module's installation, this method effectively undoes all received quantities and resets them to zero. In orders that were already confirmed and billed, this displays the order lines with zero received quantities and no way to functionally change it.
opw-2854810
closesodoo/odoo#94325
X-original-commit: 849a561ebb26e7dca9018c6f81b8492ef21d7a7a
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
*: im_livechat, test_mail, test_mail_full.
The createMessagingMenu helper was used during tests to mount
the messaging menu and test it. However, this approach is not
very realistic and blocks some waiting PRs. In order to get closer
from the reality, let's instanciate a webClient and a systrayService
for the messagingMenu to be present at all time.
closesodoo/odoo#94301
Related: odoo/enterprise#28747
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Since [1] the attachments are not found by `get_image_info` anymore
because the search based on the id only does not specify the model.
Because of this the mimetype of uploaded images is not put in the DOM
image's dataset. This lack of mimetype prevents the Shape, Filter, Width
and Quality image options from being used.
This commit defaults the model to `ir.attachment`.
Steps to reproduce:
- Drop a "Text - Image" snippet.
- Replace the image by uploading one.
=> The Shape, Filter, Width & Quality options did not appear anymore.
[1]: https://github.com/odoo/odoo/commit/da8def8e410de68256ba4ab09ebf7a8b699355ac
task-2883695
closesodoo/odoo#94288
X-original-commit: 99fda1024ff7d809f13523acd13770c02a49d1e1
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
action act_window can have a "flags" field which contains tweaking parameter for the views.
A little inventory:
- ation_buttons: if true displays on List and Kanban the buttons that trigger action
in the control-panel bottom left area. It is true by default in JS.
- withControlPanel: whether to display the ControlPanel as a whole. True by default.
- search_view: not used or dealt with.
- mode ("readonly"|"edit") whether to initiate a form view in that mode.
(used and practical -- but will be outdated when the edit mode by default is implemented)
This commit removes the occurences of those flags keys that are useless
closesodoo/odoo#94078
Related: odoo/enterprise#28620
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Currently, when the visitor closes the chatbot conversation, the script keeps
running as there is nothing in the code to tell it to stop.
Which can cause issues, because the visitor is still able to "post" messages
through the rating, which will trigger the next step of the script.
Even though the user cannot see those messages and bot reactions, we should
still correctly end the script when the conversation is closed.
Especially since the visitor can ask to receive the conversation by email, and
we don't want him too see that the script wrongly continued.
Task-2882341
closesodoo/odoo#94234
Signed-off-by: Warnon Aurélien (awa) <awa@odoo.com>
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
When testing the script and being logged in, a very edge case can happen when
we try to find a human operator and find "yourself" as a suitable operator.
In that case, act as if we did not find anyone.
Otherwise, the display gets strange as the bot adds "yourself" as an operator
but still acts as if he did not find anyone since there is only one person in
the conversation.
Task-2882341
Part-of: odoo/odoo#94234
Suppose we are printing a PDF on multiple records but having some of them excluded during the _prepare_html.
So, suppose these records are [20, 21].
If [21] is excluded during the rendering because nothing to render, the resulting html will contains only [20].
That is leading to a traceback when checking the outlines because of
assert len(outlines_pages) == len(res_ids)
This commit avoids to check the outlines if we don't care about generating attachments.
Then, we don't need to split the PDF in that case.
closesodoo/odoo#94204
X-original-commit: 210e63ab8b036bd20c68b1e03462c75af12aa326
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
Signed-off-by: Laurent Smet <las@odoo.com>
Some more iterations for improving the Journal Items list UX.
- Added a searchpanel on accounts
- Added the column Residual in Currency
- Dropdown list on account edit
- Added the Residual column
closesodoo/odoo#94076
Related: odoo/enterprise#28644
Related: odoo/upgrade#3612
Signed-off-by: Cedric Snauwaert <csn@odoo.com>
This PR main purpose is to revamp the grouped Kanban implementation on mobile to provide a more responsive, smoother and closer to the desktop functionalities experience for the user.
In a nutshell:
- columns are displayed individually ; an horizontal scroll allows to
switch to the other ones, "snapping" to the column (aka. carroussel-like).
- each column takes 90% of the viewport's width to give a hint of its
siblings.
- each column scrolls (vertically) individually to avoid being lost when
switching from one column to another.
- folded columns are "virtually unfolded": they takes the same space as
the other ones, but content is loaded on-demand.
- some configuration modals are fullscreen for ease of use.
Also, in this PR, the WebClient's layout has been standardized between Community and Enterprise to ease the maintenance and avoid redundancy.
Part of the SCSS revamp task-2704984
task-2883057
closesodoo/odoo#94134
Related: odoo/enterprise#28652
Signed-off-by: Adrien Dieudonné (adr) <adr@odoo.com>
This commit revamps the grouped-kanban implementation for smaller
screens (aka. mobile) by making it more "responsive" and avoiding
mobile-specific variation. It makes the implementation simpler and
closer to what the user expects from the desktop version.
In a nutshell:
- columns are displayed individually ; an horizontal scroll allows to
switch to the other ones, "snapping" to the column (aka. carroussel-like).
- each column takes 90% of the viewport's width to give a hint of its
siblings.
- each column scrolls (vertically) individually to avoid being lost when
switching from one column to another.
- folded columns are "virtually unfolded": they takes the same space as
the other ones, but content is loaded on-demand.
- some configuration modals are fullscreen for ease of use.
Part of the SCSS revamp task-2704984
task-2883057
Part-of: odoo/odoo#94134
This commit refactors the WebClient's layout definition to avoid
differences and redundancy between Community & Enterprise editions.
This would ease the maintenance by streamlining both implementation,
keeping them closer. It also allows to have more similar scrolling
handling by default:
- on desktop: `o_content` is the action scroll container (no change)
- on mobile: `o_action` is the action scroll container (down from `html`
node, to keep the navbar)
Part of the SCSS revamp task-2704984
task-2883057
Part-of: odoo/odoo#94134
This commit achieves two things:
1) Avoid calling super() on an empty recordset, in case all products
are kits. Even on an empty recordset, some queries would be fired.
This commit avoids them.
2) Use prefetch to read kit components quantity fields, to make use
of the recorset optimizations that ends up saving sql queries.
Otherwise, component quantities were computed on-demand one by one.
closesodoo/odoo#94225
X-original-commit: ef4ae7f62d6b690b4745b4145ce25ff02b6b29f6
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Attendance report is calculated from the timesheets of all the companies
when multi-company is enabled but only one company is allowed. This commit fixes it.
Steps to reproduce:
- Create two companies
- Create an employee with a user allowed in both companies
- Create timesheets in both companies for that employee
- Allow only one of the two companies
- Check the Timesheet Attendance report -> timesheets from both companies are counted
This issue arrived from this commit:
https://github.com/odoo/odoo/commit/c69fe38b946089919c8939bbd9d1adc2602ddd2c
task-2782768
closesodoo/odoo#94232
X-original-commit: 0931807dab07e861e80cec3c802d4855097b0061
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
view `base.res_partner_view_form_private`.
Currently, when user setting data for accounting or payroll, the bank
had not set yet.
Therefore, they have to open Contacts to adding new bank, then back to
Employees to check if bank available.
This PR will adding bank_id to improve UX make fewer duplicate processes
closesodoo/odoo#94230
X-original-commit: 5ce0b0217b897ad49e03467c57a393f27067ac3a
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Start with 'demo' data is important for good onboarding.
But once we use the module in production, we don't want to reset price
with default one on each upgrade.
closesodoo/odoo#94218
X-original-commit: 03caf3eab8e5b612d1dbcad1b7e1e26212e9f53d
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
We don't duplicate the tax repartition lines
when upgrading the account module
Steps:
- Create a company with l10n_au installed
- Upgrade account module
- Create a second company
- Try to link it with Australian accounting
-> ValidationError: Invoice and credit note repartition
should each contain exactly one line for the base.
We remove the records before creating them again,
like we do in l10n_be/data/account_tax_template_data.xml
opw-2862296
closesodoo/odoo#94213
X-original-commit: a33b7eea6222a89da9915d24a8122be7952182f5
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
Signed-off-by: Guillaume Vanleynseele (guva) <guva@odoo.com>
*: website_livechat
This commit is a step towards refactoring the JS of public livechat,
so that it reuses the same architecture as the code of Discuss.
This implies code that uses JS models and OWL components.
Task-2890189
closesodoo/odoo#94190
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
The call in `_renderNode` is too early and appears to do nothing. It has been
moved to `_updateView` (coming from enterprise).
Part of task-2871070
closesodoo/odoo#94188
Related: odoo/enterprise#28691
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Now that the method no longer requires an override in enterprise, it doesn't
need to exist as a separate method.
Part of task-2871070
Part-of: odoo/odoo#94188
Since last refactoring of qweb to replace postprocessing cleaning by
onEval cleaning, the space between xml node are now ignored.
It's not a bug, but a tradeoff of the new implementation to avoid empty
line with code like
```xml
<t t-if="condition">
<div>...</div>
</t>
```
closesodoo/odoo#94170
X-original-commit: 18ae4d804064dab284dadf53eed0681b8c56a555
Signed-off-by: Jérémy Kersten <jke@odoo.com>
Before this commit, with a website using multiple languages, when sharing
any links with a language other than the original language on Facebook,
the content of Optimize SEO always receives the value of the default
language.
The reason is that `og:url` does not change according to the
language of the website because it's using `http.httprequest.url`.
Note that `http.httprequest.url` doesn't contain the lang part since we
already went through the dispatch's rerouting.
So we need to localize `og:url` to fix this.
Steps to reproduce:
1. Set up 2 different languages for your website (e.g. English, Vietnamese).
Set the default language for the website to English.
2. Create any page, promote seo page for both languages.
3. Share this link on Facebook with Vietnamese language, see the title
and description on preview are still in English.
closesodoo/odoo#93998
X-original-commit: d47a2e4d08110df380c0060eebb1e9c2924b523e
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Following the steps that changed every quantity in a matrix, the next
step was triggered after at least one sale order line's quantity was
changed. Due to the number of lines created, one of the so lines was
sometimes not updated before the next step, which produces an error in
the final sale_count.
In order to check the total and ensure every line was updated, we set
the partner sooner in the tour, which in turn sets the pricelist used to
get the price of each line. Thus allowing a check on the subtotal.
task-2886524
closesodoo/odoo#93892
Signed-off-by: Morgane Demesmaeker <edm@odoo.com>
Purpose
=======
This commit add an option on the configuration to install the enterprise
module to scan and import CV information on the application form.
closesodoo/odoo#92019
Related: odoo/enterprise#26687
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Prior to this commit if work entries/payroll was installed you could not
cancel a time off in the future if the work entries were generated for
that period, however you should still be able to cancel a time off as
long as the work entries have not been validated yet.
TaskId-2791386
closesodoo/odoo#94165
X-original-commit: 975ac8d2a1809bf7725d577b0fa9143a5b255e0d
Related: odoo/enterprise#28673
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit brings some user experience improvement:
- Add a line break between the content of the email and the
'this customer survey has been sent...' indication in mail template
- Move the project_ids field out of the debug mode
task-2792027
closesodoo/odoo#92048
Related: odoo/upgrade#3579
Related: odoo/enterprise#27655
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Twitter image was wrongly computed, appending /300x300 after the unique
parameters.
Twitter image was always overwrite by `website_meta_og_img` or
`opengraph_meta['og:image']`
closesodoo/odoo#94158
X-original-commit: 086724929bd8d21537b626a79d12f8739933f5a5
Signed-off-by: Jérémy Kersten <jke@odoo.com>
This commit moves the `CallActionList` of the `CallView` so that it sits
below the main card view but not below the sideBar.
part of task-2692836
Part-of: odoo/odoo#94035