The stable behaviour of the mail composer is the following:
- if a template adds new attachments, the composer only has this list
- if a template doesn't add attachments, the list is unchanged
- if no template is set, the list is cleared up
In the case of templates, we also check that both static and dynamic attachments
are added to the list.
We clean up after c6d718f211 and subsequently 516f22c398 which failed to take
into account the fact that the attachement list could be a blend of commands
and ids.
Transforming that is taken care of by _convert_to_write, which semantics was
changed by c6d718f211.
To keep the second behaviour, we thus need to add a (5,) command.
opw 2003197
closesodoo/odoo#33707
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
Fine-tuning of 516f22c398.
This commit missed attachments that are linked to a mail.template,
which should be added to every mail sent using the template.
To make sure that we both fix the duplicates and the generation issue,
we add a test.
opw 2000515
opw 1998782
closesodoo/odoo#33653
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
We don't want to notify inactive followers,
especially in the case of oddobot that was considered
as a inactive partner in _notify_compute_recipients.
The computed recipient data for odoobot are
(pid:2 active:False pshare:True notif:None)
It was considered as a partner and notified by email.
This fix simply removes inactive partner from partner to notify.
closesodoo/odoo#31734
Signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com>
Steps to reproduce:
1. install `hr_contract_salary`
2. create a contract
3. set or update `hr_responsible_id` on the contract
(it creates a `mail.tracking.value`)
4. uninstall `hr_contract_salary`
5. go to the contract form view
=> traceback `hr_responsible_id` does not exist
Before displaying a `mail.tracking.value`, `groups` of the
fields are checked to fitler tracking values according to access
rights of the user.
However if the module that added the field has been uninstalled,
the field does not exists anymore.
Fix:
check if field exists before getting fields groups.
If the field does not exists: set groups to `base.group_system`
closesodoo/odoo#31398
Signed-off-by: "Yannick Tivisse (yti)" <yti@odoo.com>
*: project, crm, maintenance, helpdesk,
It is useless to track fields during create since they
have no initial value and future tracking message will
show changes on tracked field.
We can log a default creation message instead
(as it is now if there is no mail_create_nolog context key)
This change will implies
- less queries when creating record
- cleaner creation messages
- less occurence of mail_create_nolog ctx key
Removing tracking at create could break the creation subtypes
mechanism (example: following task creation subtype on project)
Instead of using _track_subtype to give a subtype at create,
a new _creation_subtype method can be override. If a creation
subtype is set on a specific modlel, creation messages will be
create by message_post instead of _message_log.
We also need to adapt the message_track_post_template in order to
keep this feature whithout tracking.
Task: #1916916closesodoo/odoo#31945
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
*: crm, project, maintenance, hr_recruitment
When a record is created from an email, cc can be lost. This commit
proposes a new mixin to keep cc on the record and allows to create
partner for each of them when sending a message from the chatter.
The mixin is added on the mail recors that can be created from mail.alias:
document
helpdesk.ticket
mrp.eco
quality.alert
hr.applicant
crm.lead
project.task
mail.channel
maintenance.equipment
Task: 1925001
Purpose
=======
Currently fields with a `groups` attribute can't be tracked.
Otherwise changes would be visible by all in the chatter, including
users which normally don't have the access rights because they are
not members of `groups`.
Specification
=============
Filter tracking field values according to the `groups` attributes.
Users without the access rights should not see them.
If a message is only composed of tracking values and the user doesn't
have the rights to see them, an empty message should not be displayed.
This commit changes some methods so they can be used in the account_documents enterprise bridge
and adapts activity tests for the new request on upload_file feature.
task: #1928404
related to: odoo/enterprise#3607closesodoo/odoo#30950
Before this commit, when creating a partner automatically when creating
a message with a template, the company on the partner was wrongly set
After this commit, we try to retrieve the company from the model on the template
OPW 1934392
closesodoo/odoo#30893
1) Configure both an incoming mail server and an outgoing one.
2) Install CRM.
3) Create a sale team, use the incoming mail address as mail alias.
4) Add a user with a valid email as follower of that team in the
chatter.
5) Enable developer mode, become super user via the developer tools.
6) Change the language of the super user to french.
7) You may want to modify the default gather/post time interval.
to receive/post email more regulary in the scheduled action.
8) Using an external mail client, send a mail to the incoming mail
address.
9) Let the two scheduled actions run by themselves.
10) The mail sent to the user has the "Lead/Opportunity" in english
wheras the rest of the email is in french.
opw-1917993
closesodoo/odoo#31034
As `formataddr` only accept strings as arguments, an exception was
raised when trying to notify a mailing list channel with followers
without email.
closesodoo/odoo#30492
This commit fixes the following issues regarding the mail tour:
1. Start from discuss app (not app switcher)
2. Adapt from recent changes on discuss app https://github.com/odoo/odoo/commit/9f6f9c71d3258ce3652b4a5793b7dcfef6f01d25
Note there is an error if we let runbot run this tour automatically:
```
Tour mail_tour failed at step Messages can be <b>starred</b> to remind you to check back later.
(trigger: .o_mail_discuss .o_mail_thread .o_thread_message_star)
```
This comes from the mail tour requiring longpolling to work, which is
intentionally disabled when running tours automatically on runbot.
We plan making this tour run without longpolling in the future, which
requires a design change from the client code (e.g. reduce reliance
on the longpolling).
Task-ID 1916093
closesodoo/odoo#29575
Do not use the model `_description` field which cannot be translated. Use
the `display_name` of the corresponding model instead.
Moreover, `<t t-esc="'%s' % model_description or 'document'"/>` gives
`'None'`, while `'document'` is expected.
This adds a query to some tests, which is expected since `display_name`
requires information stored in the DB, while `_description` is defined
at the Python level.
opw-1908420
On test fixes: Because the company now have parenthesis in its name,
formatting email addresses adds double quotes around the name.
e.g.: "My Company (San Francisco)" <example@exmaple.com>
This is related to revision
71f188082f
This is nice to have a meaningful explanation
for the user to understand why his mail is not sent,
this is better to not interrupt the mail queue when doing so.
Because of the above revision,
when the mail queue iterated on a mail failing because
of an ASCII encoding issue,
the mail queue was interrupted,
and on the next cron call it failed again and again
on the same mail, therefore leading to the mail queue
to never be processed.
Fixes#27804
When a letter is sent through snailmail and encounter an error, it used
to create an activity to the user to notify him that there was an error
with its letter.
When a user had this activity, he didn't have any clues of what was the
error and how to manage it. So we decided to better handle snailmail
errors and give the possibility to the user to easily fix the source of
the snailmail errors.
First to give a better feedback on the letters in errors, we've made
features similar to ones existing for emails:
- We add a mail message on the document that sent the letter, and put a
small paper plane icon, which is red when an error occurs (like the
envelope for email)
- As letters can be sent in batch, we've also added an entry in the
systray to easily manage the different documents having snailmail
errors like for emails.
Then we identified, the most common errors encountered with the
snailmail letters and give proper way to let the user fix them:
- Missing Required Field:
- The address is not complete, some of the fields are empty.
- We open a wizard allowing the user to modify the partner address
and we try to resend all letters having this error on the modified
partner.
- We also try to avoid this error, by opening the wizard before
sending the letter, but it only works for single documents, not
for batch.
- Trial/Credit Error:
- The user has not enough credits to send letters anymore.
- We open a wizard that give a redirection lnk to add credits on its
iap account.
- No Price Available:
- The destination country is not supported by any of our providers,
and we cannot do anything to send this letter.
- Format Error:
- The format of the pdf report send by the user is refused by our
providers, because some visual stuffs are not respected, for
example blank zone to print barcode or margins.
- We show a wizard to the user letting him check a setting option
that add a cover page in the envelope and the documents will be
send with this extra page containing the address.
- Unknown Error:
- This is not one of the listed error above.
- A wizard suggesting the user to contact support is displayed.
The cron that try to resend letters on error, has been addapted to only
try to send the error of type Trial/No Credit, because the account might
have been reloaded, and other errors, won't change if they have not been
fixed locally.
closesodoo/odoo#29685
This commit introduces the "upload file" activity type
category. For an activity of that time, uploading a file
will mark the activity as done (and maybe create the forced
next activities).
This activity type is seen as a shortcut to upload a file
with a reminder.
Task-1915004
closesodoo/odoo#29861
The current implementatipon of write on mail.activity will
send a notification to the user every time a write is made
on user_id.
To avoid to send notification / mail if the user_id is given
but doesn't change, we can simply filter the records. This
will also avoid to check assignation rights in this case.
Task: 1905086
closesodoo/odoo#30055