Commit Graph
72 Commits
Author SHA1 Message Date
Christophe Simonis 6c4389df41 [MERGE] forward port branch 10.0 up to 6804085b8c 2017-01-23 14:33:53 +01:00
Jeremy Kersten 9ac974548e [FIX] mail: don't check read access if user not connected.
In the worst case, user is not logged in and he will really have no access and
will have a perm read error after login. We cannot check if an unknow user has
access or not.

In most cases, user will be logged in and will see the document directly if
he has access or will be redirected to messaging if no access.

In the best case, he will be redirected to login page before to see the message.

task-22505
2017-01-11 11:12:47 +01:00
Christophe Simonis b3a1109372 [MERGE] forward port branch 10.0 up to c08a590bb1 2017-01-02 15:31:58 +01:00
Christophe Simonis 81f59cee2c [MERGE] forward port branch saas-11 up to b844d93889 2017-01-02 14:38:59 +01:00
Goffin Simon b795d69ce8 [FIX] mail: Modifying followers in multi company
In multi company, some followers of a document could be not
readable for a user who has the rights to modify this document.

If the user has the rights to write on a document, he is allowed
to read and modify the followers of this document.

opw:693536
2016-12-21 13:36:29 +01:00
Thibault Delavallée df01742fc0 [REF] mail, note, project, project_issue: remove 'new' button in notification emails
As this button leads to a void form view without context it is not
really usefull. As creating new records is achieved using aliases
there is no real need for a New Task/Issue/Note button.

mail/new controller is kept for compatibility but should be removed
before v11.
2016-11-04 10:50:29 +01:00
Christophe Simonis 341bea8f88 [MERGE] forward port branch saas-12 up to 43cb4ac 2016-10-10 13:00:05 +02:00
Olivier Dony eb6b256f99 [MERGE] Forward-port 9.0 up to b64b9619f8 2016-10-04 00:16:09 +02:00
Thibault Delavallée 0b87f76628 [IMP] mail: separate management of mail routes from redirection
Move code related to redirection in its own class method. This way all
controllers perform their own actions and checks before calling the
redirection itself. Moreover it is necessary for some controllers to be
able to call the redirection independently outside of the mail/view
controller scope.

This commit also fixes some links generated for mail notification email
buttons. Assign and (un)follow buttons now effectively use the link helper
when generating the associated URL instead of manually crafting it.

Custom routes for notification buttons used in HR and CRM are added.
Indeed in order to be able to fine-tune the behavior called by those
buttons, using dedicated controllers is simpler than trying to use
a generic one. As there are few custom buttons in notification emails
using dedicated controllers does not lead to a code overhead.
2016-10-03 19:03:50 +02:00
Thibault Delavallée a9bd9ab160 [FIX][IMP] various: unsudo mail/view controller and get_access_action
mail/view controller is a generic controller that redirects the user to a
given view, depending on the record and the user. Users may be redirected
to the backend form view, or to a website view. This is done notably by
calling get_access_action method that gives the action to perform (act_window
or url).

Previously this method was called using SUPERUSER. However it was therefore
impossible to know who the user was. This method is now called using the
current user. Various overrides of get_access_action have been updated to
add some logic and access rights check directly in the method allowing
more fine-grain behavior of the access action.
2016-09-23 10:01:04 +02:00
Thibault Delavallée 033fc508f4 [FIX] mail: fix notification buttons url generation
* Assign controller now effectively redirects to mail/assign instead of
   mail/assign
 * Follow and Unfollow button now uses the helper that generated the link
2016-09-23 10:00:18 +02:00
Christophe Simonis 235ed4b2c1 [MERGE] forward port branch saas-12 up to 9ad5f26 2016-08-20 18:08:19 +02:00
Christophe Simonis 3a2147d95c [MERGE] forward port branch saas-10 up to bc1a0a3 2016-08-20 16:57:36 +02:00
Christophe Simonis bc1a0a32ca [MERGE] forward port branch 9.0 up to 58cbcba 2016-08-19 16:59:29 +02:00
Christophe Simonis d7b7b07f9e [FIX] mail: avoid errors in /longpolling/poll requests
When a request fail due to a database concurrency error, the request is
replayed. However, the `mail` overwrite of /longpolling/poll requests
modified its arguments inplace, which lead to a sanity check to failed
in case of retry.

