Commit Graph
71 Commits
Author SHA1 Message Date
Raphael Collet f739c38d58 [IMP] mail: trigger garbage collection of attachments from model ir.autovacuum 2015-09-30 16:29:59 +02:00
Raphael Collet 5a6e136172 [IMP] addons: adapt binary fields to store images in attachments 2015-09-28 15:19:47 +02:00
Leonardo Rochael Almeida 60af7cac02 [IMP] replace simplejson with stdlib json
The stdlib version of the json library is more recent than the 3.5.3
version we are pinning in `requirements.txt`

There is no reason to use it.

Closes #6940
2015-09-28 10:53:32 +02:00
Thibault Delavallée 486aab5098 [FIX][BACK FROM TRASH] mail: chatter: read more / read less
Read more / less feature is back (and probably ugly). It has probably been
removed when refactoring the old chatter.

[FIX] tools: html shortening: encoding issue
2015-09-24 16:20:53 +02:00
Thibault Delavallée 396c5db41a [FIX] mail, various: buttons in notifications
Various fixes :
- new button (task / issue / note) param name + correct action
- method button fix
2015-09-22 10:28:01 +02:00
Thibault Delavallée 5492f88126 [FIX] mail: mail_message write right
Notified people should be able to write on the message, for example to be
able to star / unstar, needactionize / unneedactionize (nice word).
2015-09-21 12:44:40 +02:00
Jérome Maes 83f15283bf [FIX] mail : fix needaction generation
When creating a document a message is posted (ex: 'document created') and the track field users are auto added as follower and notified with the last posted message (like the just create message). So the author was notify of the creation of its own document.

The problem did not appears using form view, beacause when the mail.message were reloaded, the thread was mark as read, so the partner (author/creator) was directly removed from the needaction_partner_ids field. The issue happen when loading the demo data, generating many needaction for the admin user (creator of most of the document).

This bugfix remove the current partner from the new follower to subscribe and to notify with the last posted message, as done when a message is posted (in _notify method of mail.message).
2015-09-18 11:50:29 +02:00
Martin Trigaux 38026134b1 [IMP] mail: better field label
Needaction is definitely too technical
2015-09-17 17:26:16 +02:00
Olivier Dony 493ea0256d [FIX] mail: no needaction counter if request user has no partner
This is a temporary fix while tracking down the
root cause for the missing partner_id.
2015-09-15 13:36:37 +02:00
Jérome Maes 1d56ea0f6f [FIX] mail : when create a channel, give it the channel_last_seen_partner_ids to direct make the creator a member and avoid access right exception 2015-09-14 10:16:32 +02:00
Martin Trigaux 087f8bed48 [FIX] correct some English mistakes
Missing spaces, typos, rephrase unclear text
Courtesy of Eric Geens
2015-09-10 12:22:17 +02:00
Nicolas Martinelli a6d773773d [FIX] mail: empty notes and field monetary
We prevent the creation of empty notes and add the field monetary in the
list of accepted fields.
2015-09-10 10:09:58 +02:00
Christophe Simonis 5e1eb5f34c [IMP] mail: avoid followers with dissociative identity disorder 2015-09-09 15:38:12 +02:00
Jérome Maes 7674536713 [IMP] mail : message_post_with_template helper
Create `message_post_with_template` helper method to factorize the simulation of a mail.compose.message wizard.

Also, fix the generated attachments of mail.compose.message wizard by returning ORM command (6, 0, ids) instead of the list of attachments ids. In order to standardize the behavior of the wizard, and since the ORM support command assignation in onchange api.v8, all the x2many fields of the wizard return a command.

FYI, that was tde's idea !
2015-09-04 15:55:38 +02:00
Jérome Maes 223143bd97 [FIX] mail_channel, mail : various
mail_channel: call create with mail_create_nosubscribe=True to not subrscribe creator as follower,
since channel is not a mail thread (channel followers make no sense)

