Commit Graph
90 Commits
Author SHA1 Message Date
Thibault Delavallée 870974effe [IMP] ir_actions, mail: add add_followers server action
Add a server action allowing to add followers, either partners or
channels, to documents.
2017-01-03 19:11:07 +01:00
Yannick Tivisse 8fa9f7d6d4 [REF] ir_actions: refactor and simplify ir.actions.server
Main idea of this commit is to simplify the various options of
ir.actions.server model. Purpose is to make it a simple tool to
execute some actions or python code. This has two main consequences

 * create and update server actions are simplified to update only the
   current record. Complex options can always be achieved by python code
   instead of error-prone option building mechanism;
 * condition of server actions is removed. If a condition is necessary it
   can either be included in a code server action, or integrated in an
   automated action;

This commit features :

 * remove 'client_action' server action type. Indeed this can be achieved
   with a code server action returning an action;
 * remove 'condition' on ir_actions_server model. From now on conditions
   and triggers are managed in server action code or using automated
   or scheduled action;
 * clean 'create and copy a record'. Create and link are the proposed
   options. Copy of the record or of a selected record is removed. Link
   is simplified by removing the parsed expression that allowed complex
   path update. It is simpler to write code than write python-like
   expression in char fields;
 * remove 'use_write' options. It now simply updates a record;
 * remove 'write_expression' as it is replaced by code actions;
 * remove 'ref_object' not used anymore with the removal of "choose
   a record";
 * remove helper to build an expression not used anymore with the removal
   of "write expression";
 * remove object ID finder;
 * removed template display when choosing an email template; just go
   on the template if you want more details;
 * refactor server action form view to reflect changes. It will be used
   in future commits as base view for automated and scheduled actions;
 * add 'sequence' in list view;
 * add new 'usage' selection field allowing to distinguish which model
   uses the server action. Indeed as server action will soon be used
   in scheduled or automated actions having a clue about the usage
   is always helpful;

Thanks to @fpodoo for the original idea and preliminary work. Thanks to
@jpr-odoo for first developments. Thanks to @jem-odoo and @rco-odoo
for reviewing.
2017-01-03 19:11:06 +01:00
Akash Bhavsar 79fd51b2a5 [IMP] base_setup: Improve the General Settings form view 2017-01-03 17:07:02 +01:00
Jérome Maes 2da8460a89 [IMP] mail: add integrations menuitems, but invisible
This allow modules to plug into mail configuration
on channel.
2016-12-30 17:01:55 +01:00
Thibault Delavallée 655c70319d [IMP] mail: hide Unsubscribe button in channels using group-based subscription
Group-based channels automatically add people belonging to user groups to the
channel. If a member leaves the channel he will be automatically added back
by the channel automatic subscription. This generates unnecessary changes and
messages in the channel.

We now prevent people from leaving group-based channels. All group members
have to be channel members. Unsubscribe buttons are therefore removed for
those channels.
2016-12-30 10:28:42 +01:00
Ravi Gadhia 0811c20d9c [IMP] mail: partner: add support of activities support on res.partner model 2016-12-21 11:00:16 +01:00
Ravi Gadhia 60bacefd01 [IMP] mail: add activities allowing to define next actions on various models
This commit introduces generic activities to use in your addons. Activities are
actions user have to take on a document like making a phonecall or organizing
a meeting. Activities come with the mail module as they are integrated in the
Chatter but are not bundled with mail.thread.

New models are

 * mail.activity.type: used to categorize activities. Each type is a different
   kind of activity e.g. call, mail, meeting. An activity can be generic i.e.
   available for all models using activities; or specific to a model in which
   case res_model_id field should be used.
 * mail.activity: an actual activity to perform. Activities are linked to
   documents using res_id and res_model_id fields. Activities have a deadline
   that can be used in kanban view to display a status. Once done activities
   are unlinked and a message is posted. This message has a new activity_type_id
   field that indicates the activity linked to the message.

This commit introduces a mail.activity mixin to use in various addons that
enables the activities feature. It works like the mail.thread mixin. It defines
a activity_ids one2many field toward activities using res_id and res_model_id.
Various related / computed fields are also added to have a global status of
activities on documents.

Activities come with a new JS widget for the form view. It is integrated in the
Chatter widget although it is a separate widget. It displays activities linked
to the current record and allow to schedule, edit and mark done activities.
Use widget="mail_activity" on activity_ids field in form view to use it.

