There is a hackish feature in the web_editor which forces the
contenteditable to true on links which are clicked and removes it
anywhere else in the page so that only the link is editable after
click. This allows to add text at the end of a link without adding it
outside of the link by mistake.
The feature was badly implemented because, if the link was editable
without having any parent which is editable, the contenteditable was
forced to true, then immediatly forced to false when forcing to false
every page element. This was the case for lots of t-field. By example
the product categories in eCommerce are t-field links which are in non
editable <li/> elements...
When we are on the page:
/blog/myblog-1/page/2
the link to page 3 is:
/blog/myblog-1/page/3
So we need to give /blog/our-blog-1 as source url of pager.
Previously in this instance, since 4faed0b7 the page 3 url
in this scenario would erroneously be:
/blog/myblog-1/page/2/page/3
opw-688681
web_editor Qweb: Add 'zoom' option for widget image
<span t-field="product.image_small" t-options="{'widget': 'image', 'zoom': 'image_medium'}" />
website: Add Zoom code to be standard for all website module
website_sale: add zoom on Main product image
In edit menu, search with de demo data /shop, was the 12th results, but limit 9.
We only move the problem to later, but when the user start with the website apps,
it avoid to be lost on first menu creation.
Due to some rounding error, we arbitrarily decide to don't show a discount of 1 cent.
Before this commit, the limit was 10 cents in some case, 20 cents in others cases, ...
In the case of a guy who sell nails, these 2 cents may be important :)
That seems to have no impact negative to remove it.
That fixes the case when you have a main product with a discount, and a optionnal
product without the discount; before this commit, discount class was removed and
so the striked price for the main product disappeared.
Avoid traceback "'int' object has no attribute 'partner_id'"
uid is the id and not the browser record of 'user'
Avoid traceback: Database fetch misses ids (u'<id>') and has extra ids (<id>),
may be caused by a type incoherence in a previous request.
JS call with id as string.
Avoid traceback: Invalid value res.partner(x,y,z) in domain term ('partner_id', 'in', res.partner(x,y,z))
Search in new api return browseRecord now
Avoid to write on a lead without the right on it.
Explicitly remove the cursor of the request. Dropping a database
is not transactional and if overrides of ir_http's dispatch worked
with the database (for example, utm), we are not able to commit
the changes at the end of the request.
It worked nice before rev 40561b0fb6 that changed the use of self.pool
by request.env. Note: a cursor is always attached to an environment. Since
the call to super possibly broke the cursor (for example by dropping the
database), the end of the dispatch operation that try to commit and/or close
the cursor could possibly result in the traceback 'unable to close a closed
cursor' with request.env. With self.pool, it didn't happen because the
code actually called in the utm's dispatch override doesn't use a cr
and so there's nothing to close.
Tree view was removed to hide the different view types display in enterprise as it was "cleaner" for a dashboard. Re-adding for import button.
Future versions will not display departments as dashboard but employees anyway.
When overriding dispatch, we have to make sure that we do the
database operations before calling super, because we are not sure
to have a valid database/env after (for example, in the case of a
drop of a database).
* + web_editor
The feature was only activated in the web_editor in snippet contents
(before they are dropped in the page). Now, on first theme selection,
the feature is activated in the template content.
Since the below revision:
32b5515a8f
It was no longer possible to create a payment
for a pos order without picking.
Indeed, if `picking_type` is not set,
`picking_id`, which is initialized to `False`,
remains as `False`, and you therefore can't
ask it's `.id` (`picking_id.id`).
opw-687597
If the method "_get_display_time" is called on an event and if the
user or partner has no timezone set. The string returned by the function
contains the value 'False' instead of a timezone.
To fix this, we replaced the "False" value by "UTC", because UTC is the
default timezone in Odoo.
It will be used in various email templates to avoid having either badly
formatted emails either not formatted emails. As this is a not stored
function field it does not impact model.
If the title was 'true' or 'false', the export failed, because we are tying to
concat bool and str. TypeError: cannot concatenate 'str' and 'bool' objects
How to reproduce, install sale, be sure to have one order with delivered = True
In Reporting / Sale analysis, add a group by 'shipped' filed to have 'true' as
title.
This commit closes issue odoo/odoo#13425
In saas-12, a stupid record rule authorizes an employee to create a payslip only for him (dafuq)
In saas-13, sine the HR access right splitting, this record rule authorizes an payroll user ti create a payslip only for him (bug). A consequence of this is that the rule is also applied to the payroll manager (bugx2)
When a custom field is created, it now appears in `ir.model.fields` on the
model's children models (by `_inherits`). This makes the reflection more
accurate (inherited custom fields are visible), although not perfect (they
appear as "base" fields and thus cannot be overridden).
The reflection of fields in `ir.model.fields` has been improved to deal with
custom field creation, modification and suppression.
Note that custom fields are still not inherited through `_inherit` relations.
opw-687626
opw-645065
* web_editor, website
-> Move some website options to web_editor to use them in mass_mailing
(margin and resize)
-> Rework on themes design and declaration conventions
-> Review theme switching to bring default layout on first edition and
to be able to define theme images
-> Move theme design in their own asset
-> Edition and saves fixes
The web_editor transcoder, who is in charge to change mail css style
into inline style and vice versa, has a cache to improve its
efficiency. The problem is that it was designed to work only if a
particular "<tag>.className" has always the same css style no matter
what its parent or neighbors are. This is obviously not compatible
with theme switching. Indeed, only by switching from one theme to
another, the parent of every snippet have a different className which
is used in css to design differently every snippet. Also inside a same
theme, we obviously want to be able to style a particuler .myClass
element differently from one snippet to another without having to
multiple css classes.
This commit removes the cache system to allow theme switching and
liberty in theme designing. This however make the edition start and
the saving really slower...