- Create 2 companies C1 and C2
- Assign User U1 in C1
- Assign the default Sales Team (`sales_team.team_sales_department`) to
C2
- Create an invoice with U1
An `AccessError` is raised because the user is not allowed to access the
default Sales Team.
We fall back on `sales_team.team_sales_department` only if the user has
read access.
opw-1876966
You:
- open a grouping in a list view
- check a line of this grouping
- open another grouping
=> all checkbox are unchecked
With this commit, 0982ceaa is improved so the selection is only reset
when the list has been reloaded.
opw-1865736
closes#26213
Since cce70fd4 the attachment menu is only displayed for form view.
But if in another view there is active_ids (eg. selecting record in a
list view), we will still make a query to ir.attachment without using
the result.
Without the code change, the added test would fail when doing a
search_read RPC call to ir.attachment model.
related to #26213
- Create a BOM for Product P with the following component:
Product C, 5.0 units
- Make some stock for C:
2 units in location 1
3 units in location 2
- Create a MO for P, reserve.
When trying to produce an error arise:
> Cannot set the done quantity from this stock move, work directly with
> the move lines.
If the user tries to unlock the MO in order to set the done quantity on
the move lines, the same error will arise when trying to produce.
In the specific scope of the production, we set the quantity done on the
move line instead of directly on the move, to avoid this limitation.
opw-1871241
Co-authored-by: Arnold Moyaux <arm@odoo.com>
If a user wants to scrap more quantity than he has in stock, we return
to him a confirmation wizard. This doesn't make sense when scrapping
consumables products, as there are no quants for these kind of products.
task 1864026
- Set 'Product Price' accuracy to 5 places
- Create a PO for a product to a new supplier
- Enter price at 3.14561 / unit
Supplier info entry rounded to 3.15, while it should be 3.14561.
Closes#22253Fixes#22252
PO that can be linked to an invoice are filtered via a domain
restricting the partner. However when no partner is selected yet, the
domain was `('partner_id', 'child_of', False)` which, beside being horribly slow, was also useless as it returns ALL partners.
Only generate a meaningfull domain.
Recommended by GitHub's repository alerts.
We normally stick as close as possible to the version we depend
on in the official DEB packages. This in turn depends on the version of
Debian stable at the time of release - for 9.0 that would be Debian 8
(jessie) and thus Pillow 2.6.1.
However Pillow versions before 3.3.2 and Jinja2 before 2.8.1 suffer
from a few issues that could lead to crashes of Odoo workers.
The bugfixes have been backported in the DEB packages for Pillow,
so users of Debian/Ubuntu LTS versions won't be affected if they are
keeping their systems updated.
However it's worth an exception to our rule for pip users.
- Create a product A tracked by S/N
- Get some stock of A
- Create a SO and sell 1 unit of A, confirm
- Go to the picking, validate
An error message forces the user to manually encode the 'Done'
quantities.
This step is not necessary, since the user will still get a message
notifying him that the reserved quantities will be used as done
quantities.
opw-1873180
Do not replace the day value without notifying the user.
In undetermined circumstances, a fiscal year last day and month can be
replaced by the default December 31st value. Since all settings are
re-written for any setting changed, this is likely to happen in the back
of the user.
Moreover, the `_verify_fiscalyear_last_day` is not correct since it
doesn't accept February 29th, while `compute_fiscalyear_dates` handles
it.
opw-1867978
opw-1873260
When converting an opportunity to a quotation, marketing context (campaign,
medium and source) weren't copied to the newly created quotation.
opw 1863825
A mass mailing can be considered both as bounced and opened. This can
occur with some email providers, such as Gmail. Indeed, Gmail sends
out-of-office replies to the `Return-Path` address, which is also used
for bounced emails. Therefore, it is not possible to determine
accurately if a message sent to to the `Return-Path` is a genuine
bounced email, or an out-of-office reply.
However, if the recipient opens the email, it is possible to determine
that the bounce was counted incorrectly. In this case, we empty the
`bounced` field. Similarly, we only write on the `bounced` filed if the
`opened` field is empty. This could occur if the recipient opens the
email before the out-of-office reply is received.
As a bonus, we also make sure to avoid updating the status if no route
was found. No route means that the email was bounced, so no reason to
set it as opened.
opw-1869957
During an import, account_invoice.py's _onchange_partner_id can return a
RedirectWarning exception, which wasn't properly handled by the load method.
Since it is an Exception, it was expected to have a name field.
We add it as a property so that they can be treated uniformly.
opw 1866965
Usecase to reproduce:
- Set a product buy and MTO
- Create a SO with it and cancel it
- All the pickings are cancel
- Cancel the PO
- The picking that generate the PO is set to confirm
The picking should remain in cancel state
It happens because the button_cancel method still
consider the canceled moves.
This commit only modify destination moves if they still
require an action from the user.
If there is less than 5 invoices lines, {5 - number of invoice line}
empty invoice line are added as padding.
But these line could have a different number of column than the content,
thus the style could differ slightly or more erroneously if there was
background color depending on column number such as on the boxed style
layout.
opw-1870625
closes#26317
opw: 1872220
Purpose
=======
1/ Go on Settings -> Users, enable some groups for a specific user
2/ Go on any app -> Configuration -> Settings, modify a group
All the specific groups assigned to a user are erased.
Specification
=============
We should avoid to remove a user from a given group.
Create a new res_group with the default value, and only apply the
group modification if the group has actually been modified.
When accessing a quotation from an email link, no action is given.
As a result, after create/discard of a new record, the abandonRecord method does
not find a fallback page to go to, and it appears as if the discarded new record
had been created.
opw 1869350
11.0-opw1869350-action-len
Purpose
=======
Steps to reproduce
------------------
Install hr_payroll_account
Configure a salary rule
Create a payslip and confirm
Current behavior
----------------
A journal entry is created without items.
Expected behavior
-----------------
Create the journal entry with all items like it's created
When the payslip is computed (compute sheet button) and validated.
resolve https://github.com/odoo/odoo/issues/24796
Specification
=============
Now the super of ```action_payslip_done``` is called before the creation
of the journal entry. This means that the ```compute_sheet``` method is
called too before the filling of the account move.
Companies:
B child of A
User:
Demo in B not in A
Admin in A
Create a product with Admin:
track service = timesheet on project
invoicing policy = delivered quantities
Create a SO with Demo and validate, a project is created
Now, make the demo user timzsheet on it
Before this commit, there was an access error on company,
that was because the the company that was choosen to determine the cost, was the one on the employee, which could be
in another company than the user and moreover than the project
After this commit, we take the company of the project
OPW 1871440
closes#26271
Create an invoice, validate it
Create a payment from athe account.payment model (not the register payment wizard)
click on the smart button payment matching, and match the invoice with the payment
Reconcile
Before this commit, the invoice was not part of the invoice_ids field of the payment,
So, when printing the payment receipt or check, there was nothing on there
After this commit, we associate the invoice with the payment, and the receipt prints
what is expected
OPW 1871575
closes#26245
If a user embeds a youtube video on his website, he has no option to remove the
suggestion of related videos at the end of playback.
Since there is no good reason to have it, we disable the related videos in all
cases.
opw 1868380
Before this commit, when authorize (for example) returned a business error
the error wasn't displayed to th ecustomer
After this commit, it is.
OPW 1866408
closes#26279
In the original commit 19116cc878, `action_assign` was called
on all `move_ids`. However, after API conversion, moves are filtered.
Closes#25886
opw-1868834