mail : adaptation with new chm controller for attachment, and remove author_ avatar from message format
2015-09-01 21:04:31 +02:00
Jérome Maes 06f8e755a0 [FIX] mail_channel : use o2m field to set default values of m2m channel_partner 2015-09-01 20:58:12 +02:00
Géry Debongnie a134a6988f [IMP] mail: rename references to 'slack' in 'chat' + webicon
use the old chat webicon
2015-09-01 20:58:11 +02:00
Géry Debongnie 2cfb915f25 [FIX] mail: use correct redirect action
The redirect action to the inbox was removed, but the tests (and the default action
method) need to be updated.
2015-09-01 20:58:10 +02:00
Jérome Maes 95b97d1010 [REF] im_livechat : refactoring, make it compatbile with the nw mail module, change reporting sql view (split them in 2), adapt view, ... 2015-09-01 20:16:09 +02:00
Jérome Maes 449f254638 [REF] mail : include real time, and replace Timeline features
This commit add instant messaging features in mail module to make it a real team collaboration tool. Lots of these new features will replace Timeleine view (which is not removed in this commit). Many files have been moved, split or created for a better structure.

- My Channels : A user can be member of channel (mail.channel). These are discussion group, but also an aggregate of notification. Setting a channel as document follower, it will receive all the message (of the chatter) in real time, as information stream.

- A new Inbox : this aims to replace the timeline view. The user will see its channels grouped by 'slot', and receive the message in real time. Jump to the form view, invite people, create private discussion group, talk directly to another employee, ... are the main features. Your message can still be starred. The 'Inbox' will only contain your needaction.

- Needaction concept : a needaction is a message calling you to do something. If you follow a document as a person, the posted message will be 'needaction' for you. It can also be a message where you are mention with a '@my_name' (this feature is not added in this commit).

- The chatter doesn't change so much. It still allow you to see the discussion about the document, to star some message, and treat your needaction.

- Chat : the only way to have a minified conversation is from the Inbox Client Action. It allow you to keep an eye on a channel when working on document.

- Compose Message : it is now common to the Inbox, and the chatter. It offers shortcode substitution, attachments management, and optional subtype.

- UI : the chat window has been clean, they have a new look now.

To do so,
- Chatter code have been completely rewrite, independently of timeline view
- Add 'bus' as mail dependency, to insure real time
- A mail.message is broadcasted on the bus channel (db, mail.channel, channel_id), and a channel header on (db, res.partner, partner_id)
- Extracting mail_thread mixin used for Chatter and ChatMailThread (Inbox client action). This uniformize the programming structure with the server side
- Clean CSS style and use LESS instead of CSS
- Define a new messafe format (message_format method in mail_message.py), compatible with fetching and broadcasting
- Apply guideline coding conventions

This commit also break the module im_livechat, since im_chat models don't exists anymore and will be fixed in the next commit.

Thanks to Thibault Delavallee (tde) for the long debates and precious advices, Richard Mathot (rim) for the support, Simon Lejeune (sle) for the client action layout, and the Usability Team (apr, lle, bst yti) for the long testing.

Conflicts:
	addons/mail/models/mail_thread.py
2015-09-01 20:16:09 +02:00
Jérome Maes 4af9631072 [MOV] mail, im_chat : move files and code from im_chat to mail and bus
- im_chat.session will be replaced by mail.channel
- im_chat.shortode is renamed into mail.shortcode
- im_chat.presence is moved to bus module
- js and controller code is moved from im_chat to mail module

This commit only move files, and modify manifests, bundles, ... The code will be adapt in the next commits.
2015-09-01 20:16:08 +02:00
Gaurav Panchal bb1200adc7 [IMP] project, project_issue : email cc set follower
Partner is created on the fly if it didn't exist yet.
2015-09-01 08:13:53 +02:00
Thibault Delavallée 01ab75f597 [IMP] mail: notification emails with button
Notification emails have been redesigned. They notably include buttons
allowing to perform some action directly from the email.

The notification creation and sending has been partially rewritten
and improved. The purpose is to lessen the number of rendering to perform
when sending emails to recipients. Recipients are first categorized into
groups. Basic groups are partners and users. The notification template
is then rendered twice, one for followers and one for not-followers. In most
cases there will be few rendering to perform. Through inheritance it
is possible to further categorize users. For example HR users / officers
that have approve / refuse buttons in their email.

A custom data structure is used to store data about buttons and actions.
URLs, follow / unfollow are added in the structure and used in the
template to render the email for a given group.

New routes are added in mail. Those allow to perform some action, like
going to a form in create mode, following / unfollowing, executing a method,
sending a signal for a workflow. Those routes are for users only and rely
on classic access rights.

A generic route for viewing records is added. It replaces the old redirect
action. According to some specific action given by the already-existing
get_access_action, the record will be visible for everybody (forum, blog)
or restricted (going on the Inbox / login / form view, according to access
rights).

