Merge PR #363 into 11.0

Signed-off-by jbeficent
pull/414/head
OCA-git-bot 2019-07-03 18:48:37 +00:00
commit 5cec970f48
19 changed files with 261 additions and 33 deletions

View File

@ -27,6 +27,7 @@ msgstr ""
#: model:ir.model.fields,field_description:base_search_mail_content.field_mail_test_simple_message_content
#: model:ir.model.fields,field_description:base_search_mail_content.field_mail_thread_message_content
#: model:ir.model.fields,field_description:base_search_mail_content.field_mail_unsubscription_message_content
#: model:ir.model.fields,field_description:base_search_mail_content.field_message_auto_subscribe_notify_own_test_message_content
#: model:ir.model.fields,field_description:base_search_mail_content.field_res_partner_message_content
#: model:ir.model.fields,field_description:base_search_mail_content.field_res_users_message_content
#, python-format
@ -41,6 +42,7 @@ msgstr ""
#: model:ir.model.fields,help:base_search_mail_content.field_mail_test_simple_message_content
#: model:ir.model.fields,help:base_search_mail_content.field_mail_thread_message_content
#: model:ir.model.fields,help:base_search_mail_content.field_mail_unsubscription_message_content
#: model:ir.model.fields,help:base_search_mail_content.field_message_auto_subscribe_notify_own_test_message_content
#: model:ir.model.fields,help:base_search_mail_content.field_res_partner_message_content
#: model:ir.model.fields,help:base_search_mail_content.field_res_users_message_content
msgid "Message content, to be used only in searches"

View File

@ -101,7 +101,7 @@ msgid "Name"
msgstr ""
#. module: mail_activity_team
#: model:ir.model.fields,field_description:mail_activity_team.field_mail_activity_team_id_2744
#: model:ir.model.fields,field_description:mail_activity_team.field_mail_activity_team_id_2775
#: model:ir.ui.view,arch_db:mail_activity_team.mail_activity_view_search
msgid "Team"
msgstr ""

View File

@ -125,7 +125,7 @@ msgstr ""
#. module: mass_mailing_custom_unsubscribe
#: model:ir.model.fields,field_description:mass_mailing_custom_unsubscribe.field_mail_unsubscription_id
#: model:ir.model.fields,field_description:mass_mailing_custom_unsubscribe.field_mail_unsubscription_reason_id_2790
#: model:ir.model.fields,field_description:mass_mailing_custom_unsubscribe.field_mail_unsubscription_reason_id_2821
msgid "ID"
msgstr ""

View File

@ -10,9 +10,9 @@ Message Auto Subscribe Notify Own
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github
:target: https://github.com/OCA/social/tree/11.0/message_auto_subscribe_notify_own
:alt: OCA/social
@ -40,6 +40,13 @@ a reminder sent to your mailbox that you are now responsible for that object.
.. contents::
:local:
Configuration
=============
Configure models you want to be notified on your own creation
* Go to Settings > Technical > Email > Notify Own Models
Usage
=====
@ -68,6 +75,7 @@ Contributors
~~~~~~~~~~~~
* Jordi Ballester Alomar <jordi.ballester@eficent.com>
* Hector Villarreal Ortega <hector.villarreal@eficent.com>
Maintainers
~~~~~~~~~~~

View File

@ -1 +1,2 @@
from . import models
from .tests import test_fake_model

View File

@ -1,17 +1,21 @@
# Copyright 2019 Eficent Business and IT Consulting Services, S.L.
# Copyright 2019 Aleph Objects, Inc.
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
{
"name": "Message Auto Subscribe Notify Own",
"summary": "Receive notifications of your own subscriptions",
"version": "11.0.1.0.0",
"version": "11.0.2.0.0",
"category": "Social Network",
"website": "https://github.com/OCA/social",
"author": "Eficent, "
"Odoo Community Association (OCA)",
"license": "LGPL-3",
"license": "AGPL-3",
"installable": True,
"depends": [
"mail",
],
"data": [
'security/ir.model.access.csv',
'views/auto_subscribe_notify_own_model.xml'
]
}