Fixes #13121
2016-08-12 10:45:43 +02:00
Thibault Delavallée e33435daa9 [MIG] mail: migrate remaining code in old API 2016-08-10 15:48:07 +02:00
Thibault Delavallée c8a313d51e [IMP] various: use odoo for imports instead of openerp and update class names 2016-08-10 15:48:07 +02:00
Jeremy Kersten 6ffc8b6261 [FIX] mail: controller avatar
FIX 1
-----
If the partner_id is not allowed, we return the placeholder.

Before this commit, the status as undefined and raise traceback.
UnboundLocalError: local variable 'status' referenced before assignment

FIX 2
-----
Fix the defaultheader to avoid to have:
   [[('Content-Type', 'image/png')], ('Content-Length', 43)]
And so, during parsing by werkzeug:
   ValueError: need more than 1 value to unpack
2016-08-03 13:02:31 +02:00
Christophe Simonis e7190cbbbf [MERGE] forward port of branch saas-10 up to 74b51d3 2016-07-05 23:42:12 +02:00
Jeremy Kersten c6e7e2d2aa [FIX] mail: controller avatar return placeholder if no content
binary_content return '' if no picture, so, we keep the placeholder
if no image has been returned.

It avoid in the new portal with discuss widget to get the default
browser 404 picture (file broken)

This commit close #12683
2016-07-05 12:34:06 +02:00
Christophe Simonis dda0d3d62d [MERGE] forward port of branch saas-10 up to baf494c
# Conflicts:
#	addons/hr_timesheet/project_timesheet.py
#	addons/sale_layout/i18n/es_PE.po
#	addons/sale_layout/i18n/hu.po
#	addons/sale_layout/i18n/lo.po
#	addons/sale_layout/i18n/pl.po
#	addons/sale_service/i18n/es_MX.po
#	addons/sale_service/i18n/es_PE.po
#	addons/sale_service/i18n/lo.po
#	addons/stock/stock.py
#	addons/stock/stock_view.xml
#	addons/warning/i18n/es_PE.po
#	addons/warning/i18n/lo.po
#	addons/warning/i18n/ru.po
#	addons/web/i18n/cs.po
#	addons/web/i18n/ja.po
#	addons/web/i18n/lo.po
#	addons/web/i18n/th.po
2016-06-15 12:59:39 +02:00
Christophe Simonis baf494c67b [MERGE] forward port of branch saas-9 up to 1d81bb0
# Conflicts:
#	addons/account_extra_reports/i18n/ca.po
#	addons/account_extra_reports/i18n/fi.po
#	addons/account_extra_reports/i18n/pl.po
#	addons/account_extra_reports/i18n/te.po
#	addons/account_extra_reports/i18n/zh_CN.po
#	addons/account_full_reconcile/i18n/hu.po
#	addons/account_full_reconcile/i18n/pl.po
#	addons/crm/crm_lead_menu.xml
#	addons/crm_claim/i18n/es_PE.po
#	addons/crm_claim/i18n/hu.po
#	addons/crm_claim/i18n/ja.po
#	addons/crm_claim/i18n/pl.po
#	addons/delivery/views/delivery_view.xml
#	addons/product/product_view.xml
#	addons/project_timesheet/i18n/es_PE.po
#	addons/stock/stock_view.xml
2016-06-15 12:40:59 +02:00
Christophe Simonis f9072c789d [MERGE] forward port of branch 9.0 up to bfbe2d6
# Conflicts:
#	addons/marketing/i18n/es_PE.po
#	addons/marketing/i18n/hu.po
2016-06-14 19:27:16 +02:00
Denis Ledoux 3ddb446b3b [FIX] crm, mail: Convert to opportunity in mail notification
The button "Convert to opportunity" in the mail notifications
sent when posting a message on an opportunity just coudln't
work as it attempted to call the `convert_opportunity`
method without one of its required method parameter.

