Commit Graph
102197 Commits
Author SHA1 Message Date
Géry Debongnie e4d1f6a07f [FIX] website_livechat: include correct file in frontend bundle
The css was lessified previously, and this file was not updated accordingly.
2015-09-01 21:04:32 +02:00
Aaron Bohy ad39752093 [REF] mail: chatter: followers
Integration in the new design
DOM simplification
LESS refactoring
JS lint
Subtypes edition: fix edition in the modal and style it
2015-09-01 21:04:32 +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
Aaron Bohy 0d7083f766 [REF] mail: chatter
DOM and LESS simplification
New design integration
2015-09-01 21:04:29 +02:00
Aaron Bohy 238a17ada8 [FIX] mail: don't erase event handlers of the inherited widget 2015-09-01 20:58:13 +02:00
Aaron Bohy fead298d46 [FIX] mail: don't use deprecated controllers for attachments
deprecated since 6baf611df1

Also fix path do mimetypes, now located in web.
2015-09-01 20:58:13 +02:00
Jérome Maes fa2b555d74 [FIX] mail_thread js : starred/needaction message don't disapear when re-rendering 2015-09-01 20:58:12 +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
Aaron Bohy af3f652739 [REF] mail: mail thread
- DOM simplification
- LESS refactoring
- Unused code removal
- Integration in new design
- Fix a bug when trying to scroll the the last seen message in an empty channel
 (bug was due to the assumption that an empty jQuery element equals false,
 which is wrong)
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
Jérome Maes 132e96accb [IMP] im_livechat : refactoring + improving performance by removing rpc call 2015-09-01 20:58:11 +02:00
Aaron Bohy ef9701ef68 [FIX] mail: searchview: disable groupby menu
The selector used to hide it was broken in the enterprise edition. This rev.
uses the new options of the searchview to prevent this part of the menu to
be rendered.
2015-09-01 20:58:11 +02:00
Aaron Bohy f0dfe87fa7 [IMP] mail: ControlPanel elements: buttons and sidebar
Put 'More' actions in the Sidebar
2015-09-01 20:58:11 +02:00
Aaron Bohy c694df2b6e [FIX] mail: correct use of breadcrumbs 2015-09-01 20:58:10 +02:00
Aaron Bohy 955b8728f0 [FIX] mail: fix call to $.Deferred() 2015-09-01 20:58:10 +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
Géry Debongnie 78276ebb9e [FIX] mail chatter: prevent crash when no message 2015-09-01 20:58:09 +02:00
Géry Debongnie 6a9ec89522 [REM] portal: remove override of inbox action for portal users
The mail_message_action_inbox_portal xml_id does not exist anymore.  We might need
to override this action later, depending on the needs for portal users.
2015-09-01 20:58:09 +02:00
Géry Debongnie 7ab686ffa4 [REF] mail: lint the js code
remove unused imports, add missing semicolons, ...
2015-09-01 20:58:09 +02:00
Géry Debongnie e700c802dd [ADD] mail: add mail_followers.less 2015-09-01 20:58:09 +02:00
Aaron Bohy 9febd8c47c [FIX] project: task's chatter: tip's selectors 2015-09-01 20:58:08 +02:00
Aaron Bohy 915c5d2053 [FIX] mail,mail_tip: trigger event when chatter is ready
The code in mail_tip included former implementation of the timeline view, which
is now replaced by slack.
2015-09-01 20:58:08 +02:00
Aaron Bohy 823ece2437 [FIX] mail,im_livechat: terminology: untoggle -> close 2015-09-01 20:58:08 +02:00
Aaron Bohy a0cbf891af [REM] *: remove chat menu and timeline view 2015-09-01 20:57:13 +02:00
Géry Debongnie 58a46c90cd [REF] mail: remove unused css, lessify some useful css
in particular, move the followers css from mail.css into mail_followers.less
2015-09-01 20:16:09 +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 1d54858cbd [MOV] im_livechat : restructure the module according to the new mail module 2015-09-01 20:16:09 +02:00
Jérome Maes d3279983c8 [IMP] mail : add '@' mention feature
When composing a message (on client action, or chatter) if the user type '@', he will be able to tag partner, like facebook do. The mentionned partner are recipient of the message, even if there are not follower of the document. This message is a needaction for them.
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 a9a78ee9b6 [REM] im_chat : im_chat module is deleted since its code is moved to mail and bus modules 2015-09-01 20:16:08 +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
Aaron Bohy 5907be1f33 [ADD] web: backport of function getPosition()
to compute the offset of a DOM element
2015-09-01 20:06:03 +02:00
Aaron Bohy 294abae968 [IMP] web: dialog: wait for button's onclick handler to close
When a button in the modal's footer has an onclick handler and closes the
modal, the action of closing the modal should wait for the potential deferred
returned by the handler.

