Commit Graph
97770 Commits
Author SHA1 Message Date
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 396d58ef3f [FIX] core: always better to not use undefined variables 2015-09-01 18:02:19 +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
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
David Monjoie bf109373c2 [FIX] website_form: don't check editable_select elements
They are supposed to be removed by clean_for_save, but when
someone breaks it, the result is a js error here instead of
a proper error in the subsequent tour steps.
2015-09-01 15:17:30 +02:00
Josse Colpaert 75a20bcea0 [IMP] stock: pack operations read-only compute fields and product_id_change should set lots_visible
In other words, the 'split lot' button should be visible immediately
when choosing a product with lot/serial number tracking and this will
also make the quantity field read-only.

Compute fields do not need to be set as read-only.
It gave problems with the old onchange that needed to set it.
2015-09-01 15:10:08 +02:00
Arthur Maniet 1c1d3855e4 [MERGE] web/barcodes: add backend barcode scanning tools 2015-09-01 13:30:08 +02:00
Arthur Maniet 17e2526667 [FIX] barcodes: use _.bind instead of function.bind because IE 2015-09-01 13:26:03 +02:00
Arthur Maniet 121556dcea [ADD] barcodes/web: element button can use attribute barcode_trigger
A button can be triggered when a barcode corresponding to its attribute
'barcode_trigger' is scanned
2015-09-01 13:26:02 +02:00
Arthur Maniet 9cf6339b3e [ADD] web: fields char and many2one can take an option barcode_events
This allows to detect barcode scans while the focus is in such a field.
It is not the default behaviour because buffering keystrokes to see if
they are a barcode then releasing them if they aren't isn't trivial
(it is impossible to trigger a native keyboard event).
2015-09-01 13:26:02 +02:00
Arthur Maniet 670d759dbf [ADD] barcodes: BarcodeHandlerMixin that starts/stops the event handling
Only the barcode handlers in the front view should listen to barcode events.
2015-09-01 13:26:02 +02:00
Arthur Maniet 2df4060c77 [ADD] barcodes: onchange-like mechanism to react to scans in form view
For a model to use it, it must :
- Inherit barcodes.barcode_events_mixin and override on_barcode_scanned(self, barcode)
- Add <field name=barcode_scanned widget=barcode_handler/> to each form view that
  should listen to barcode events and trigger on_barcode_scanned.

The method on_barcode_scanned works just like an onchange.
2015-09-01 13:25:52 +02:00
Yannick Tivisse c62ecdbd68 [IMP] hr_equipment,mrp_repair : Add summary to modules 2015-09-01 13:19:00 +02:00
Yannick Tivisse 99c0b405d1 [IMP] base: move company logo to data 2015-09-01 13:19:00 +02:00
Yannick Tivisse 496e41bc31 [REM] hr_recruitment: Remove default alias for spontaneous applications 2015-09-01 13:19:00 +02:00
Yannick Tivisse 0bbef194f0 [REM] hr_recruitment: remove tip on breadcrumb + add on hr.job recruitment target 2015-09-01 13:19:00 +02:00
Yannick Tivisse 5a1fc21848 [IMP] hr_recruitement: Remove view switcher buttons on dashboard 2015-09-01 13:18:59 +02:00
Yannick Tivisse c5f4c42294 [IMP] crm: display opprotunities by next activities even if the date field is not set 2015-09-01 13:18:59 +02:00
Yannick Tivisse 8c5f512ec6 [IMP] crm: Your Pipeline, open the list view first 2015-09-01 13:18:59 +02:00
Yannick Tivisse c85b67a1d5 [IMP] product: Display m³ and kg next to volume and weight fields 2015-09-01 13:18:59 +02:00
Aaron Bohy c1cc4b830b [FIX] web: stat_button: display none on hover
A 'display: none' rule on hover has been added for boolean buttons, on each
'o_stat_button o_stat_text' that hasn't classname o_hover. This applies on
every stat button that isn't a boolean button, so their content is always
hidden on hover.
2015-09-01 11:02:41 +02:00
Christophe Matthieu 447dd53de5 [FIX] web_editor: wrong typo in fontIconsDialog widget 2015-09-01 09:42:33 +02:00
Christophe Matthieu 4b5b6b5f6e [FIX] web_editor: drop near select children of editable nodes 2015-09-01 09:23:24 +02:00
Christophe Matthieu a5c9be3a8d [FIX] mass_mailing: remove the on_change_model_and_list empty message from onchange 2015-09-01 09:23:24 +02:00
Christophe Matthieu 7bf80d22dd [FIX] mass_mailing: window can be undefined
If the user cancel a mass_mailing creating and click on create again,
_downup is called but the iframe don't exist
2015-09-01 09:23:24 +02:00
Christophe Matthieu 3d00c210f9 [FIX] web_editor: html widget: escape value before save. 2015-09-01 09:23:24 +02:00
Mahendra barad a223111b92 [IMP] delivery, website_sale_delivery: refactoring and usability
* migration to new API
* removed delivery.grid object, has been merged with delivery.carrier
* change view of delivery.carrier (price rules, etc.)
* tests from yml to py
* website : restrict the list of countries for delivery address in the shop
2015-09-01 08:14:16 +02:00