Commit Graph
4974 Commits
Author SHA1 Message Date
Aaron Bohy e7bc4e9703 [FIX] mail: thread: keep image ratio
With rule 'max-width: 100%', the height must be reset to 'auto' to keep the
image ratio.
2016-05-18 10:09:06 +02:00
Christophe Simonis b26fd22584 [MERGE] forward port of branch saas-9 up to 6d6a90f 2016-05-17 14:12:07 +02:00
Christophe Simonis 6d6a90f385 [MERGE] forward port of branch 9.0 up to 128d58f 2016-05-17 14:04:26 +02:00
Odoo Translation Bot 610d462740 [I18N] Update translation terms from Transifex 2016-05-15 00:29:02 +02:00
Christophe Simonis c4bba868f0 [MERGE] forward port of branch saas-9 up to 087729f 2016-05-13 15:58:06 +02:00
Christophe Simonis 7f2a9e77b6 [MERGE] forward port of branch 9.0 up to dcab356 2016-05-13 14:08:51 +02:00
Aaron Bohy 43f40ec403 [FIX] mail: max width 100% of images in threads 2016-05-13 08:24:47 +02:00
Thomas Groutars 0e4ad2417d [FIX] mail: missing translation due to typo
Closes #11929
opw-676854
2016-05-11 11:28:27 +02:00
Nicolas Lempereur b9803b3de3 [FIX] mail: rapid click on "New Message" cause error
If the "NEW MESSAGE" or "Log an internal note" are clicked succeedingly
too fast, we can get into a situation where the composer is init'ed but
have not already been start'ed.

closes #11952
opw-675973
2016-05-09 10:39:14 +02:00
Odoo Translation Bot 9cdc40e3ed [I18N] Update translation terms from Transifex 2016-05-08 00:28:57 +02:00
Christophe Simonis 1e86774207 [MERGE] forward port of branch saas-9 up to 89873cb 2016-05-04 15:42:26 +02:00
Christophe Simonis 89873cbed5 [MERGE] forward port of branch 9.0 up to 3381e7b 2016-05-04 14:42:54 +02:00
Aaron Bohy 39a48a4090 [FIX] mail: systray: colors in messaging menu
Default color is white in the enterprise webclient since the navbar refactoring
of bf39884.
2016-05-03 15:15:53 +02:00
Aaron Bohy 019fcae90b [FIX] mail: messages sent as reply to previously selected message
In Discuss, if a message was selected as message to reply to, it wasn't reset
when switching to another channel. So if the user sent a message in that other
channel, the message was sent as reply to the previously selected message.

This rev. ensures to always unselect messages when switching between channels.

Closes #11879
2016-05-03 10:53:30 +02:00
Aaron Bohy bbf64347e4 [FIX] mail: escape author name in messaging menu 2016-05-03 10:53:30 +02:00
Christophe Simonis 431ef552b3 [MERGE] forward port of branch 9.0 up to 822966d 2016-05-02 14:44:20 +02:00
Martin Trigaux c89dc632fb [I18N] Update translation terms from Transifex
Had a timeout on last sync
2016-05-02 13:52:12 +02:00
Aaron Bohy 5cca1dcb3a [FIX] mail: composer: escape RegExp pattern
to prevent crashes if the user types, e.g. a \, when mentionning someone.
2016-05-02 08:52:49 +02:00
Odoo Translation Bot da82207478 [I18N] Update translation terms from Transifex 2016-05-01 00:29:59 +02:00
Olivier Dony 7c177d9143 [FIX] mail queue: wrong condition for test mode
Rev. 56cec604e6 modifies
the auto-commit behavior of the mail queue scheduler,
to allow using it within tests.

The condition was wrong and always True as soon as
the registry was loaded, permanently disabling
auto-commit, both during tests and outside tests.

This broke the duplicate emails protection.
2016-04-29 11:39:29 +02:00
Christophe Simonis 7b12757780 [MERGE] forward port of branch 9.0 up to 4f7d0da 2016-04-28 11:12:06 +02:00
Géry Debongnie 7922370f12 [FIX] mail: fix performance issue with large channels
When a user is subscribed to a channel with many messages,
the discuss initial rpc /mail/client_action can become very
slow (in production, the rpc took > 20s when subscribed to
the Community mailing list).  This is due to the query in
_get_message_unread, counting the number of unread messages.