For instance, if an handler performs an asynchronous call and, when resolved,
triggers a notification, the notification doesn't reach the webclient if the
modal is already closed because the widgets hierarchy is broken.
2015-09-01 20:05:34 +02:00
Aaron Bohy ac39b03a24 [ADD] web: less mixins for animation and transition 2015-09-01 20:05:25 +02:00
Aaron Bohy 23f0c49bbe [REF] web: backport some classnames renaming
oe_form_binary_form -> o_form_binary_form
oe_form_binary_file -> o_form_input_file

Required for new design compatibility (classnames accessed in addon mail)
2015-09-01 20:05:20 +02:00
Aaron Bohy 4989033fe0 [IMP] web: searchview: options to disable parts of the menu 2015-09-01 20:05:15 +02:00
Aaron Bohy 0fe349def2 [IMP] web: sidebar: generalize it for client actions 2015-09-01 20:05:09 +02:00
Aaron Bohy 5bd8e02dc8 [IMP] web: action_manager: update client action's title
when the widget's title changes, as it is displayed in the breadcrumbs
2015-09-01 20:05:05 +02:00
Jérome Maes 275efedaad [IMP] web : add partner_id of the current in the webclient session 2015-09-01 20:05:00 +02:00
Christophe Simonis df3e7fedcf [MERGE] forward port of branch 8.0 up to a0d44f9 2015-09-01 18:46:55 +02:00
Lionel Sausin a0d44f9952 [IMP] update the expiry dates when changing the product
Written in the new API even though the rest is in the old API, because otherwise we'd have to add an onchange in the views which may be a problem for existing custom modules.

We want this behavior because previously, in some cases the default values were only added at create() time, ie. possibily when the users close the pop-up, so they may never have an opportunity to see and adjust the default.
2015-09-01 18:04:45 +02:00
Christophe Simonis 396d58ef3f [FIX] core: always better to not use undefined variables 2015-09-01 18:02:19 +02:00
Denis Ledoux 3c0fe940aa [FIX] google_calendar: force internal id only on creation
This rev. is related to 1c533b193f

The reason why we force the event Google internal id is
explained in the above commit.

Forcing the internal id must be done only when creating the
event in Google, not when updating, for retro-compatibility:
if the event is already in the attendee calendar, with a different
internal id then the other attendee, we must leave it like this,
otherwise Google will be lost.
2015-09-01 17:36:52 +02:00
Denis Ledoux 1c533b193f [FIX] google_calendar: events disappearing
This rev. is related to a9e3d74713

This new revision is about the same use case than above, except
that both Google users login doesn't match the Odoo login email.

e.g.
User A: A@agrolait.com in Odoo, A@gmail.com in Google
User B: B@agrolait.com in Odoo, B@gmail.com in Google.

When A creates an event, with B in the attendees, and
syncs his calendar to Google, B is not automatically invited
Google side, as his attendee email is B@agrolait.com, which
doesn't match any existing Google User (doesn't match B@gmail.com)

While the revision mentioned above, a9e3d74713,
expected the attendee to be automatically invited Google side, and therefore
expected the event to already exists in B's calendar.

Therefore, when B syncs his calendar in Odoo, as the event
was there in his Odoo calendar, but not in his Google Calendar,
the code actually think it's no - longer - there, and take the assumption
the event has been deleted Google side. So, it deletes the event
in Odoo side as well, for both users A & B.

To overcome this new issue, when the Google & Odoo users emails
do not match, while keeping the compatibility when the Google & Odoo
emails do match (and therefore the invitation is automatically sent
Google side, as the email matches an existing Google account, and
the event is automatically created in B's calendar without needing the
sync in Odoo), we now force the Google internal id to be the same
for all attendees of an event, event by Google side.

opw-645745
2015-09-01 17:15:43 +02:00
Josse Colpaert 042f05f2e5 [IMP] stock: barcode of a product or location should not be copied when duplicating (copy=False) 2015-09-01 16:20:50 +02:00
Denis Ledoux b8f630e59f [FIX] stock_account: context could be None
In the use case of a mrp repair ending, the
context when calling `_store_average_cost_price`
is None

opw-648254
2015-09-01 16:18:10 +02:00
pvy 5d7f12f03e [REF] l10n_be: moved belgian statement menuitem from l10n_be_reports to l10n_be 2015-09-01 15:47:53 +02:00
Darshan Kalola 7f024fe5ef [IMP]planner: some correction according to new features added in master. 2015-09-01 15:46:22 +02:00
Yannick Tivisse 7097f68a80 [IMP] Project: Discover Odoo Project Fine Tuning 2015-09-01 15:38:12 +02:00
Christophe Matthieu 0f6b97a6da [FIX] web_editor: clean_for_save is not called for custom snippets because all() not contains all html matched tags 2015-09-01 15:18:07 +02:00