View File

@ -13,8 +13,92 @@ msgstr ""
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: message_auto_subscribe_notify_own
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_auto_subscribe_notify_own_model_active
msgid "Active"
msgstr ""
#. module: message_auto_subscribe_notify_own
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_auto_subscribe_notify_own_model_create_uid
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_message_auto_subscribe_notify_own_test_create_uid
msgid "Created by"
msgstr ""
#. module: message_auto_subscribe_notify_own
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_auto_subscribe_notify_own_model_create_date
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_message_auto_subscribe_notify_own_test_create_date
msgid "Created on"
msgstr ""
#. module: message_auto_subscribe_notify_own
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_auto_subscribe_notify_own_model_display_name
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_message_auto_subscribe_notify_own_test_display_name
msgid "Display Name"
msgstr ""
#. module: message_auto_subscribe_notify_own
#: model:ir.model,name:message_auto_subscribe_notify_own.model_mail_thread
msgid "Email Thread"
msgstr ""
#. module: message_auto_subscribe_notify_own
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_auto_subscribe_notify_own_model_id
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_message_auto_subscribe_notify_own_test_id
msgid "ID"
msgstr ""
#. module: message_auto_subscribe_notify_own
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_auto_subscribe_notify_own_model___last_update
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_message_auto_subscribe_notify_own_test___last_update
msgid "Last Modified on"
msgstr ""
#. module: message_auto_subscribe_notify_own
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_auto_subscribe_notify_own_model_write_uid
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_message_auto_subscribe_notify_own_test_write_uid
msgid "Last Updated by"
msgstr ""
#. module: message_auto_subscribe_notify_own
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_auto_subscribe_notify_own_model_write_date
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_message_auto_subscribe_notify_own_test_write_date
msgid "Last Updated on"
msgstr ""
#. module: message_auto_subscribe_notify_own
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_auto_subscribe_notify_own_model_model_id
msgid "Model"
msgstr ""
#. module: message_auto_subscribe_notify_own
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_auto_subscribe_notify_own_model_name
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_message_auto_subscribe_notify_own_test_name
msgid "Name"
msgstr ""
#. module: message_auto_subscribe_notify_own
#: model:ir.actions.act_window,name:message_auto_subscribe_notify_own.action_view_auto_subscribe_notify_own_model
#: model:ir.ui.menu,name:message_auto_subscribe_notify_own.menu_message_auto_subscribe_notify_own_model
msgid "Notify Own Models"
msgstr ""
#. module: message_auto_subscribe_notify_own
#: model:ir.ui.view,arch_db:message_auto_subscribe_notify_own.view_auto_subscribe_notify_own_model_tree
msgid "Self Subscribe Notify Own"
msgstr ""
#. module: message_auto_subscribe_notify_own
#: model:ir.model.fields,field_description:message_auto_subscribe_notify_own.field_message_auto_subscribe_notify_own_test_user_id
msgid "User"
msgstr ""
#. module: message_auto_subscribe_notify_own
#: model:ir.model,name:message_auto_subscribe_notify_own.model_auto_subscribe_notify_own_model
msgid "auto.subscribe.notify.own.model"
msgstr ""
#. module: message_auto_subscribe_notify_own
#: model:ir.model,name:message_auto_subscribe_notify_own.model_message_auto_subscribe_notify_own_test
msgid "message_auto_subscribe_notify_own.test"
msgstr ""

View File

@ -1 +1,2 @@
from . import auto_subscribe_notify_own_model
from . import mail_thread

View File

@ -0,0 +1,18 @@
# Copyright 2019 Aleph Objects, Inc.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models
class AutoSubscribeNotifyOwnModel(models.Model):
_name = 'auto.subscribe.notify.own.model'
name = fields.Char(compute='_compute_name')
model_id = fields.Many2one('ir.model', 'Model', required=True)
active = fields.Boolean(default=True)
@api.multi
@api.depends('model_id')
def _compute_name(self):
for record in self:
record.name = record.model_id.model

