Browse Source
Merge pull request #299 from Enigma228322/12.0-mail_to
Merge pull request #299 from Enigma228322/12.0-mail_to
commit is created by 👷♂️ Merge Bot: https://odoo-devops.readthedocs.io/en/latest/git/github-merge-bot.htmlpull/301/head
Mitchell Admin
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 223 additions and 32 deletions
-
2mail_to/__init__.py
-
9mail_to/__manifest__.py
-
6mail_to/doc/changelog.rst
-
3mail_to/i18n/de.po
-
19mail_to/i18n/mail_to.pot
-
8mail_to/i18n/sl.po
-
1mail_to/models/__init__.py
-
33mail_to/models/mail_message.py
-
45mail_to/static/src/js/mail_to.js
-
42mail_to/static/src/js/test_mail_to.js
-
55mail_to/static/src/xml/recipient.xml
-
12mail_to/templates.xml
-
1mail_to/tests/__init__.py
-
13mail_to/tests/test_default.py
@ -0,0 +1,2 @@ |
|||||
|
# License LGPL-3.0 (https://www.gnu.org/licenses/lgpl.html). |
||||
|
from . import models |
@ -0,0 +1 @@ |
|||||
|
from . import mail_message |
@ -0,0 +1,33 @@ |
|||||
|
# Copyright 2019 Artem Rafailov <https://it-projects.info/team/Ommo73/> |
||||
|
# Copyright 2019 Eugene Molotov <https://it-projects.info/team/em230418> |
||||
|
# License LGPL-3.0 (https://www.gnu.org/licenses/lgpl.html). |
||||
|
from odoo import api, models |
||||
|
|
||||
|
|
||||
|
class MailMessage(models.Model): |
||||
|
_inherit = "mail.message" |
||||
|
|
||||
|
# взято с mail_base |
||||
|
@api.multi |
||||
|
def write(self, values): |
||||
|
if values.get("needaction_partner_ids"): |
||||
|
if not values.get("partner_ids"): |
||||
|
values["partner_ids"] = [] |
||||
|
for triplet in values.get("needaction_partner_ids"): |
||||
|
if triplet[0] == 6: |
||||
|
for i in triplet[2]: |
||||
|
values["partner_ids"].append((4, i, False)) |
||||
|
return super(MailMessage, self).write(values) |
||||
|
|
||||
|
@api.multi |
||||
|
def message_format(self): |
||||
|
messages_values = super(MailMessage, self).message_format() |
||||
|
for i in messages_values: |
||||
|
if i["channel_ids"]: |
||||
|
i["channel_names"] = ( |
||||
|
self.env["mail.channel"] |
||||
|
.browse(i["channel_ids"]) |
||||
|
.mapped(lambda r: [r.id, "#" + r.display_name]) |
||||
|
) |
||||
|
|
||||
|
return messages_values |
@ -0,0 +1,45 @@ |
|||||
|
/* Copyright 2016 x620 <https://github.com/x620> |
||||
|
* Copyright 2016-2017 Ivan Yelizariev <https://it-projects.info/team/yelizariev>
|
||||
|
* Copyright 2017 Artyom Losev <https://it-projects.info/>
|
||||
|
* Copyright 2019 Artem Rafailov <https://it-projects.info/team/Ommo73/>
|
||||
|
* Copyright 2019-2020 Eugene Molotov <https://it-projects.info/team/em230418>
|
||||
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). */
|
||||
|
odoo.define("mail_to.MailTo", function(require) { |
||||
|
"use strict"; |
||||
|
|
||||
|
var MailManager = require("mail.Manager"); |
||||
|
MailManager.include({ |
||||
|
_makeMessage: function(data) { |
||||
|
var msg = this._super(data); |
||||
|
|
||||
|
msg.partner_ids = data.partner_ids; |
||||
|
msg.channel_names = data.channel_names; |
||||
|
msg.channel_ids = data.channel_ids; |
||||
|
msg.recipients = data.partner_ids.concat( |
||||
|
data.channel_names ? data.channel_names : [] |
||||
|
); |
||||
|
if (!msg.partner_ids && !msg.channel_names) { |
||||
|
return msg; |
||||
|
} |
||||
|
|
||||
|
var more_recipients = ""; |
||||
|
// Value which define more recipients
|
||||
|
msg.more_recipients_value = 4; |
||||
|
for (var i = 0; i < msg.recipients.length; i++) { |
||||
|
if (i >= msg.more_recipients_value) { |
||||
|
// Append names
|
||||
|
more_recipients += msg.recipients[i][1]; |
||||
|
// Separate them with semicolon
|
||||
|
if (i < msg.recipients.length - 1) { |
||||
|
more_recipients += "; "; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
msg.more_recipients = more_recipients; |
||||
|
return msg; |
||||
|
}, |
||||
|
}); |
||||
|
|
||||
|
return MailManager; |
||||
|
}); |
@ -0,0 +1,42 @@ |
|||||
|
/* Copyright 2018 Artem Rafailov <https://it-projects.info/team/KolushovAlexandr> |
||||
|
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).*/
|
||||
|
odoo.define("mail_to.tour", function(require) { |
||||
|
"use strict"; |
||||
|
|
||||
|
var tour = require("web_tour.tour"); |
||||
|
var core = require("web.core"); |
||||
|
var _t = core._t; |
||||
|
|
||||
|
var steps = [ |
||||
|
tour.STEPS.SHOW_APPS_MENU_ITEM, |
||||
|
{ |
||||
|
trigger: '.o_app[data-menu-xmlid="mail.menu_root_discuss"]', |
||||
|
content: _t( |
||||
|
"Want to <b>get in touch</b> with your contacts? <i>Discuss with them here.</i>" |
||||
|
), |
||||
|
position: "right", |
||||
|
edition: "community", |
||||
|
}, |
||||
|
{ |
||||
|
trigger: '.fa.fa-plus.o_add[data-type="public"]', |
||||
|
position: "right", |
||||
|
edition: "community", |
||||
|
run: function(actions) { |
||||
|
$(".o_input.ui-autocomplete-input").val( |
||||
|
"Channel #" + String(new Date().getTime()) |
||||
|
); |
||||
|
$(".o_input.ui-autocomplete-input").keydown(); |
||||
|
setTimeout(function() { |
||||
|
$(".ui-menu-item > a").click(); |
||||
|
}, 1000); |
||||
|
}, |
||||
|
}, |
||||
|
{ |
||||
|
trigger: "a.recipient_link:first", |
||||
|
content: _t("Open Partners Form From Recipient Link"), |
||||
|
position: "bottom", |
||||
|
}, |
||||
|
]; |
||||
|
|
||||
|
tour.register("mail_to_tour", {test: true, url: "/web"}, steps); |
||||
|
}); |
@ -1 +1,2 @@ |
|||||
|
# License LGPL-3.0 (https://www.gnu.org/licenses/lgpl.html). |
||||
from . import test_default |
from . import test_default |
Write
Preview
Loading…
Cancel
Save
Reference in new issue