Merge pull request #406 from Eficent/12.0-mig-message_auto_subscribe_notify_own

[12.0][MIG] message_auto_subscribe_notify_own
pull/432/head
Jordi Ballester Alomar 2019-07-30 11:57:56 +02:00 committed by GitHub
commit 97538b14f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 836 additions and 0 deletions

View File

@ -0,0 +1,96 @@
=================================
Message Auto Subscribe Notify Own
=================================
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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-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/12.0/message_auto_subscribe_notify_own
:alt: OCA/social
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/social-12-0/social-12-0-message_auto_subscribe_notify_own
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/205/12.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
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.
In general Odoo will notify other users in this situation, but not the own
user who has performed the action.
But in certain situations it is better that you receive this notification, as
a reminder sent to your mailbox that you are now responsible for that object.
**Table of contents**
.. contents::
:local:
Configuration
=============
Configure models you want to be notified on your own creation
* Go to Settings > Technical > Email > Notify Own Models
Usage
=====
Assign yourself as salesperson of a lead/opportunity, for example, and you
will see that you'll receive a notification.
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/social/issues>`_.
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
`feedback <https://github.com/OCA/social/issues/new?body=module:%20message_auto_subscribe_notify_own%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* Eficent
Contributors
~~~~~~~~~~~~
* Jordi Ballester Alomar <jordi.ballester@eficent.com>
* Hector Villarreal Ortega <hector.villarreal@eficent.com>
* Miquel Raïch Regué <miquel.raich@eficent.com>
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is part of the `OCA/social <https://github.com/OCA/social/tree/12.0/message_auto_subscribe_notify_own>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@ -0,0 +1,4 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import models
from .tests import test_fake_model

View File

@ -0,0 +1,21 @@
# 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).
{
"name": "Message Auto Subscribe Notify Own",
"summary": "Receive notifications of your own subscriptions",
"version": "12.0.1.0.0",
"category": "Social Network",
"website": "https://github.com/OCA/social",
"author": "Eficent, "
"Odoo Community Association (OCA)",
"license": "AGPL-3",
"installable": True,
"depends": [
"mail",
],
"data": [
'security/ir.model.access.csv',
'views/auto_subscribe_notify_own_model.xml',
],
}

View File

@ -0,0 +1,104 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * message_auto_subscribe_notify_own
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"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

@ -0,0 +1,4 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import auto_subscribe_notify_own_model
from . import mail_thread

View File

@ -0,0 +1,27 @@
# Copyright 2019 Aleph Objects, Inc.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
class AutoSubscribeNotifyOwnModel(models.Model):
_name = 'auto.subscribe.notify.own.model'
_description = "Auto Subscribe Notify Own Model"
name = fields.Char(
compute='_compute_name',
)
model_id = fields.Many2one(
comodel_name='ir.model',
string='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

@ -0,0 +1,23 @@
# 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).
from odoo import api, models
class MailThread(models.AbstractModel):
_inherit = 'mail.thread'
@api.multi
def _message_auto_subscribe_followers(
self, updated_values, default_subtype_ids):
res = super(MailThread, self)._message_auto_subscribe_followers(
updated_values, default_subtype_ids)
self_notify_model = self.env['auto.subscribe.notify.own.model'].search(
[('model_id', '=', self._name), ('active', '=', 'True')], limit=1)
if self_notify_model:
res = [(pid, sids, template)
if pid != self.env.user.partner_id.id
else (pid, sids, 'mail.message_user_assigned')
for pid, sids, template in res]
return res

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

@ -0,0 +1,3 @@
* Jordi Ballester Alomar <jordi.ballester@eficent.com>
* Hector Villarreal Ortega <hector.villarreal@eficent.com>
* Miquel Raïch Regué <miquel.raich@eficent.com>

View File

@ -0,0 +1,9 @@
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.
In general Odoo will notify other users in this situation, but not the own
user who has performed the action.
But in certain situations it is better that you receive this notification, as
a reminder sent to your mailbox that you are now responsible for that object.

View File

@ -0,0 +1,2 @@
Assign yourself as salesperson of a lead/opportunity, for example, and you
will see that you'll receive a notification.

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@ -0,0 +1,441 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.14: http://docutils.sourceforge.net/" />
<title>Message Auto Subscribe Notify Own</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="message-auto-subscribe-notify-own">
<h1 class="title">Message Auto Subscribe Notify Own</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! 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/12.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-12-0/social-12-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/12.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>
<p>In general Odoo will notify other users in this situation, but not the own
user who has performed the action.</p>
<p>But in certain situations it is better that you receive this notification, as
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="#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="#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="#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
<a class="reference external" href="https://github.com/OCA/social/issues/new?body=module:%20message_auto_subscribe_notify_own%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<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="#id4">Credits</a></h1>
<div class="section" id="authors">
<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="#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>
<li>Miquel Raïch Regué &lt;<a class="reference external" href="mailto:miquel.raich&#64;eficent.com">miquel.raich&#64;eficent.com</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
<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
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/social/tree/12.0/message_auto_subscribe_notify_own">OCA/social</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import test_message_auto_subscribe_notify_own

View File

@ -0,0 +1,18 @@
# 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).
from odoo import fields, models
class MessageAutoSubscribeNotifyOwnTest(models.Model):
"""A Fake model to Test."""
_name = 'message_auto_subscribe_notify_own.test'
_description = '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).
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(
[('model', '=', '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([
('model', '=', 'message_auto_subscribe_notify_own.test'),
('res_id', '=', self.fake_test.id),
])
self.fake_test.update(dict(
user_id=self.user_root.id
))
mail_messages = self.env['mail.message'].search([
('model', '=', 'message_auto_subscribe_notify_own.test'),
('res_id', '=', self.fake_test.id),
])
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" encoding="utf-8"?>
<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>