opw-680017
2016-06-08 17:15:15 +02:00
Aaron Bohy de6fa69774 [ADD] mail: commands support
Use the mention mechanism to autocomplete on commands (keyword /).

A first command /help has been implemented.
2016-05-03 10:34:41 +02:00
Aaron Bohy 2264378739 [ADD] im_livechat,mail: canned responses support
Use the mention mechanism of the composer to autocomplete on canned responses
(keyword :) with fuzzy search.

Directly perform the string replacement in the composer, instead of
server-side as before.

Add a menu item to access an editable list view to create and edit canned
responses.

Add two canned responses as demo data.
2016-05-03 10:34:41 +02:00
Jigar Patel 253d4eccf0 [IMP] mail: Add counter in starred 2016-04-08 13:41:01 +02:00
Aaron Bohy 533da62a6b [FIX] mail: read_followers() doesn't need res_id
When creating a new record, read_followers() was called without res_id and it
produced an error as the argument didn't have a default value. That argument
wasn't used anyway so this rev. simply removes it.
2016-03-16 11:21:34 +01:00
Aaron Bohy 1e0bc5920f [IMP] mail: follower: remove an RPC when user is follower
When loading a form_view with the follower widgets, an RPC was performed to get
the followers info (name, email...), and if the user is one of the followers,
a second RPC was done to retrieve the subtypes.

This rev. batches those two RPCs. Also simplifies read_subscription_data() as
it is now always called with a follower_id.

A few code refactoring as well.
2016-03-02 13:39:16 +01:00
Aaron Bohy a4dade389b [IMP] mail: batch RPCs at init
Remove the RPC to retrieve the action_id of the client action as do_action()
can take directly the xml_id, and batch the RPC to retrieve the menu_id with
the initial RPC used to fetch channel slots, emojis...
2016-02-12 12:04:02 +01:00
Christophe Simonis 469e04e97c [MERGE] forward port of branch saas-8 up to 2611a81 2016-02-02 14:52:15 +01:00
Denis Ledoux 1fc68ce428 [MERGE] forward port of branch 9.0 up to a842199 2016-01-29 12:55:57 +01:00
Nicolas Lempereur f5fedbcb18 [FIX] mail, portal_sale: conserve action in /mail/view
Methods get_formview_action can be called by sudo() so for knowing the
real user they should prefer context['uid'] to uid.

Without the action `/web` can't figure out that e.g the view we want is
the one for portal user and not the default one.

With this fix, portal user (not in base.group_user) get to the intended
view with the intended menu when clicking on a invoice/sale order portal
mail link. As for other user there is no change.

closes #10681
opw-666260
2016-01-29 12:08:24 +01:00
Christophe Simonis 5ba5172d99 [MERGE] forward port of branch saas-8 up to 8064379 2016-01-07 15:16:56 +01:00
Christophe Simonis 31ce19bd7c [MERGE] forward port of branch 9.0 up to 97e87a4 2016-01-05 15:51:49 +01:00
Aaron Bohy a4ddfe0b28 [IMP] mail: merge chat initial RPCs
Two RPCs were performed by the chat_manager on webclient launch. One of them
was about emojis, and recent messages received in the past 10 minutes in
detached channels. This RPC has been removed as the emojis fetching can be
done in the other RPC (mail/client_action), and the recent messages are not
useful since the refactoring of mail and the introduction of the chat_manager.
2015-12-28 10:05:15 +01:00
Denis Ledoux 5e51dc9924 [FIX] mail: unfollow buttons for portal users
The route `/mail/unfollow` is used by the button
`Unfollow` in the mail notification template so a user
can remove himself from the followers of a thread.

To be able to remove yourself from the followers,
you need to have the write access on the thread
(see `message_unsubscribe` in `mail/mail_tread.py`)
which you perhaps do not have, for instance if you
are a portal user.

The unsubscribe of this follower from the thread
should therefore be done as sudo.

