Browse Source
Merge pull request #166 from KolushovAlexandr/12.0-mail_all-port
Merge pull request #166 from KolushovAlexandr/12.0-mail_all-port
⬆️1️⃣2️⃣ mail_allpull/161/head
ILMIR
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 87 additions and 72 deletions
-
8mail_all/README.rst
-
1mail_all/__init__.py
-
10mail_all/__manifest__.py
-
8mail_all/static/description/index.html
-
85mail_all/static/src/js/mail_all.js
-
17mail_all/static/src/xml/menu.xml
-
1mail_all/tests/__init__.py
-
7mail_all/tests/test_js.py
-
10mail_all/views/templates.xml
@ -0,0 +1 @@ |
|||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). |
@ -1,57 +1,50 @@ |
|||
/* # Copyright 2016-2018 Ivan Yelizariev <https://it-projects.info/team/yelizariev> |
|||
# Copyright 2017-2018 Artyom Losev <https://it-projects.info/team/ArtyomLosev>
|
|||
# Copyright 2018 Kolushov Alexandr <https://it-projects.info/team/KolushovAlexandr>
|
|||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). */
|
|||
odoo.define('mail_all.all', function (require) { |
|||
"use strict"; |
|||
|
|||
var chat_manager = require('mail_base.base').chat_manager; |
|||
var core = require('web.core'); |
|||
var Manager = require('mail.Manager'); |
|||
var Mailbox = require('mail.model.Mailbox'); |
|||
|
|||
var _t = core._t; |
|||
|
|||
Manager.include({ |
|||
_updateMailboxesFromServer: function (data) { |
|||
var self = this; |
|||
this._super(data); |
|||
if (!_.find(this.getThreads(), function(th){ |
|||
return th.getID() === 'mailbox_channel_all'; |
|||
})) { |
|||
this._addMailbox({ |
|||
id: 'channel_all', |
|||
name: _t("All Messages"), |
|||
mailboxCounter: data.needaction_inbox_counter || 0, |
|||
}); |
|||
} |
|||
}, |
|||
|
|||
var _lt = core._lt; |
|||
_makeMessage: function (data) { |
|||
var message = this._super(data); |
|||
message._addThread('mailbox_channel_all'); |
|||
return message; |
|||
}, |
|||
}); |
|||
|
|||
var ChatAction = core.action_registry.get('mail.chat.instant_messaging'); |
|||
ChatAction.include({ |
|||
get_thread_rendering_options: function (messages) { |
|||
var options = this._super.apply(this, arguments); |
|||
options.display_subject = options.display_subject || this.channel.id === "channel_all"; |
|||
return options; |
|||
Mailbox.include({ |
|||
_getThreadDomain: function () { |
|||
if (this._id === 'mailbox_channel_all') { |
|||
return []; |
|||
} |
|||
return this._super(); |
|||
}, |
|||
}); |
|||
|
|||
// override methods
|
|||
var chat_manager_super = _.clone(chat_manager); |
|||
|
|||
chat_manager.get_properties = function (msg) { |
|||
var properties = chat_manager_super.get_properties.apply(this, arguments); |
|||
properties.is_all = this.property_descr("channel_all", msg, this); |
|||
return properties; |
|||
}; |
|||
|
|||
chat_manager.set_channel_flags = function (data, msg) { |
|||
chat_manager_super.set_channel_flags.apply(this, arguments); |
|||
msg.is_all = data.author_id !== 'ODOOBOT'; |
|||
return msg; |
|||
}; |
|||
|
|||
chat_manager.get_channel_array = function (msg) { |
|||
var arr = chat_manager_super.get_channel_array.apply(this, arguments); |
|||
return arr.concat('channel_all'); |
|||
}; |
|||
|
|||
chat_manager.get_domain = function (channel) { |
|||
return (channel.id === "channel_all") |
|||
? [] |
|||
: chat_manager_super.get_domain.apply(this, arguments); |
|||
}; |
|||
|
|||
|
|||
chat_manager.is_ready.then(function () { |
|||
// Add all channel
|
|||
chat_manager.add_channel({ |
|||
id: "channel_all", |
|||
name: _lt("All messages"), |
|||
type: "static" |
|||
}); |
|||
return $.when(); |
|||
}); |
|||
|
|||
return chat_manager; |
|||
return { |
|||
'Manager': Manager, |
|||
'Mailbox': Mailbox, |
|||
}; |
|||
|
|||
}); |
@ -1,2 +1,3 @@ |
|||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). |
|||
|
|||
from . import test_js |
Write
Preview
Loading…
Cancel
Save
Reference in new issue