A typo probably introduced during the migration to the new api may have
caused duplicates to appear in the name search results since it added
the ids of the wrong recordset.
The previous fix, while effective, also removed a previous optimization
for databases with a lot of products. While the code may seem obscure
on first read, the comments should shed some light on the
implementation choice.
This commit therefore reintroduce the previous code with the exception
of the call to the wrong recordset (self instead of products).
Amends b02a85f
Courtesy of @rco-odoo
When posting POS entries with the "group entries" option set on that
pos config (which is the default), it is possible to have bad net
amounts in the tax report because taxes are not used as a grouping
parameter, allowing the system to potentially group pos order lines
which have different taxes together.
Also, take into account the fiscal position set on each order when
creating the move lines (the correct tax for a line is a compute field,
so this commit may actually cause some performance degradation for big
pos sessions).
Amends 150bf7d
opw-686168
The key 'tax_code_id' does not exist anymore, therefore the condition
line.get('tax_code_id') == values.get('tax_code_id')
was equivalent to
None == None
which is of course always True.
To make this code more readable and avoid misunderstandings, a clearer
loop implementation avoids checking for this key.
Since the commit odoo/odoo@36e875e which disable the second-guess from browser,
IE cannot display picture from Odoo where mimetype is wrong.
Before this commit, IE and probably other browser which one respect the header
'nosniff' don't display picture not_found and resized picutre via controller if
the original was not of type 'png'.
Eg: when we return the placholder 'not_found' if you don't have permission,
or when your resize the picture, ... we need to force the mime-type with the
new one and not keep the original mimetype.
This commit closes#13193
When you execute the slug method on a virtual record (not yet
saved, virtualid/newid) the slugs obviously fails as it needs
an id and a display_name.
This issue happens when there's a depends on a function field
using the slug method: just after the create and during the
onchanges, they'll raise.
This patch makes the slug method returns None in these case,
anyway the depends are re-triggered after the write and at
this time they have an id and everything is working fine.
Stock account is sufficient for Point of Sale. No need to set sale_stock as
dependency, as it installs Sales Management but is not required for running
the POS.
When an invoice is sent by email, the Paypal link is not included,
although it is in the template.
This is because the `paypal_url` field has gone missing after Accounting
refactoring.
opw-686216
This commits adds the check W0101 to test_pylint and fixes the errors.
The index in sequence.py was added in rev 1381ac139e and cancelled a day later in 83fdc271e6
so i guess it is safe to remove it.
A new field `create_variant` has been added on `product.attribute`.
If unchecked, the attribute will not create variant.
These attributes will be added on the sale order description if bought from the shop.
The lines of a product with these attributes will be splitted to keep the description.
Fp request: In the user preferences menu, remove "About Us" and put the version number in the Settings dashboard somewhere, as well as the link to switch to developer mode. Odoo is not a desktop application anymore.
For the need of the next commit, we have to know when making a request from an RPC call in which debug mode we are. Previously, the value was always 'true' if we were in debug mode. Now it will return 'true' if we are in simple debug mode and 'assets' if we are in the other one. (this is the current behavior for the simple WebRequest).
Why do we need to know that? When loading the settings dashboard, an rpc request to /web/dataset/call_kw to load the view is accessing the odoo.debug @property method. This value is used in the template to decide which buttons to display to activate or deactivate the debug mode.
==============
Specifications
==============
Add an option in the settings to use the surveys or not
By default : do not use interview forms.
If the option is false : on the job application, hide the Interview form field
A ticket whose seats_availability is unlimited, is not shown on saleorder line. Fixed it.
It should show all the ticket whose seats_availability is unlimited or seats_available is greater than 0.
========
Purpose
========
The graphs on the accounting dashboard give the impression that we had $0 in the bank because the graph is at the bottom of the kanban kard.
==========
Specification
==========
The bottom should be zero, the top should be the maximum of the visible period, and the rest of the graph should be proportionate.
Go to a URL such as `/blog/our-news-1?date_begin=2015-01-01`
Now click on page 2.
Without this patch you will go to `/blog/our-news-1?date_begin=2015-01-01/page/2`.
With this patch, you will go to `/blog/our-news-1/page/2?date_begin=2015-01-01`.
This commit closes#13206
When printing a BoM Structure report, the quantitites are not multiplied
down the line. For example, the BoM for Products 0 and 1:
Product 0
8 Units of Product 1
Product 1
1 Unit of Product 2a
2 Units of Product 2b
When printing the BoM Structure of Product 0, it shows:
Product 0
8 Units of Product 1
1 Unit of Product 2a
2 Units of Product 2b
It should be:
Product 0
8 Units of Product 1
8 Unit of Product 2a
16 Units of Product 2b
opw-686167
=======
PURPOSE
=======
In list view, when handling in mass the opportunities and mark it as lost, it
should be possible to set the lost reason.
The reason would be the same for all the selected opportunities.
=============
SPECIFICATION
=============
On clicking of 'Mark as Lost', ask user the lost reason through wizard. and then
set that lost reason to all the opportunities selected.
Commit ddbe0e1 introduces an error when the user tries to move a product
with a cost of zero. In extreme case, this is incompatible with commit
262d98b. For example, if one buys 10000 units for 17.60, and consumes one
unit at a time. The latter commit will split the quants in:
- 9999 quants at cost zero
- 1 quant at cost 17.60
This is the only solution to get a correct accounting.
However, that creates quants with a cost of zero, which therefore cannot
be moved anymore (consumed in MRP or sold).
We restrict the warning to products configured with "Standard Price".
Indeed, in this configuration, it is very lokely that the user made a
mistake / forgot to define the price of the product.
opw-686301
Now you can sort products by lst_price, name, ... via the UI
In some case the price list or b2b/b2c mode can altered the price
and the sort on lst_price can be sometimes wrong.
Eg: if price is displayed vat in (b2c), and mix rate of 6% and 21%, the sort
will be done on the htva price.
Before this commit, if a partner was NOT company, but have 1 or more
contacts (delivery, invoice, ...), the nameget of the contact was empty.
Now we display the "<parent partner name>, <type contact>"
When a user connect to /web/database/manager directly without the
login page before, the request don't have registry.
When the user click to backup a db, a traceback was raised:
return request.registry['ir.http'].content_disposition(filename)
TypeError: 'NoneType' object has no attribute 'getitem'
Because it was impossible to call content_diposable from ir_http
without registry.
Now content disposable has been moved in http.py and is callable from
anywhere.
This commit closes#13192
This commit closes#11583
* web_editor, website, mass_mailing
This menu allowed to scroll to the snippets sections by clicking on
their corresponding icons. It was useless as the sections are not
taking a lot of height. This also appeared buggy as clicking on the
last icon highlighted only the second one as this second one was still
the first section visible on the screen when the last section was
fully visible.
This also added fours buttons to the interface which contains already a
lot of them. Now this is replaced by a title "Add blocks" which makes
the editor cleaner and also improved the performance to enter the edit
mode.
* Isolate website_blog style
* Simplify/Correct the cover option JS
* Allow to modify the cover from the blog list page
* Change cover layout (use a more conventionnal odoo design with a
div which is full width, which contains a container(-fluid) then its
content) -> easier to customize.
* Refactore code to be understandable
* Change behavior of opacity filter: before this commit the cover
filter was not intuitive and did not work on IE or Edge, it mixed
the color of the bg-image and the bg-color in a complex way and the
opacity was just controlling if the image was visible clearly or not
(which led in general to ugly style if the opacity was used). Now, the
color in applied *on top* of the image so that its color changes the
hue of the underlying image. The opacity value controls only the
opacity value of the color to mix.
[MIGRATION] Note: as the opacity behavior has changed, the exact same
behavior is not reproductible at all. But for the change to make a bit
of sense in old databases, this should be applied for the field
"cover_properties" of blog posts (with changes in layout):
if cover_properties.background-color != "oe_none":
cover_properties.opacity = 0.6
else:
cover_properties.opacity = 1.0 - cover_properties.opacity