View File

@ -1,6 +1,6 @@
# Copyright 2019 Eficent Business and IT Consulting Services, S.L.
# Copyright 2019 Aleph Objects, Inc.
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import api, models
@ -12,6 +12,9 @@ class MailThread(models.AbstractModel):
def message_auto_subscribe(self, updated_fields, values=None):
super(MailThread, self).message_auto_subscribe(updated_fields,
values=values)
self_notify_model = self.env['auto.subscribe.notify.own.model'].search(
[('model_id', '=', self._name), ('active', '=', 'True')], limit=1)
if self_notify_model:
user_field_lst = self._message_get_auto_subscribe_fields(
updated_fields)
to_add_users = self.env['res.users'].sudo().browse(

View File

@ -0,0 +1,3 @@
Configure models you want to be notified on your own creation
* Go to Settings > Technical > Email > Notify Own Models

View File

@ -1 +1,2 @@
* Jordi Ballester Alomar <jordi.ballester@eficent.com>
* Hector Villarreal Ortega <hector.villarreal@eficent.com>

View File

@ -0,0 +1,4 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_auto_subscribe_notify_own_model_user,access_auto_subscribe_notify_own_model_user,model_auto_subscribe_notify_own_model,base.group_user,1,0,0,0
access_auto_subscribe_notify_own_model_erp_manager,access_auto_subscribe_notify_own_model_admin,model_auto_subscribe_notify_own_model,base.group_erp_manager,1,1,1,1
access_fake_model_test,fake.model.test,model_message_auto_subscribe_notify_own_test,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_auto_subscribe_notify_own_model_user access_auto_subscribe_notify_own_model_user model_auto_subscribe_notify_own_model base.group_user 1 0 0 0
3 access_auto_subscribe_notify_own_model_erp_manager access_auto_subscribe_notify_own_model_admin model_auto_subscribe_notify_own_model base.group_erp_manager 1 1 1 1
4 access_fake_model_test fake.model.test model_message_auto_subscribe_notify_own_test base.group_user 1 1 1 1

View File

@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/licence-LGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/social/tree/11.0/message_auto_subscribe_notify_own"><img alt="OCA/social" src="https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/social-11-0/social-11-0-message_auto_subscribe_notify_own"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/205/11.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/social/tree/11.0/message_auto_subscribe_notify_own"><img alt="OCA/social" src="https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/social-11-0/social-11-0-message_auto_subscribe_notify_own"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/205/11.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>With this module you will receive a notification when you assign yourself
to an object that has a responsible user, like the salesperson in
leads/opportunities.</p>
@ -378,23 +378,31 @@ a reminder sent to your mailbox that you are now responsible for that object.</p
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#usage" id="id1">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="id5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="id6">Maintainers</a></li>
<li><a class="reference internal" href="#configuration" id="id1">Configuration</a></li>
<li><a class="reference internal" href="#usage" id="id2">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id3">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id4">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id5">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="id6">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="id7">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="configuration">
<h1><a class="toc-backref" href="#id1">Configuration</a></h1>
<p>Configure models you want to be notified on your own creation</p>
<ul class="simple">
<li>Go to Settings &gt; Technical &gt; Email &gt; Notify Own Models</li>
</ul>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#id1">Usage</a></h1>
<h1><a class="toc-backref" href="#id2">Usage</a></h1>
<p>Assign yourself as salesperson of a lead/opportunity, for example, and you
will see that youll receive a notification.</p>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#id2">Bug Tracker</a></h1>
<h1><a class="toc-backref" href="#id3">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/social/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
@ -402,21 +410,22 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#id3">Credits</a></h1>
<h1><a class="toc-backref" href="#id4">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#id4">Authors</a></h2>
<h2><a class="toc-backref" href="#id5">Authors</a></h2>
<ul class="simple">
<li>Eficent</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#id5">Contributors</a></h2>
<h2><a class="toc-backref" href="#id6">Contributors</a></h2>
<ul class="simple">
<li>Jordi Ballester Alomar &lt;<a class="reference external" href="mailto:jordi.ballester&#64;eficent.com">jordi.ballester&#64;eficent.com</a>&gt;</li>
<li>Hector Villarreal Ortega &lt;<a class="reference external" href="mailto:hector.villarreal&#64;eficent.com">hector.villarreal&#64;eficent.com</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#id6">Maintainers</a></h2>
<h2><a class="toc-backref" href="#id7">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose

View File

@ -0,0 +1 @@
from . import test_message_auto_subscribe_notify_own

View File

@ -0,0 +1,15 @@
# Copyright 2019 Eficent Business and IT Consulting Services, S.L.
# Copyright 2019 Aleph Objects, Inc.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class MessageAutoSubscribeNotifyOwnTest(models.Model):
"""A Fake model to Test."""
_name = 'message_auto_subscribe_notify_own.test'
_inherit = 'mail.thread'
name = fields.Char()
user_id = fields.Many2one(comodel_name='res.users',
track_visibility='onchange')

View File

@ -0,0 +1,48 @@
# Copyright 2019 Eficent Business and IT Consulting Services, S.L.
# Copyright 2019 Aleph Objects, Inc.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo.tests.common import TransactionCase
class TestMessageAutoSubscribeNotifyOwn(TransactionCase):
def setUp(self):
super(TestMessageAutoSubscribeNotifyOwn, self).setUp()
self.user_root = self.env.ref('base.user_root')
self.user_root.notification_type = 'email'
self.fake_model_id = self.env['ir.model'].search(
[('name', '=', 'message_auto_subscribe_notify_own.test')])
self.env['auto.subscribe.notify.own.model'].create(dict(
model_id=self.fake_model_id.id
))
self.fake_test = self.env[
'message_auto_subscribe_notify_own.test'].create(
dict(name='Test Fake Model',
user_id=self.env.ref('base.user_demo').id))
def tearDown(self):
super(TestMessageAutoSubscribeNotifyOwn, self).tearDown()
def test_message_auto_subscribe_notify_own(self):
prev_mail_messages = self.env['mail.message'].search([
('record_name', '=', self.fake_test.name),
('reply_to', '=', self.user_root.email_formatted)
])
self.fake_test.update(dict(
user_id=self.user_root.id
))
mail_messages = self.env['mail.message'].search([
('record_name', '=', self.fake_test.name),
('reply_to', '=', self.user_root.email_formatted)
])
self.assertEqual(len(mail_messages-prev_mail_messages), 1)
def test_compute_name(self):
notified_model = self.env['auto.subscribe.notify.own.model'].search(
[('model_id', '=', self.fake_model_id.id)])
notified_model._compute_name()
self.assertTrue(notified_model.name,
'message_auto_subscribe_notify_own.test')

View File

@ -0,0 +1,26 @@
<?xml version="1.0"?>
<odoo>
<data>
<record model="ir.ui.view" id="view_auto_subscribe_notify_own_model_tree">
<field name="name">auto.subscribe.notify.own.model.tree</field>
<field name="model">auto.subscribe.notify.own.model</field>
<field name="priority">10</field>
<field name="arch" type="xml">
<tree string="Self Subscribe Notify Own" editable="bottom" create="true">
<field name="name"/>
<field name="model_id" domain="[('is_mail_thread','=', True)]"/>
<field name="active"/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="action_view_auto_subscribe_notify_own_model">
<field name="name">Notify Own Models</field>
<field name="res_model">auto.subscribe.notify.own.model</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem name="Notify Own Models" id="menu_message_auto_subscribe_notify_own_model" parent="base.menu_email" action="action_view_auto_subscribe_notify_own_model"/>
</data>
</odoo>