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>"
* 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
Splitting the summernote colorpicker into bg colorpicker and foreground
colorpicker seems to have been a bad idea as people tend to click on
the recent color button thinking it will open a dropdown.
This commit keeps the design that had been decided for colorpicker
template and do not change the "background-color" snippet option.
However, the colors for background and foreground text changes are
now displayed in an unique dropdown again, with reviewed style.
+ adapt the rte tour
When clicking on the logo or the company adress in the website edit
mode, the user can now choose to be redirected to the form view of
the company so that it can edit the data.
Now, when clicking on a menu item while being in edit mode, a modal
opens asking if we want to go to that page, edit that page, edit the
menu or do nothing (it only allowed to edit the menu item before).
This commit fixes two problems:
* Clicking on the save button of a web_editor dialog closed the dialog
two times because the button was created with the flag "close: true"
and binded to a handler which closes the dialog. This also prevented
to extend this handler by placing the this._super call in a deferred.
* Some web_editor dialog extended the save callback but forgot to use
the this._super, which prevents the "saved" event to be triggered
(currently not used anywhere but useful for custo and master).
Commit 57c09e8a8e was supposed to fix the problem but only made it
worse in some cases. Since the new option parenting system, the
customize button visibility should not be determined on creation as
parent and own options are appended on snippet focus. Also, removing
the dropdown header if it was alone was a bad idea as this is it which
contains the information of options and all the options have not
necessarily a <li/> tag in the dropdown.
For example, the many2one option has no <li/> in the dropdown and is
the only option of the field snippet. So with the previous commit, the
dropdown header was removed as there is no <li/> in the dropdown other
than this header. So as the header was removed, on snippet focus, there
was no way to determine the many2one option exists, so its on_focus
method was not called.
Now, the dropdown-header is always kept. The visibility of customize
button is determine on snippet focus.
The many2one fields and their search bar were not working anymore since
the loss of some functionnalities with commit b309f3ab54.
* The dropdown which regroups a snippet options list is hidden if it
does not contain any option. This was not the case anymore because it
now always contains a dropdown title. This is fixed by simply removing
this title if it is alone in the dropdown.
* Snippet options attached to an element whose parent is not editable
cannot be moved/deleted/duplicated as it is supposed to remain where
it is. This is often the case for many2one fields and the feature was
simply lost in the refactoring.
Before commit a8ee18e172, the paragraph alignment dropdown menu was
too large for its content, so it was ugly. After that commit, it became
too small for its content, which is even more ugly.
This fix sets the width of this specific dropdown so that its content
fills exactly in (as with original summernote).
The editor bar is sometimes filled with too many options, and these
hide the save and discard buttons on small screens. To solve the
problem, the description option (which take a lot of space) has now
a max-width and the save and discard buttons are always on top.
At the bottom of each blog post there is a link to the next blog post
of the blog. If the current blog post is the last, the next blog post
which appears is the first one, which is ok. However, if there is only
one blog post in the blog, when viewing it, the next blog post which
was proposed was the current one (now nothing is proposed as next blog
post anymore).
Numbering of statements is not anymore automated, sequence of the journal is now only used for the numbering of account.move (for consistancy with payments). Name of statements now appears as 'reference'.
Cancelling of a statement line keeps in memory the old move's name to reuse it in the same fashion as for account.invoice (avoiding gaps in numbering).
Cancelling of a payment now keeps in memory the old move's name to reuse it in the same fashion as for account.invoice (avoiding gaps in numbering)
When logged in a user was redirected to the website instead of the backend.
This was due to a wrong group verification, at that point:
- request.uid = ID of the user authenticating (e.g. admin)
- request.env.uid = ID of the user that rendered the page (public)
As public does not belong to `base.group_user` group, the user was redirected to
the website.
Introduced at fd09ddb6 during migration.
Fixes#13203Closes#13204
In the interface using the email scheduler of events is limited to a group
that is not activated by default. However by default emails are sent and
therefore cannot be configured by the event maanger.
As managers should always be able to configure sent emails we decided to
remove the group and always give access to the email scheduling tab of the
event form view.
Currently members of group_erp_manager (Access Rights) and group_system
(Settings) have theoritically access to config settings. However only
group_system members have access to the settings through the interface
as all menus are restricted to them. Moreover after changing a config settings
a check on ir.actions.todo is performed. This model is limited to group_system.
It is therefore not possible for group_erp_manager members to execute config
settings. This commit therefore change the check performed in config settings
to ensure user is superuser or a member of group_system to avoid unwanted
access rights errors further in the process.
[IMP] sale_stock: remove now unnecessary check
* variant prices should be read only on the variant
* added an help to explain how it works
* because variant prices are managed on the template via the Variant
Prices button
Normally payment term of the partner is set on the OS. However if you change
this behavior by manually removing it you probably don't want to have it
reappear in your report.
* shadowing of "fields" import in the read_group function as it receives
a "fields" arg. As we have to use fields.Datetime in this method,
whe choosed to reimport it as "fieldsDatetime" to use it.
* cast not_real_cost_method_products.ids list to tuple, because
psycopg2 only accept tuple for "IN" condition.
* Limitate rights of event user to reading an event
Event user should not be able to create events. Its rights should be limited
to reading events, creating and updating registrations. Only event managers
are allowed to create and modify events.
* Sudo access on ir.values in event config settings
Configuring events imply modifying auto confirmation parameter which is stored
into an ir.values. As this model is limited to values with user_id = uid we
have to sudo the access here as it is not a user-defined value.
* Add some tests for the various fixed issues
registration.onchange_partner_id() method updates registration contact data
(phone, email, name) based on the partner_id field. However the onchange
currently works only when no existing contact data is stored on the
registration. A second change of partner_id does not update the contact
data.
The condition is now inversed. This way when changing the partner, if it
has valid contact data, it will replace existing information.
Now, you can set the published date in the future.
There will be not visible by visitor until this date.
When a user publish a post, if the published date is in the
past, we update the publish date to now, else we keep the old
published date which one is in the future.
Before this commit when you edit a contact with the editor, you didn't see
the selected record before the save.
Now, you can edit a contact with the html editor.
We move the hacked field self (on res.partner) from website_partner to base.
2 bugs:
field and record was reversed in call
need to pass a browseRecord and not a dict, because we uses .env on it
This hack allow to use widget='contact' on the browse record
itself and not on a specific field from the browse record
Eg:
<div t-field="partner.self" t-options='{
"widget": "contact",
"fields": ["address", "phone"]
}'/>
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.