opw-659295
2015-12-23 17:59:36 +01:00
Martin Trigaux c298cf3250 [MERGE] Forward port of 9.0 up to 7892d99f 2015-12-18 16:15:08 +01:00
David Monjoie f6dd8994d6 [FIX] mail: fixed redirect to messaging url
I checked with aab, and action definition comes after # and not ?.
2015-12-14 14:51:27 +01:00
Christophe Simonis 4022493c0b [MERGE] forward port of branch 9.0 up to da2b88b 2015-12-09 16:44:05 +01:00
Yannick Tivisse f6713b420b [FIX] mail: Remove field 'chatter_needaction_auto' from the view as it's not used
anymwhere since the chatter refactor refactoring

It has been removed entirely in master at
https://github.com/odoo/odoo/commit/b278b2c431a1bb06627bbdc285263644049bb3b0
2015-12-02 13:17:04 +01:00
Martin Trigaux 90254beedb [MERGE] forward port of branch 9.0 up to 00ee6e7b 2015-12-01 10:30:44 +01:00
Aaron Bohy db8203c27a [FIX] base,hr,mail: prefetch mention suggestions
The purpose of this commit is to improve the overall performance of the mention
mechanism of the client action and chatter composer, by pre-fetching some data.

First, the employees are fetched at chat initialization (basically, at web
client initialization), if hr is installed.

Second, when focusing on the composer of a channel, the members of this channel
are fetched. In the case of a chatter, the members are already known as they
are the followers of the document.

When the user types a mention, we first display suggestions from the pre-fetched
partners, and we only perform an RPC when there are no more result matching the
search string. This RPC searches among user, and then partners if there aren't
enough matches.

A few side changes occurred:
  - auto_join set to True on user_ids field of res.partner to boost the query
    that searches partners that are users
  - the '/mail/read_followers' route now returns follower's email as well, as
    we need it for the mention;
  - a partner can now be mentionned several times in the same message;
  - mentionned partner previsualization has been removed, mainly because of
    the previous point, but also because it simplifies the code;
2015-11-27 11:47:34 +01:00
Christophe Simonis 0a07be8190 [MERGE] forward port of branch 9.0 up to 87a8896 2015-11-03 13:14:23 +01:00
Thibault Delavallée 6dfcc5f9c8 [FIX] various: get_access_action form one to multi
As this method is overided in several modules, the mix of new and
old API makes it difficult to handle. Indeed in some cases we
receive the expected dictionary, sometimes in a list, sometimes
in a list of list, due to api.one decorator.

This is a change in the method API, however it is currently completely
buggy. Moreover this method is used internally and should not be
used as an external API. Lastly, this method is new from v9.
2015-10-30 15:44:15 +01:00
Olivier Dony 8bdd15b5b6 [MERGE] Forward-port 9.0 up to ff9b997736 2015-10-11 20:55:43 +02:00
Martin Trigaux e256262b0e [MERGE] Forward-port 9.0 up to 422f3b5d 2015-10-07 16:42:33 +02:00
Jérome Maes 3e3ba3e2b7 [FIX] mail : controller chat_post force text to be plaintext
This controller is mainly used by im_livechat which don't send html message. It is more secure to force it in plain text. If anonoymous user write html tags, it will be escaped and sanitize.
2015-10-07 16:37:23 +02:00
Jérome Maes 2a676ee11c [FIX] mail : broadcast needaction for concerned partners in particular bus channel
Use the (dbname, 'ir.needaction', partner_id) channel to broadcast needaction to partner. Some message can be needaction, without belonging to a mail channel of the partner. Keep the (dbname, 'res.partner', partner_id) channel for conversation header.
2015-10-06 09:44:51 +02:00
Jérome Maes 22631a152a [FIX] mail, website_mail : special controller for message author avatar
Previous commit (3304b31938) was not performant enough for AL, so got special autorization to make a particular controller for mail.message author avatar. Avatar of message is avaiblable if current user has 'read' access right to the document. Otherwise the default avatar is one white pixel.
2015-10-06 09:43:46 +02:00