Before this commit, x2m fields were described as 'sortable'
This was odd since:
- When actually sorting on one of those fields through the webclient
the sorting was gibbrish
- Even the orm silently warned in the log that
the field was not a sql column and therefore was not sortable
After this commit, only a field which is column (and a few other conditions)
can be sorted
Task 1863492
closesodoo/odoo#46921
X-original-commit: dd3094378fc322447d1aef994f6bace3f0c24288
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
For the moment it's not possible to reconcile batch payment in multicurrency set up
because the reconciliation trigger _compute_amount for all entry
recompute_amout trigger _inverse_amount_total that will
write on protected field such as debit, credit
1° when the currency is not same as company currency because the
convertion was done from currency_id to currency_id and not currency_id
to company_currency_id
2° even when the correction is correct you may have data that lead to
different rate at the computation then when the move was originially
computed
3° when you have float representation issue because != is use to
compare float
Solution:
Fix _inverse_amount_total
In Trigger the compute_amount only for invoice
and since the method _inverse_amount_total try to change the amount
only for entry with 2 lines the method will be never trigger during
reconcilation.
closesodoo/odoo#46886
X-original-commit: 5bd659fb16a44d1bc593cf932445e2cc628e12a8
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
When creating a new invoice, the date is not set by default. This date is set when posting it.
Otherwise, since the date changed, we need to trigger onchange_currency to manage the new
conversion rate at the new date set. Otherwise:
1) anglo-saxon lines never have a foreign currency.
2) it will recompute the balance based on the subtotal. Using a FIFO method, the
price_unit is computed as an average and, in our case, the price_unit should be
9.33333333 x 6 = 56. Then, at the creation of the invoice, balance=56 and
price_unit is rounded by the orm to 9.33. When posting the invoice, since onchange_currency
is triggered after setting the invoice date, the balance is recomputed as 9.33 * 6 = 55.98.
github issue: 46615
closesodoo/odoo#46917
Co-author: sle-odoo (sle@odoo.com)
X-original-commit: 19251c684119a537111126d15374e3d0b6e040b3
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Adding required fields on company model is annoying for tests. Indeed multi
company tests may run during module installation, notably in CRM. Those tests
generally require to create a new company which is not possible if the column
is required but module not already loaded in registry. This is the case
if for example hr_expense is installed and updating CRM.
When possible, avoid required fields on a such used model as company. In this
case we can easily consider a void value as 'no_send'.
In this commit we simply make the field not required in database but set
a required on the view itself to avoid confusion. That way behavior is still
the same, existing databases are left untouched as all keys still exist
and running tests is smoother.
LINKS
Follow up of odoo/odoo@4eeeb4f172 and odoo/enterprise@be3cfc3bab
and odoo/enterprise@227da38f9a .
Task ID 2207180
Community PR odoo/odoo#46601
Enterprise PR odoo/enterprise#8903closesodoo/odoo#46889
X-original-commit: 1c289d8692e0cdff25b08988994820af655cb289
Related: odoo/enterprise#9013
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Before this commit, the media-dialog was reading all attachments that
matched certain criteria for each tab. On large databases, this results
in the search_read call timing out, preventing the media-dialog from
opening and making all images and documents un-editable.
One unfortunate consequence of this is that we can no longer use the
firstFilter and lastFilter features, as those rely on fetching all
records and sorting them client-side, as such, this feature has been
removed entirely.
task-2198527
closes https://github.com/odoo/odoo/issues/43113closesodoo/odoo#46895
X-original-commit: 1e91a89b78ff6019c6120c73ea1eab09b3d58d2f
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Revert of old editor (35b6182) has reintroduce code invalid.
Now the data is wrapped in message (f8fe314e7)
Remove guarded that raise a warning, it is the default behavior now.
closesodoo/odoo#46870
X-original-commit: 9d3a2903fd7bf946c033ec78e959e3ed86754845
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
The m2o widget did not provide the correct default context key.
closesodoo/odoo#46888
X-original-commit: d59ebe634f3d9f89d493ca38418513bea24f3ba9
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Before this commit, the IBAN number was showing behind the X or V of the
validator.
This commit adds a class on the input when the validator is added, so
that a padding is set on it. The result is that the IBAN text doesn't
show behind the validator any more, once it has been displayed.
closesodoo/odoo#46859
X-original-commit: 0b2c40dbe0df2802b6a1d2969b4e6651a750f928
Signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com>
The UserMenu and CompanySwitcher still had a caret, whereas all
other items don't. For the sake of consistency, this commit
removes the caret for every items.
Task 2186309
Before this commit, when creating the first record in an editable
list (displaying no content helper), the width of the handle widget
cell was correct while the row was in edition, but it was reset to
0 as soon as the record was saved.
There are two places where this issue occurred: Journal Groups
(Accounting) and Ticket Type (Helpdesk).
After this commit, proper width will be set for the handle widget
in the editable listview on the first record creation.
task-2166338
closesodoo/odoo#46846
X-original-commit: 28b06e78b4940d3b6feb23c77c7de3441a50c0dc
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Purpose:
Modernizes and facilitates files upload in manufacturing app.
In this Commit:
- Show the image in Kanban.
- Allow to access a preview of the file when clicking on it in the
Kanban view.
- Add a 'Edit', 'Delete' and 'Download' in kanban card dropdown menu.
- Add Upload button in control panel to upload document which will
create new record of `mrp.document` and also add a testcase for it.
task-1960733
closesodoo/odoo#42168
Related: odoo/enterprise#8977
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Issue
- Set outgoing mail server
- Install Online Ticket Submission
- Publish an Helpdesk Team
- Log out
- Create a ticket from the helpdesk form
The user who created the ticket is "Public User"
He has no email address, so the mail is not sent
Cause
insert_record method in website_form/main.py uses .sudo()
In v12 => sudo replaces the user in env by the superuser => ok
In v13 => sudo adds a flag "su" and does not replace the user in env
Solution
Add a with_user(SUPERUSER_ID) to the create method's call in
insert_record
OPW-2196668
closesodoo/odoo#46835
X-original-commit: 761ae16634b14bec7be522666bb2163490566ecc
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
Before this commit, control panel height flickered when the
bottom bar only contained the pager (no view switcher and no
action buttons): when the user added a filter matched by no
record, the pager disappeared and the bottom bar height went from
35px to 30px.
To reproduce the issue, go to Data Cleaning (have some data), and
add a filter.
This commit reworks a bit the control panel layout such that the
bottom bar always keeps the same height.
task-2178933
closesodoo/odoo#46117
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Steps to reproduce the bug:
- Let's consider two companies A and B
- Let's consider a user U logged in A and with A and B in company_ids
- Let's consider SO1 in A and SO2 in B for the same partner P
- Go to the sale order list view and select SO1 and SO2
- In action select 'Invoice orders'
- Create the invoices
Bug:
One invoice in A was created for the two sale orders instead of two.
One for each company.
opw:2199315
closesodoo/odoo#46787
X-original-commit: eac547c7cac3e1a9fb1bb8934a1e801522a9d498
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
- Set a product category to automated
- Create an Analytic Default for a product with the automated category
- Create an SO with said product.
- Confirm SO and try to validate the delivery order
Get an error (Model Analytic Line (account.analytic.line), Restriction: account_analytic_line_group_id_fkey)
opw-2204771
closesodoo/odoo#46795
X-original-commit: 6cdbc8c43afb560ee4fa1c9486aba0d919b8ed51
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Issue
- Install CRM, Discuss
- Have 2 languages (e.g. french english)
- User 1 > French
- User 2 > English
- Create an activity as user 1 for user 2
- As user 2, check discuss > history
Notification received in french
Cause
mail_activity action_notify method uses
the context language which is the active
user language.
Solution
If user 2 has a language set, use this
language for translating body template (self)
and activity type (activity)
OPW-2205409
closesodoo/odoo#46800
X-original-commit: ccfe573b4eee82de92d130addb745f68b3fd3bd9
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
* Repair lines should have a repair order
* Repair fees and lines companies should be related to the order
company.
closesodoo/odoo#46774
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Since 12.0, the links on the login forms are no longer next to the
main button, but under it.
This commit reflects this change in the reset password form, which has
not been updated yet.
closesodoo/odoo#46798
X-original-commit: b71bf59d417983000592a226025637ee250c2bb8
Signed-off-by: Paul Morelle <madprog@users.noreply.github.com>
When mailgateway receives an incoming email being a reply to a thread but
containing a recipient being an alias linked to another model, it is
considered as a forward to that new alias. It therefore skips the reply
step in routing and applies rules related to new thread, aka checking
all recipients.
Consider this use case: receives a email on a task from "project@domain"
project being the alias of the project which creates new tasks when not
routing replies. Reply / forward it to "project@domain, sales@domain" in
order to transfer it to the sales team (sales alias creates new leads).
As this is a forward, both aliases are evaluated, leading to a new task and a
lead which is not what we expect.
We solve this issue by removing alias linked to the ignored reply model
when considering recipients.
PR #46764
Task ID 2121551
closesodoo/odoo#46784
X-original-commit: 7cff7787cb42cc9d3d0cb4c5af41a9f09d59d1ff
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
/!\ This commit is a manual forward-port of two PR targetting originally
11.0: #40442 and its fix / partial revert #41042. /!\
Purpose of this commit is to check all recipients of incoming emails when
trying to determine the route to apply. Notably
* an incoming email should be considered as a write to catchall only if all
recipients are catchall. Catchall + a valid alias should take the alias
into account;
* an incoming email sent to the bounce alias should be considered as a bounce
even if another valid alias is in recipients and whatever the order. Indeed
it indicates an issue and bounce is considered as more important;
* forward to an alias linked to another model should check all recipients
and not only the first one. Otherwise reply_alias, forward_alias is
considered as a reply whereas it should be considered as a forward when
considering all recipients;
Tests are added according to those specifications.
Please see original PRs for more details about the content, the comments
done on it and the various discussions.
PR #46764
Task ID 2121551
X-original-commit: df00bd2d3bddf9a2b56e8554380669025e146d21
Because of the event propagating to an option's parent, a snippet option
requesting a uservalue widget would also get back the corresponding
widgets on the parent snippetEditor, this has the potential to cause
unforeseen problems. This commit fixes that by stopping the event's
propagation.
closesodoo/odoo#46724
X-original-commit: 1441b3c2f4f935771b3210be82f7b471aa028b64
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
This commit cleans visitor's code:
* remove 'response' parameter that is not used anymore
in _handle_website_page_visit method.
* remove 'website_track_values' parameter that was not set anywhere anymore
in the _create_visitor method.
Task ID: 2205541
PR #46339
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Steps to reproduce the bug:
- Create a MO
- Click on 'MARK AS TODO'
- Update the quantity to produce
- Produce the MO and click on 'MARK AS DONE'
- Unbuild the MO
Bug:
A traceback was raised because finished_move was not a singleton.
opw:2199529
closesodoo/odoo#46765
X-original-commit: a48573f3089bf78892f90df1dc883a257d047312
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
- In some cases One2many fields defined as computed without
inverse field defined could cause crashes if it is used
in a search.
This should not be done, but shouldn't crash either.
With this fix, trying to search on one of this fields
would just print a warning.
closesodoo/odoo#46742
X-original-commit: 4b4f1623590f2e872c565e8e56002bc3f5bf9efe
Signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com>
- Create a product A with UoM set to 'Units(s)'
- Create a product B with UoM set to 'Liter(s)'
- Create a BOM of type kit, 2 Liters of B to create 1 Unit of A
- Create a PO with A, validate
- Validate the corresponding picking
An error is raised since we try to compute the quantity received in
Units based on a quantity in Liters.
In case of a kit BOM, an override exists in `purchase_mrp` to compute
correctly the quantity. Therefore, we can skip the line.
Corresponding fix for SO: 47959438b6Closes#45871
opw-2205970
closesodoo/odoo#46748
X-original-commit: 2ad4621c03a1885f2bb210960ebe8b5ae277e439
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Install account_accountant,stock,purchase,sale_management
Activate 'Margin Analysis' in Accounting settings
Create a new product (on the category set FIFO and Automated Inventory
Valuation). Set $100 for the price and $60 for the cost,
update 2 quantity on hand.
Receive 1 more product via PO ($70 as the cost), and deliver 1 via
SO. With 2 quantity left (inventory value is $135 for 1 $60 and 1
$75) open Accounting>Reporting>Product Margins
The Avg. Sale Unit Price and #Invoiced in Sale are incorrect,
we only sold 1 item so far, but the report display 3.
This occur because accounting lines are kept into the calculation of the
sale line. Using 'exclude_from_invoice_tab' to filter out such lines fix the issue.
opw-2196625
closesodoo/odoo#46741
X-original-commit: 5f28d1865aa6b4e204e052bf43ecfbfe7d45252b
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
The 'allow_timesheet_timer' field should not have a default value as it is
computed according to the 'allow_timesheets' field value.
Some tests have been added to check the coherency between 'allow_timesheets'
and 'allow_timesheet_timer' fields, at project creation and update.
closesodoo/odoo#46692
Taskid: 2206820
Related: odoo/enterprise#8923
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Currently, the method `on_attach_callback` is never called on any Widget in the
systray.
Calling `on_attach_callback` is required if any systray widget uses an OWL
component via the ComponentWrapper. Without the callback, the component is never
considered mounted to the DOM and no event handler is triggered.
closesodoo/odoo#46566
Related: odoo/enterprise#8887
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
- Remove the deprecated 446000 Acomptes reçus account
- Create a new account 461000 Acomptes reçus (Current Liabilities)
- Create a new acompte 460000 Acomptes à recevoir (Current Liabilities)
Was task 2205560.
closesodoo/odoo#46714
X-original-commit: 8d6c5c9a2b576b67692ac1d6970d7711f9695c79
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>