There is also a kanban widget defined. It defines a small widget to integrate
in kanban vignettes. It allow to manage activities directly from the kanban
view. Use widget="kanban_activity" on activitiy_ids field in kanban view to
use it.

Next commits will aim at integrating activities inside main Odoo addons.

Thanks to R&D India for their work and testing on this task. Thanks to belgian
Usabiliteam for reviewing and testing it. Thanks to @jem-odoo for the final
review. May his soul lie in peace with the trumpets of paradise.
2016-12-21 10:56:15 +01:00
Thibault Delavallée 94d2b97da4 [IMP] mail: make res_model of followers model a related on m2o towards ir.model
When uninstalling a module followers stay in the database because there is no
real link between ir.model and followers. Adding a m2o ensure followers are
correctly removed when uninstalling a module.

res_model fields is kept as a stored related field. This allows to keep
compatibility with almost all code using / searching on followers. Only
followers creation is changed a bit. As follower creation is done mainly
through a dedicated method few changes are required. Yey. Mat should be
happier now.

fix test
2016-11-23 11:13:18 +01:00
Martin Trigaux 11812b0b9e [FIX] all: remove external ids fakely from base
Several modules defines records with the external ID `base.foo_bar` while it is
created inside this module (typically menus and groups).
While there is no technical reasons to do so but this may introduce issues:

- these records will not be deleted during uninstall
- if a language is loaded before the installation of the module, it won't be
  translated

The uninstallation will only remove the records with an external id linked to
this module (these would only be removed when removing base).

Installing a language before the module will drop the translations not linked
to an existing external id (as it can not be resolved).

This commit correct all the external ids tagged as from base or other incorrect
modules.
2016-09-02 16:14:26 +02:00
Thibault Delavallée 0bedc14c12 [IMP] mail, various: send email to assigned people
When a user is assigned to a model on a user_id field an email is sent to him
containing a link to the document. This way the user is warned he is now
responsible of the task / issue / lead / ...
2016-09-01 13:24:27 +02:00
Thibault Delavallée 029d1baf35 [REF] mail: remove required alias on users
This commit remove required alias on res.users model. It also removes the
inheritance of mail.alias.mixin. The field alias_id is kept and allow people
to use aliases on users if they want. However there is no default void alias
created for each user anymore.

Default from of mail.message does not use user alias anymore. Indeed this
creates issues with aliases not being correctly configured and can be
confusing compared to private channels. Using user aliases is therefore
now done manually instead of being a default behavior.
2016-09-01 13:19:24 +02:00
Thibault Delavallée 72dfcae2a4 [IMP] mail: improve notification management for customers
Currently it is impossible in Discuss to know whether an email has been sent
to a customer and whether it failed or bounced. A notified partner has an
entry in the needaction m2m table. In this commit we decorate this table to
add fields about the email notification: is an email sent, did it failed, did
it bounce.

This information is kept only for customers. Internal users does not use this
information. Moreover their notification is deleted once the message is read
in the Chatter. This avoids having a notification table that grows quickly.

Chatter now holds a new icon for email details. It allows to know on a thread
status of emails sent to customers.
2016-09-01 12:57:56 +02:00
Christophe Simonis 235ed4b2c1 [MERGE] forward port branch saas-12 up to 9ad5f26 2016-08-20 18:08:19 +02:00
Raphael Collet ffdafd3f8a [REM] most uses of _model (useless in most cases) 2016-08-16 09:55:46 +02:00
Thibault Delavallée efd55ab8a5 [REF] various: rename openerp node to odoo in xml files 2016-08-10 15:48:10 +02:00
Simon Lejeune c524e6a254 [FIX] mail, report: class doesn't exist 2016-08-04 13:56:18 +02:00
Aaron Bohy 99a6f4ac72 [ADD] mail: onboarding tour 2016-06-16 14:59:41 +02:00
Jainik Patel eda051f43d [REM] web: Remove GTK icons and replace them by Font-awesome 2016-06-13 12:04:17 +02:00
Ravi Patel 598f401d67 [ADD] contacts: Move 'Contacts' root menuitem from 'mail' to a new module
Purpose:
There are too many apps when someone starts to use odoo.
The user installs an app and see at least 6 menus -> too much !

Specification:
In mail module move contacts menu into new module 'contacts' to avoid this
useless app for new users but that can be useful afterward
2016-06-10 06:17:57 +02:00
ptr 0f41256009 [ADD] mail,sale,stock,purchase,event,pos: Source document clickable in chatter
PURPOSE:
The source document should be in the chatter and clickable

