Odoo puts in cache all stored fields of a recordset when you access the
first stored field not already in cache. In this particular case, Odoo
will put in cache all stored fields of 'mail.followers', which is
unnecessary and time consuming, especially on models where user follows
plenty of records.
With thousands of followed records, using a read() when searching on
followers is around 2.5 times faster than using mapped().
Record rules based on followers are speed up the same way.
Currently, layout for rating a chat is not looking so well.
This commit improves the rating layout. It will
- Center the content (including smileys)
- Enlarge the fonts (a little bit)
- Underline the link instead of using italics (more intuitive)
Task : 1838321
PR : #24413
Before this patch the registry and cache signaling was only activated
for PreforkServer. In case Odoo was deployed in a multi process/multi
threaded architecture the signaling was not ensured, causing registry
de-synchronisation amongst threaded servers.
Backported from fd4939dc78
Before this patch the registry and cache signaling was only activated
for PreforkServer. In case Odoo was deployed in a multi process/multi
threaded architecture the signaling was not ensured, causing registry
de-synchronisation amongst threaded servers.
When posting an svg image, Odoo tries to resize it for thumbnailing
(like any image).
However this is of no interest since this is a vectorial file format, and
furthermore it distastefully makes the image library Pillow crash, since it only
supports raster formats.
The result would be a broken thumbnail instead of the image itself.
By not setting the thumbnail size if the mimetype contains svg,
we ignore the thumbnailing altogether.
Note that this only applies to the admin user, as otherwise the file is
treated as binary and thus no thumbnailing occurs anyway.
opw 1841153
We recently hid the Variants menu items in debug mode. We want to revert
this because the users need to see that menu for business operations.
eg : Check the inventory per variant
This partially reverts commit 62900064c0
Related to task #1839980Closes#24553
* [FIX] mrp: negative workorder issues
- In the onchange of the qty_producing in the wo,
we need to add the date to the stock.move.line as
it is a required field.
- When starting a workorder, check first if it has
not already been done.
Several contextual data is added in notification emails in their headers.
We consider as not necessary to put some of them, notably db uid. It should
not be used outside of Odoo and having Odoo-Objects should be sufficient
for people that want to categorize their emails.
Commit bcd4c90 was intendend to make get_file handle uncaught/unserialized exceptions
in the context of a http request
The drawback is that when get_file received a serialized exception (route: /report/download)
the JS modal was empty in that case
This commit handles both the cases
OPW 1848606
closes#24794
When opening the activity dropdown in the kanban view
of the opportunities,
the activity type names were not translated in the user language.
In addition, when marking it as done, the message
posted in the discussion thread of the opportunity
was not translated either.
opw-1847908
Thanks to this merge, users are now able to crop their images using the
editor. This is done by clicking on a content image and then the crop
button appearing in the editor bar. Cropping an image will only crop the
image at the location it was clicked by creating a new image for that
location. Cropped images do not appear in the media dialog.
task-43706
Closes https://github.com/odoo/odoo/pull/22473
- Use a shipping method costing $ 1.00
- Buy a product costing $ 1.00
In the payment page, the delivery cost is displayed `$ 1.00`, while the
subtotal is displayed `$ 1`.
- Set up as a shipper with the highest priority one which will cause an
error (e.g. service not available for customer address)
- Order a product on eCommerce, go to Payment page
- No delivery amount is set
- Change shipper to one which doesn't cause an issue
- The delivery amount is set
- Switch back to the shipper with error
The delivery amount stays set, while it should change back to zero.
Every time we update the carrier, we automatically remove the delivery
line. One will be added back if the rating succeeds. Moreover, we update
the prices even if the rating doesn't succeed. Since the delivery line
was removed, the price will be updated without delivery.
opw-1838765
- Set up as a shipper with the highest priority one which will cause an
error (e.g. service not available for customer address)
- Order a product on eCommerce, go to Payment page
- The 'Delivery' amount (next to the total/subtotal) is not displayed
- Change shipper to one which doesn't cause an issue
The 'Delivery' amount is still not displayed.
The amount is displayed if there is no issue at first rendering of the
page, but never re-evaluated afterwards.
The 'Delivery' amount is now displayed if there is a shipper on the
order.
opw-1838765
- Set up as a shipper with the highest priority one which will cause an
error (e.g. service not available for customer address)
- Order a product on eCommerce, go to Payment page
- The error "Ouch, you cannot choose this carrier!"
- Change shipper to one which doesn't cause an issue
The error is still displayed.
The error is displayed at first rendering of the page, but never
re-evaluated afterwards.
There is no other choice than removing it. Anyway, in the opposite case
(default shipper is OK, and then select one which causes an error) the
error doesn't appears.
opw-1838765
When the runbot spawns an Odoo instance, a CPU TIME limit is set.
When this limit is reached, the kernel kills the Odoo instance and no
message appears in the logs leaving the dev in a deep smoke cloud.
With this commit, the signal sent by the kernel when the soft
limit is reached (SIGXCPU), is intercepeted and Odoo shutdown gracefully with a
nice message for the dev.
a696f84f1f adds a few extra fields to the
Private information tab of the employee form. As a result, HR personnel
and employees could reasonably expect these fields to be protected in
the same manner as the other private fields. Make it so.
Cherry-Pick of odoo/enterprise@533db05b5eFixes#18610
The transfers are either 'planned' or 'immediate' but the process are sensibly the
same. This commit separate clearly the two possible pickings (with a new boolean field)
and simplify the view of immediate ones. This kind of transfer is pretty straightforward
so only the 'Done' column remains and the text stays written in black.
At the creation of a manufacturing order, the default values for product_qty
and uom is respectively 1 and the product's one. We now use the the values
given by the bom
On purchase orders, the scheduled date is mantadory. This date is computed from
the purchase order lines and hidden. If there is no purchase order line, the date
stays empty and it's not possible to save the PO.
This commit uses the order date as scheduled date if there are no PO lines
This patches fixes the untested and broken draft of inetd and systemd
activation support in the threaded server.
This patch also fixes the loss of the process environment in the
`_reexec()` function when Odoo is respawning during the following events:
- SIGHUP signal is received
- one click install has been triggered
- code reload needed when using `--dev=reload`
Since the renaming/split of model hr_holidays, the report does not
contain fields `manager_id` and `second_approver_id` anymore, hence
using the filters was crashing the client.
When creating a new company, the fields customer/vendor location
were empty.
Now, these fields are set with the internal transit location for the company
of the partner and set with Partners Locations/Customers and Partners Locations/Vendors
for the other companies.
opw:1845753
This commit hide the column source location if the type is incoming and hide the
destination one if the type is outgoing. When picking type is 'vendor' then no
need of source location. If picking type is 'custmomer' there is no need of destination location.
This commit is related to task ID 59417
This commit remove force_assign method in every tests of point_of_sale, purchase, sale_mrp,
sale_stock, stock and stock_account . This method is not longer used since V11.
This commit is related to task ID 59417
This commit change the validate button in stock picking. It's now primary only when the
picking is in ready stage. Before this commit, this button was primary on waiting stage too.
This commit is related to task ID 59417
Since revision f6144fe1f3,
the decimal accuracy for the product quantity in
the picking operations report was no longer applied,
leading to display a bunch of numbers after the comma
in some cases.
e.g. 15404.000000000002 Unit(s)
opw-1846723
Since revision 4acec418ce
it was no longer possible for an accounting adviser
to create taxes.
This is because when creating a taxes,
as the related field `hide_tax_exigibility` wasn't readonly,
it attempted to write on the field
`tax_exigibility` of the model `res.company`,
and the adviser do not has that access right.
There is no reason for this field not to be readonly,
as it is used only to compute an invisible attrs
for the tax form view.
opw-1846265
This is a better implementation of 19fb650863. It seems we did not
see the fix was inside a loop meaning not really optimized when thinking about
Inbox fetching a lot of messages.
- When creating an analytic line for a timesheet that uses a project linked with an analytic account, we copy the company_id of the account to the line.
The field quantity_done_store had the same label as the field product_uom_qty
on model "stock.move" and there were confusions in the pivot view of
"stock.move".
opw:1841097
In case an email received contains XHTML, `fromstring` fails because of
the following error:
> Unicode strings with encoding declaration are not supported. Please
> use bytes input or XML fragments without declaration.
opw-1832683
Make an account move with two move lines.
In those lines' label, just hit the space bar, and post your entry.
Now, get the FEC report.
Before this commit, the EcritureLib field was empty
After, it has the value '/'
closes#24734