This commit adds an index on the relation mail_channel_partner,
this allows postgres to perform only index lookups, and speeds
up the query by 2 order of magnitudes.
2016-04-27 17:00:20 +02:00
Christophe Simonis 28e9256912 [MERGE] forward port of branch 9.0 up to 3108a49 2016-04-26 14:11:20 +02:00
Olivier Dony e1ed2c6ddc [FIX] mail: visibility rules for channel notifications
Avoid raising an access denied error for messages that
the user has indeed be notified about.

The issue arose when a message posted on a document inaccessible
to the user was notified to one of the channels the user
is subscribed to.

The access control logic on messages relies on 2 heuristics
to grant read access to a message:
 a. either the user was notified about the messages, by being
    a follower of the document, or a subscriber of a channel
    following the document (in that case the user can see the
    message but not the document)
 b. or the user has read access to the document on which the
    message is posted (in that case the user can see both
    the message and the document)

Case `a.` sometimes fail to match when a message got notified
to several channels including one the user was not subscribed
to. Depending on the order of the returned rows in the SQL
query, the "foreign" channels could shadow the channels of
the user, making `a.` a non-match.

If case `b.` did not match either, the user would have the
`read` access denied, even though the message was visible by
the `search()` method.

The fix explicitly makes case `a.` match if the user was
notified in *at least* one channel.
This was not done through a change of the SQL query ORDER,
for readability reasons.
2016-04-25 18:22:44 +02:00
Christophe Simonis bb8f0f1fc3 [MERGE] forward port of branch saas-9 up to 4d337f7 2016-04-25 14:43:44 +02:00
Christophe Simonis 4d337f72ed [MERGE] forward port of branch 9.0 up to ac7beb3 2016-04-25 13:33:01 +02:00
Odoo Translation Bot c8cd67c5d9 [I18N] Update translation terms from Transifex 2016-04-24 00:30:00 +02:00
Tanguy Charlier d9f050f852 [FIX] mail: Avoid traceback on notification for some browsers
Before showing a chat notification, a check is performed to ensure that the browser does support
notifications. On browsers that do not support Notification (IE, android native,...), the check was wrong and
would eventually cause a traceback. This will no longer happen.
2016-04-22 15:30:11 +02:00
Olivier Dony 7b1c208d5f [MERGE] Forward-port 9.0 up to d29ca90c75 2016-04-22 13:52:14 +02:00
Aaron Bohy d29ca90c75 [FIX] im_livechat,mail: address livechat sessions with their unique ID 2016-04-22 13:20:50 +02:00
Olivier Dony ee804e1d32 [MERGE] Forward-port 9.0 up to 74d8cbc190 2016-04-21 18:05:14 +02:00
Olivier Dony 74d8cbc190 [FIX] mail: fix bounce email addressing
- The "From" should not be the administrator user but
  the postmaster/system, and should be an address that
  ignores double-bounces. Using the default bounce
  email accomplishes both.

- The "To" recipient should be the "envelope from"
  sender when available, usually as provided by
  the "Return-Path" header set by the upstream MTA.
  If not present, fall back to the "From" of
  the original email.

- adapt tests to verify the behavior wrt Return-Path
2016-04-21 17:26:45 +02:00
Richard Mathot cd13ea9935 [FIX] mail: race condition in mail composer
When an user sends an email from the chatter then quickly switch to
another record, it may happen that this.composer is already destroyed.

We prevent to display a traceback with this fix.
2016-04-19 17:01:44 +02:00
Denis Ledoux 7bde7b9016 [FIX] mail: message_post requires record write access
By default, users are supposed to be able to write messages
in threads only if they have the write access on the record.

This behavior is the behavior defined in Odoo 8.0.

This behavior can be changed by defining
`_mail_post_access` on the model,
to allow the creation of new messages
if the user has only the read access, for instance.

This is the case on `project.issue`, for instance.

Since 9.0, @ revision 88b8cd0587,
this behavior was broken: Any users having the read
access on the record was allowed to write messages in the thread,
while this should not be the case, except if
`_mail_post_access = 'read'`
has been defined on the model.