The next commit will add the various inherits necessary to add the actions
in the main addons.
2015-08-28 17:30:42 +02:00
Thibault Delavallée 14dea96a4e [FIX mail: decorator issue
A method was designed to work in multi, but used sometimes as model
and sometimes as one.
2015-08-28 15:15:35 +02:00
Thibault Delavallée e755791af8 [FIX] mail: various fixes
- mail_message: fixed internal subtypes

Indeed has_group works only for uid and does not care for any given recordset.
Probably we need a is_in_group method on res.users. Someone smart could code it.

- mail_message: update message before notify

This way in the various notify methods, the message is correclty updated with
needaction and recipients. Also cleaned some comments.

- mail_message: avoid email loops

Do not notify people having the same email as the message / email to propagate.

- mail_message: fix access right issues

When computing recipients and partners to email, use a sudo for some internal
computation to avoid access rights issues. Indeed public user may go through
this method (forum for example).
2015-08-27 17:07:02 +02:00
Yannick Tivisse 82acdbaa49 [FIX] Several fixed due to some of the demo data removal
NB : Some tests have been modified.
One assert statement in orderpoint_calendar.yml has been modified,
but the change is legit has no python method has been modified at all
2015-08-25 19:27:24 +02:00
Thibault Delavallée cbb21421a3 [CLEAN] mail, hr_recruitment: unused imports 2015-08-25 17:17:30 +02:00
Christophe Matthieu d4bae06d08 [IMP] web: use css to display attachment mimetype
Widgets and website display images or display the type with icon like pdf, doc...
2015-08-21 22:06:52 +02:00
Christophe Matthieu 6baf611df1 [IMP] web: create generic controller '/web/content' and '/web/image'
Replace deprecate controllers like /web/binary/image, /web/binary/saveas...
Use ETag for all content with 'unique' option to cache the content if the content is never changed.
2015-08-21 22:06:52 +02:00
Xavier Morel 2ea5c3aeef [IMP] restrict modules to system_group
* listing of modules in website already bypassed session user
* altered authenticated endpoint so it does the same
* sudoed a few read accesses & name_get in groups
* other accesses are list/form views, menu only accessible to
  system_user
* new-API-ified some calls & unified listing of installed modules
2015-08-21 12:59:06 +02:00
Thibault Delavallée 88b8cd0587 [REF] mail: model update for NewChatter
Main changes :
- mail.notification model is removed. People do not receive notifications
anymore. Instead two ways of following documents exist
  - using a channel; messages will be displayed on the channel itself
  in a near future commit
  - following with its partner; messages will all be considered as
  needaction, using a new m2m table. People should receive less
  needaction messages by following less records by themselves.
There is no more read / unread state anymore. Instead only needaction
messages are considered. Todo (Favorites) messages still exist, and are
stores on a new m2m table instead of using decorated notifciations.
- the main filter for documents is not message_unread anymore, but
message_needaction. A lot of views and filters have been updated
accordingly.
- the vote feature has been removed
2015-08-21 12:11:56 +02:00
Thibault Delavallée c02982b4c4 [REF] mail: mail_channel update
Some features from live_chat have been moved to the mail module :
- channels now have members, replacing followers;
- a decorated m2m is used to link channels and members. It stores the last
seen message on the channel for a specific partner;
- channels do not create menu entries anymore, because the
NewChatter will have its own display and use of channels;
- access rights have been updated accordingly, using members instead of
followers
2015-08-21 12:11:56 +02:00
Thibault Delavallée e6f038a821 [REF] mail: mail_thread: followers update
Followers can now be partners or channels. Partners following a document
will receive needaction, as previously. However people can follow documents
through channels. Members of a channel are able to listen to a stream
of messages using the channel. Those messages do not create needaction
messages. It is therefore possible to follow documents without receiving
too much notifications. For interesting documents subscribing with its
partner will create notification.

message_follower_ids fields is udpated. It is now a many2many to
mail.followers, not to res.partner anymore. A subscription can be either
a partner (partner_id) or a channel (channel_id).

Some access rules have been updated accordingly.
2015-08-21 12:11:56 +02:00
Thibault Delavallée 098fcb7e4e [MOV] mail: move code for email notification
Move the notification management from mail.notification to res.partner model.
Those methods belong more to the partner model, as they work on partners.
Moreover with the upcoming new model for NewChatter notification will be
heavily refactored.
2015-08-21 12:11:55 +02:00
Gaurav Panchal 6b55539dc7 [IMP] res_partner: form view cleaning
Better display of contacts, simplified contact creation, use default image
for shipping and delivery, and various fixes and improvements in the
form view.

Main impacted addons :

 - account: add a bank_account_count field and stat button that replaces the
 2many field
 - base_vat: remove the button to check vat, as there is already a constraint
 and removed and unused import
 - payment: add a payment_method_count field and stat button that replaces
 the 2many field
2015-08-18 10:51:27 +02:00
Thibault Delavallée 9f844c570f [REM] mail, calendar: removed dead code (unused method and its
override, unused variables; duplicated code; commented code)
2015-08-06 10:06:18 +02:00
Antony Lesuisse e7e452f38c [IMP] ir.ui.menu more cleanups
- remove deprecated tree_but_open ir.values
- remove magic ir_ui_menu delete at loading
- remove unused icon and web_icon_hover
2015-08-02 14:10:24 +02:00
Thibault Delavallée 744d7e2331 [FIX] mail: alias: default value for alias_domain
otherwise it is not correctly computed on new records inheriting
from mail.alias class.
2015-07-30 10:19:14 +02:00
Thibault Delavallée 924c54f24b [FIX] mail: followers computation: working on newId records
can lead to issues when trying to compute followers.

This case appears in the onchange mechanism. Indeed it may
manipulate temporary and/or new records, not having an
ID. In this case the computation of followers is not
necessary anymore.
2015-07-29 12:07:50 +02:00
Christophe Simonis 97073e2a73 [MERGE] forward port of branch saas-6 up to 51040b6 2015-07-28 13:56:16 +02:00
Christophe Simonis e182f19694 [FIX] *: various bug were introduced during last forward-port 2015-07-22 18:33:04 +02:00
Christophe Simonis 2cf91d16a5 [MERGE] forward port of branch saas-6 up to 63e92cb 2015-07-22 16:17:54 +02:00
qdp-odoo 330b1275c5 [REF] mail: refactored message_track for better inheritance possibilities + display body and tracked fields in the chatter if a message has both 2015-07-20 11:40:06 +02:00
Damien Bouvy 1a23506b4b [FIX] mail: forgotten context in new api migration 2015-07-17 09:57:09 +02:00
Raphael Collet b1915f506d [FIX] mail: fix method _get_default_author to return a recordset instead of an id 2015-07-11 03:00:40 +02:00
Thibault Delavallée 10f81cce31 [MOVE] mail: mail_message and mail_mail fields reorganization.
The fields were a bit messy. They have been reorganized so that field declarations
are grouped into content / from / to / gateway.

Nothing changed, only organization and some tooltips.
2015-07-09 11:13:11 +02:00
Thibault Delavallée 4a818d84a5 [REF] mail: mail.thread fields cleaning :
- removed message_summary, a field that computes html containing the number
of unread messages. This field was used only in kanban views. Probably that
in earlier versions of the kanban view this field had a use; however now
we can directly use a counter and use it in the kanban templates.
- message_unread_counter is added, a counter of unread messages computed
in the same time as message_unread. It is now used in kanban views.

Views of several addons have been updated.
2015-07-09 11:13:02 +02:00
Thibault Delavallée d931aa3825 [RENAME] mail, portal: updated actions and views xml ids
for channel-related stuff. mail.channel views as well as timeline views
and actions have been renamed. Now the names follow the guidelines and
will be used in the upcoming refactoring of mail and chat.
2015-07-09 11:13:02 +02:00
Thibault Delavallée 2c36354ca9 [RENAME] mail, website_mail, website_mail_group, various: mail.group
model has been renamed to mail.channel to prepare the slack modeling.

In future commits the mail.group model will be merged with the channel
model from im_chat. The first move is to rename mail.group into
mail.channel to have a model that will unite both features.
2015-07-09 11:12:50 +02:00
Thibault Delavallée a316295e36 [RENAME][MOV] mail, website_mail, website_mail_group: mail.group files
renamed to mail.channel.

At this point no model has been renamed; only files have been moved.
n mail, mail_group files have been renamed to mail_channel. The
website_mail_group addon has been renamed to website_mail_channel.
Some internal references have been updated (templates, linked files).
2015-07-09 10:13:41 +02:00