NEW MAIL TEMPLATE:
mail: new template 'message_origin_link' with clickable link to origin
Variables to pass:
- origin: the record from which the current record had been created
- self: The current record
Optional:
- edit: If true, the record has been modified. Otherwise it has been created
  from the origin

SPECIFICATION:
Source Document is available in following models
1) After creating SO then Sale to Invoice -> Source Document (After creating Sales Order and then clicking on Create invoice)
2) When procurement is created after SO or MO or Order Point(procurement.order) - > Source Document
3) Stock.picking -> Source Document ( After Creating SO or PO)
4) When Manufacturing Order is Created (mrp.production) -> Source Document (Coming after creating a sale order of product)
5) Event -> Attendees(event.registration) -> Source Document
6) Request For Quotation -> Source Document (After creating Purchase Tender, SO)
7) In Purchase Tender(purchase.requisition) -> Source Document (When a new Purchase Tender is Created)
8) After creating PO then create invoice(vendor bill)-> Source Document
9) After creating Invoice from contract (subscription) - > source Document.
10) Refund invoice from Invoice --> Source Document.
11) Return picking from picking --> Source Document.
12) sale use POS to create invoice and picking -->  Source Document.

MESSAGES TO DISPLAY:
-In Customer Invoice, there is a source document of Sale Order.
 "This Invoice has been created from Sale Order(s): SO001, SO002"

-In Procurement, the source document can be either of Sale Order or Manufacturing Order or Order Point.
 "This procurement is created from: SO001 or MO0001 or OP/0001"

-In Stock Picking, the source document can be either of Sale Order or Purchase Order.
 "This transfer has been created from sales order(s): SO001 or PO0001"

-Create new Sales order of manufactured product , there will be Source Document with that Sale Order number
"This production has been created from procurement(s): WH: Stock -> CustomersMTO"

-When registering for Event from website, Sale Order is Created and it is stored in Source Document,
 "The attendee has been created from Sale order: SO001"

-In RFQ, the source document can be either Purchase Tender or Sale Order or Order Point,
 "This purchase order has been created from purchase requisition(s): TE0001 or SO001 or OP/0001"

-In Purchase Tender, the source document can be either of Sale Order/ Manufacturing Order/ Order Point.
 "This Purchase Requisition has been created from: WH: Stock -> CustomersMTO"

-In Vendor bill, there is a source document of Purchase Order.
 "This Vendor bill has been created from Purchase Order(s): PO0001, PO002"

-When creating refund of invoice
 "This customer invoices refund has been created from customer invoices: INV/2016/0001"

-when create invoice and picking form pos.
 "This invoce has been create from point of sale: MainXX"
2016-06-02 15:33:57 +02:00
Géry Debongnie e877d59d21 [REM] mail: remove old announcement bar 2016-03-09 13:01:34 +01:00
Aaron Bohy dc81e5f664 [REF] mail: code refactoring
- extended_chat_window feature in its own files: as it is only available in the
  backend, we don't want it in the frontend assets (which contain the 'basic'
  chat_window)
- move followers feature in its own files
- creation of the 'mail.utils' module in utils.js
- creation of systray.less to define the style of the mail item and dropdown
  in the navbar
- use of chat_manager's search_partner function in PartnerInviteDialog
- some code linting
2016-03-02 13:39:16 +01:00
Christophe Simonis 78d20b552b [MERGE] forward port of branch saas-8 up to 7e44ddc 2016-01-27 12:24:04 +01:00
Christophe Simonis 7e44ddcda3 [MERGE] forward port of branch saas-7 up to 6f923cb 2016-01-27 12:23:09 +01:00
Denis Ledoux 94920b43c9 [FIX] *: typo Important Messages -> Unread Messages
While this is important to read the replies
you get in the threads you follow, `Unread messages`
is more accurate to describe what these filters
displays.

opw-666739
2016-01-14 10:48:37 +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 5f860a4433 [MERGE] forward port of branch saas-7 up to 31ce19b 2016-01-05 17:05:17 +01:00
Aaron Bohy 30003dbce3 [FIX] im_livechat,mail: various ui fixes/improvements
im_livechat:
  - feedback message wording
  - livechat_channel form view typo

mail:
  - channel form view: email_send field label wording and layout
  - notifications preview extended
  - client action mass mailing composer fine tuning
  - client action mass mailing channels tooltip
  - client action idle bullet color
