You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.9 KiB

  1. odoo.define('mail_all.all', function (require) {
  2. "use strict";
  3. var base_obj = require('mail_base.base');
  4. //-------------------------------------------------------------------------------
  5. var bus = require('bus.bus').bus;
  6. var config = require('web.config');
  7. var core = require('web.core');
  8. var data = require('web.data');
  9. var Model = require('web.Model');
  10. var session = require('web.session');
  11. var time = require('web.time');
  12. var web_client = require('web.web_client');
  13. var _lt = core._lt;
  14. //-------------------------------------------------------------------------------
  15. var ChatAction = core.action_registry.get('mail.chat.instant_messaging');
  16. ChatAction.include({
  17. get_thread_rendering_options: function (messages) {
  18. var options = this._super.apply(this, arguments);
  19. options.display_subject = options.display_subject || this.channel.id === "channel_all";
  20. return options;
  21. }
  22. });
  23. // Inherit class and override methods
  24. base_obj.MailTools.include({
  25. get_properties: function(msg){
  26. var properties = this._super.apply(this, arguments);
  27. properties.is_all = this.property_descr("channel_all", msg, this);
  28. return properties;
  29. },
  30. set_channel_flags: function(data, msg){
  31. this._super.apply(this, arguments);
  32. msg.is_all = true;
  33. return msg;
  34. },
  35. get_channel_array: function(msg){
  36. var arr = this._super.apply(this, arguments);
  37. return arr.concat('channel_all');
  38. },
  39. get_domain: function(channel){
  40. return (channel.id === "channel_all") ? [] : this._super.apply(this, arguments);
  41. }
  42. });
  43. base_obj.chat_manager.is_ready.then(function(){
  44. // Add all channel
  45. base_obj.chat_manager.mail_tools.add_channel({
  46. id: "channel_all",
  47. name: _lt("All messages"),
  48. type: "static"
  49. });
  50. return $.when();
  51. });
  52. return base_obj.chat_manager;
  53. });