This is because the SQL query which is performed in order
to know the thread messages the user has been notified of
was expected to return only the ids of the notified message,
while it actually always returned all the message ids of the thread,
because of the LEFT JOINS, e.g.

```
LEFT JOIN "mail_message_res_partner_rel" partner_rel
ON partner_rel.mail_message_id = m.id AND partner_rel.res_partner_id = (%%s)
```

Instead of just checking the ids of the messages returned by this
query, it must check that one of the two columns
`partner_rel.res_partner_id` or `channel_partner.partner_id`
is filled, meaning the partner has been notified of the message or
is a member of the channel the message has been posted to.

opw-668589
2016-04-19 15:16:32 +02:00
Christophe Simonis 73fbadf8ae [MERGE] forward port of branch 9.0 up to 7c04420 2016-04-19 12:58:55 +02:00
Odoo Translation Bot f4d79a2b8e [I18N] Update translation terms from Transifex 2016-04-17 00:31:25 +02:00
Thibault Delavallée f5772c5e8d [FIX] mail: fix issue when processing several CIDs having the same file name 2016-04-14 14:03:55 +02:00
Christophe Simonis 21c7ef8bf5 [MERGE] forward port of branch saas-9 up to eb44341 2016-04-12 11:56:44 +02:00
Christophe Simonis eb443410ff [MERGE] forward port of branch 9.0 up to afba8ce 2016-04-12 11:12:57 +02:00
Odoo Translation Bot d4672389f7 [I18N] Update translation terms from Transifex 2016-04-10 00:32:08 +02:00
Nicolas Lempereur 2948acfa56 [FIX] mail: typo get id of mentionned channel/partner
opw-673962
2016-04-07 18:00:27 +02:00
Jigar Patel 6c40782afd [FIX] mail: Fix read more link navigation issue 2016-04-06 16:15:53 +02:00
Nicolas Martinelli 076b837e36 [FIX] mail: duplicate translations 2016-04-06 11:32:23 +02:00
Nicolas Martinelli 20ea4edabe [FIX] mail: translate static channels
The name of the static channels ('Inbox', 'Starred') are not translated
in the breadcrumb. The reason is that at intialization of the chat
manager, the translation are not yet loaded.

The fix is to use the lazy translate functionality, which applies the
translation when the string is displayed.

Courtesy of @aab-odoo

opw-673856
2016-04-06 10:46:33 +02:00
Nicolas Martinelli d4eebd7f22 [FIX] mail: fix translation
Missing translations and typo.

Closes #11604
opw-673853
2016-04-06 08:29:23 +02:00
Christophe Simonis aa6ebd146a [MERGE] forward port of branch saas-9 up to 549daaa 2016-04-05 19:27:34 +02:00
Olivier Dony b5a7491b64 [MERGE] Forward-port of saas-7 up to rev. 83a08c4791
Conflicts:
	openerp/addons/base/res/res_partner.py
2016-04-02 01:09:07 +02:00
Olivier Dony 83a08c4791 [MERGE] Forward-port 9.0 up to rev. 7a483a85d4 2016-04-02 01:03:59 +02:00
Raphael Collet 7a483a85d4 [FIX] *: do not use computed fields for resizing images
Otherwise recomputation may fail with "record does not exist or has been
deleted" when creating records with a value directly set for e.g.
'image_mediun' on a new product.

The issue comes from the storage of the images.  When creating a product, the
creation of an attachment for storing the field `image_medium` triggers the
recomputation of that field before its dependency `image` is set.  As `image`
is initially null, `image_medium` is recomputed as null, and this deletes the
attachment just created before the latter has completed its creation!  As a
consequence, some code at the end of `create` for the attachment crashes
because the record has been deleted.

The following models have been fixed: `fleet.vehicle.model.brand`,
`hr.employee`, `im_livechat.channel`, `mail.channel`, `payment.acquirer`,
`pos.category`, `product.template`, `product.public.category`, `res.partner`.

opw 666330
Closes #11516
2016-04-02 00:47:57 +02:00
Christophe Simonis 6e95659a08 [MERGE] forward port of branch saas-9 up to f4d1adc 2016-04-01 18:51:55 +02:00