When a new answer comes in a thread the mailgateway finds if the recipients
are linked to existing aliases. This allows notably to check if the author
can effectively contact this alias. Previously only the To was checked.
However we cannot ensure the recipient is contained in To as it could be
in Delivered-To for example. We now check for all possible recipients.
The purpose of this commit is to clean a bit the code related to email
routing in the mailgateway: message_route and message_route_verify.
message_route is now clearly separeted into two categories. First one
handles emails considered as answers to existing threads. Second one
handles emails that have to create new threads, either through alias or
default behavior of the mailgateway.
message_route_verify has been a bit facotrized to simplify the various
overrides that appeared lately in the codebase.
This commit only contains code cleaning. No functional change should occur
due to this commit.
mail.mail and mail.thread have methods to decode headers. This commit
move them in mail tools. It is indeed simplier to have all email tools
in the same file. Moreover they have been renamed to avoid confusion
with standard library methods: decode and decode_header already exist.
* decode in mail_message is now decode_smtp_header
* decode_header in mail_thread is now decode_message_header
A method to data from references is also moved into tools. A regex was
already defined in tools. Now the method using it is already put in tools.
Mailgateway will now simply call this method.
Previous version of the test was actually not correct. Mailgateway was not
considering references as in-reply-to when trying to find answers that have
to be considered as a new thread instead of an answer to an existing thread.
Purpose of the test is actually to be sure that answers considered as a new
thread have no parent_id set. Otherwise you may have threads linked to
messages belonging to other records, leading to access right issues. Moreover
if this email begins a new discussion thread it makes no sense to have a
parent message set.
A new test is written to better simulate the test case. It sets a message_id
containing reply_to which is the way odoo uses to indicated that answers
to a message have to be considered as new threads. This is used notably in
mass mailing for example.
We already know that a user is a shared user. This means a partner created
for a customer for the purpose of sharing data. However sometimes it is
interesting to know that a given partner is a customer or a partner linked
to a shared user. This will be used notably in the Discuss app.
This drops the backward compatibility with the old API:
- remove method wrappers;
- convert all the remaining old-API calls to the new API;
- remove the processing of _columns, _defaults, _inherit_fields, _all_columns;
- remove all old-API fields;
- implement sparse fields;
- modify the registry to become a mapping model_name -> model_class;
- adapt XML-RPC and JSON-RPC gateways.
For the sake of simplicity, the method adapter `call_kw_multi` does not look up
for `ids` in keyword arguments, instead it expects it in positional arguments.
when purchasing products from website, if partner did not have a country set
the "pay now" button was broken. Now you get redirected to the billing form
to fill in your address.
- custom acquirer auto_confirm field changed to none.
- changed default_acquirer_button to actually display a button
used wire transfer's template (transfer_acquirer_button)
- set dependance to module_payment_transfer as it doesn't work without
and use transfer as provider.
Note: This is a quick fix to make it work, it's quite ugly.
Before the fix it didn't work an people duplicated the transfer
payment acquirer and edited it.
One downside for usability is that the payment icon will be the one
from transfer.
- Add optional products and pricelists to ecommerce section
- add mail template sent when confirming a sale order
- rename and clarify using radio widgets
In web_planner, changing pages would take more and more time after
a few clicks if autoresize was called on textareas. Every time we
would change page, autoresize was called on all textareas and added
an additional textarea for each one, doubling the amount on each page
change.
The autoresize function in dom_utils was checking too shallowly for
duplicates and created a new textarea where autoresize would again be
called upon on a later stage.
This commit fixes both problems.
Mako uses pipe character in several occasions like |safe to tell an email is
safe. However the sanitizer will encode it, leading to template not correctly
rendered. Like other special characters used in mako, it is now decoded
after sanitize.
* s_banner
- Remove text-container hardcoded style (user will be able to use the
new transparent color palette instead)
- Improve indicators visibility on both dark or light bg
- Cursor: pointer for navigation buttons
* s_cover
* s_quote: remove the whole snippet
* s_three_columns
* s_reference
- Remove Quotes
- Add new logo demo images
* s_button: rename from "Button" to "Call to Action" + some design
* s_feature_grid
These colors were usually hardcoded in some snippets (.s_banner for
example) to increase text legibility over background images.
This commit will let the user personalize them.
* Remove background position and color options for parallax
* Add background/color options for .jumbotron (button and big message)
* Add background/color options for s_cover and s_banner text container
* Reduce images number (remove unused ones)
* Improve images quality (so that they can be used for parallax too)
* Make them all available in the website library
* Snippet demo/default images are in a separate folder and a separate
record to allow theme customization (this was already the case for the
cover snippet but the system has been extended)
* Some snippet style improvements
* Review style of some UI components
* Rename some content
* Define a font-family less variable to be used to avoid that themes
customizations affect the UI. Note: theme should ideally not redefine
the font family of the body but of the #wrapwrap element but this is
done for safety.
* Overwrite other theme's customisations
* Minor style fixes
Adapt the default content of blog post to be a valid website snippet.
Previous content was not entirely possible to remove (there still was
a remaining .container) and was not easily customizable (user had to
remove it if he wants something great).
Note: maybe we should adapt the snippets so that they are callable with
custom content or do something like what has been done for default
content for job positions (see commit 00cfb0889b).
The "bigger text" option was an useless option as redundant with the
summernote editor one.
The "narrow" option always resulted in an ugly layout with bugs in
many contexts.
Note: the styling classes are kept for compatibility for now.
+ Adapt demo data of website_blog which rely on the "narrow" option.
Use up to date snippets with reduced column width to get the same
result.