2015-12-28 10:19:22 +01:00
Martin Trigaux f5cfe04398 [MERFE] Forward port of branch saas-8 up to e4bf03aeaf 2015-12-21 13:32:55 +01:00
Thibault Delavallée f65a7ba618 [ADD] mail: res_partner message_bounce
Add the message_bounce field on res.partner. This allows bounced emails to increment
the counter and thus to filter / exclude / archive partners whose email is invalid.
2015-12-14 11:57:13 +01:00
Christophe Simonis 82a495eed5 [MERGE] forward port of branch saas-7 up to 4022493 2015-12-10 13:05:58 +01:00
Thibault Delavallée a13323be65 [ADD] mail: channel is_member field
This computed field allows to know whether the current user is a channel
member or not. This is necessary to fix the join / leave action button
on channels. It was still based on the followers and has not been updated
with the new v9 model of channel members.
2015-12-08 16:33:53 +01:00
Thibault Delavallée 4ebf4419a1 [FIX] mail: configure members of channels
Not being able to add / remove members of a channel through its form view is
quite limitating.

Also added the followers widget in the channel form view in technical mode.
Indeed it is sometimes necessary to be able to check a channel followers.
2015-12-08 16:33:48 +01:00
Richard Mathot c4dca1dec6 [FIX] mail: allow edition of channel memberlist 2015-12-08 13:26:25 +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
Yannick Tivisse b278b2c431 [REM] mail: Remove field 'chatter_needaction_auto', which seems useless
since the chat refactoring
2015-12-02 11:28:39 +01:00
Géry Debongnie a3fe7723d1 [IMP] mail: add kanban view of channels in discuss client action 2015-11-30 10:37:21 +01:00
Christophe Simonis f61cfaefc8 [MERGE] forward port of branch saas-7 up to 572cbfc 2015-11-25 16:43:19 +01:00
Yannick Tivisse 364b4ba06d [ADD] Add a scheduled date mechanism on email templates
And use this new features to send the email template defined in the last commit
on the module installation.
2015-11-24 18:50:27 +01:00
Martin Trigaux 36c05660ee [FIX] morning typo fix 2015-11-05 10:42:12 +01:00
Thibault Delavallée 4753cd410c [FIX] mail: template form view
Issue with last field (report_name) on a page, was not displayed
completely.
2015-11-17 10:49:43 +01:00
Géry Debongnie bac5a19451 [FIX] mail: various small UI tweaks/fixes
- put the mentionned partners and the attachment above the composer
  instead of below
- debounce some links in thread.js to prevent double loading views when
  double-clicking
- readd the # in front of the channelname of the title of the client action
- give the channel_id to the thread in a chat window, so it does not
  display the channel name everytime it displays a message
- correctly close dm chat window when the dm channel is closed in the
  main sidebar
- simplify the help messages when a channel is empty
2015-11-12 08:51:56 +01:00
Géry Debongnie 2a5f07e0b9 [REF] mail: last part of the chat refactoring (client side)
Removal of old files and update of assets and imports

Joint work with aab
2015-10-01 14:00:18 +02:00
Jérome Maes 19452f2109 [FIX] mail : email_send should be False for chat and livechat channel
Chat and livechat channel should not send emails. The field is however editable, so it was added to the form view of mail.channel
2015-10-01 12:41:00 +02:00
Thibault Delavallée 42d015f2b0 [IMP] mail: tracking values in mail message view 2015-09-25 13:30:07 +02:00
Damien Bouvy b3f3f96359 [IMP] mail: ir_attachment kanban improvement
When displaying ir_attachments, show a preview if it is an image; show the icon otherwise
Clicking on the icon/preview should trigger a download
+ Typo correction
2015-09-23 13:28:54 +02:00
Yannick Tivisse be2a911c67 [IMP] Rename 'Chat' application into 'Discuss' 2015-09-23 11:35:02 +02:00
Yannick Tivisse 1c59ae181f [IMP] Add '@someone' explanation in channel helper. 2015-09-08 15:40:37 +02:00
Foram Katharotiya 52d72e61de [MERGE] hr_expense: module rewritten for more easiness and a better usability. Concept of expense sheet removed. Was PR #7387. 2015-09-04 17:23:19 +02:00
Christophe Matthieu 522fcacb21 [IMP] base: assets now directly use /web/content url 2015-09-03 19:31:00 +02:00