Merge branch '15.0' into 15.0-yaltik
This commit is contained in:
commit
6a7cfec7d0
@ -22,14 +22,14 @@ Available addons
|
||||
addon | version | maintainers | summary
|
||||
--- | --- | --- | ---
|
||||
[base_search_mail_content](base_search_mail_content/) | 15.0.1.0.1 | | Base Search Mail Content
|
||||
[mail_activity_board](mail_activity_board/) | 15.0.1.0.0 | | Add Activity Boards
|
||||
[mail_activity_board](mail_activity_board/) | 15.0.1.1.0 | | Add Activity Boards
|
||||
[mail_activity_creator](mail_activity_creator/) | 15.0.1.0.0 | | Show activities creator
|
||||
[mail_activity_done](mail_activity_done/) | 15.0.1.0.0 | | Mail Activity Done
|
||||
[mail_activity_partner](mail_activity_partner/) | 15.0.1.0.0 | | Add Partner to Activities
|
||||
[mail_activity_team](mail_activity_team/) | 15.0.1.2.0 | | Add Teams to Activities
|
||||
[mail_attach_existing_attachment](mail_attach_existing_attachment/) | 15.0.1.0.0 | | Adding attachment on the object by sending this one
|
||||
[mail_autosubscribe](mail_autosubscribe/) | 15.0.1.0.1 | | Automatically subscribe partners to its company's business documents
|
||||
[mail_debrand](mail_debrand/) | 15.0.1.2.1 | [![pedrobaeza](https://github.com/pedrobaeza.png?size=30px)](https://github.com/pedrobaeza) [![joao-p-marques](https://github.com/joao-p-marques.png?size=30px)](https://github.com/joao-p-marques) | Remove Odoo branding in sent emails Removes anchor <a href odoo.com togheder with it's parent ( for powerd by) form all the templates removes any 'odoo' that are in tempalte texts > 20characters
|
||||
[mail_autosubscribe](mail_autosubscribe/) | 15.0.1.0.3 | | Automatically subscribe partners to its company's business documents
|
||||
[mail_debrand](mail_debrand/) | 15.0.1.2.2 | [![pedrobaeza](https://github.com/pedrobaeza.png?size=30px)](https://github.com/pedrobaeza) [![joao-p-marques](https://github.com/joao-p-marques.png?size=30px)](https://github.com/joao-p-marques) | Remove Odoo branding in sent emails Removes anchor <a href odoo.com togheder with it's parent ( for powerd by) form all the templates removes any 'odoo' that are in tempalte texts > 20characters
|
||||
[mail_optional_follower_notification](mail_optional_follower_notification/) | 15.0.1.0.1 | | Choose to notify followers on mail.compose.message
|
||||
[mail_outbound_static](mail_outbound_static/) | 15.0.1.0.0 | | Allows you to configure the from header for a mail server.
|
||||
[mail_preview_base](mail_preview_base/) | 15.0.1.0.0 | | Base to add more previewing options
|
||||
|
@ -64,6 +64,7 @@ Authors
|
||||
* SDi
|
||||
* David Juaneda
|
||||
* Sodexis
|
||||
* ACSONE SA/NV
|
||||
|
||||
Contributors
|
||||
~~~~~~~~~~~~
|
||||
@ -80,6 +81,10 @@ Contributors
|
||||
|
||||
* Pedro Gonzalez (pedro.gonzalez@pesol.es)
|
||||
|
||||
* `ACSONE SA/NV <https://www.acsone.eu>`_
|
||||
|
||||
* Laurent Mignon <laurent.mignon@acsone.eu>
|
||||
|
||||
Maintainers
|
||||
~~~~~~~~~~~
|
||||
|
||||
|
@ -4,11 +4,11 @@
|
||||
{
|
||||
"name": "Mail Activity Board",
|
||||
"summary": "Add Activity Boards",
|
||||
"version": "15.0.1.0.0",
|
||||
"version": "15.0.1.1.0",
|
||||
"development_status": "Beta",
|
||||
"category": "Social Network",
|
||||
"website": "https://github.com/OCA/social",
|
||||
"author": "SDi, David Juaneda, Sodexis, Odoo Community Association (OCA)",
|
||||
"author": "SDi, David Juaneda, Sodexis, ACSONE SA/NV, Odoo Community Association (OCA)",
|
||||
"license": "AGPL-3",
|
||||
"installable": True,
|
||||
"depends": ["calendar", "board"],
|
||||
|
@ -16,6 +16,16 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 3.10\n"
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model_terms:ir.ui.view,arch_db:mail_activity_board.mail_activity_view_kanban
|
||||
msgid "<i title=\"date\" class=\"fa fa-clock-o\"/>"
|
||||
msgstr ""
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model_terms:ir.ui.view,arch_db:mail_activity_board.mail_activity_view_kanban
|
||||
msgid "<span><i title=\"date\" class=\"fa fa-clock-o\"/></span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model_terms:ir.ui.view,arch_db:mail_activity_board.mail_activity_view_search
|
||||
msgid "Act. next 6 months"
|
||||
@ -28,7 +38,7 @@ msgstr "Act. próximo mes"
|
||||
|
||||
#. module: mail_activity_board
|
||||
#. openerp-web
|
||||
#: code:addons/mail_activity_board/static/src/xml/inherit_chatter.xml:0
|
||||
#: code:addons/mail_activity_board/static/src/components/chatter_topbar/chatter_topbar.xml:0
|
||||
#: model:ir.actions.act_window,name:mail_activity_board.open_boards_activities
|
||||
#: model:ir.ui.menu,name:mail_activity_board.board_menu_activities
|
||||
#, python-format
|
||||
@ -56,6 +66,11 @@ msgstr ""
|
||||
msgid "Attendees"
|
||||
msgstr "Asistentes"
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model:ir.model.fields,field_description:mail_activity_board.field_mail_activity__related_model_instance
|
||||
msgid "Document"
|
||||
msgstr ""
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model:ir.model.fields,field_description:mail_activity_board.field_mail_activity__duration
|
||||
msgid "Duration"
|
||||
@ -72,13 +87,6 @@ msgstr "Registrar una nota..."
|
||||
msgid "Origin"
|
||||
msgstr "Origen"
|
||||
|
||||
#. module: mail_activity_board
|
||||
#. openerp-web
|
||||
#: code:addons/mail_activity_board/static/src/xml/inherit_chatter.xml:0
|
||||
#, python-format
|
||||
msgid "See activities list"
|
||||
msgstr "Ver lista de actividades"
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model_terms:ir.ui.view,arch_db:mail_activity_board.mail_activity_view_search
|
||||
msgid "Show activities scheduled for next 6 months."
|
||||
@ -97,7 +105,8 @@ msgstr "Inicio"
|
||||
#. module: mail_activity_board
|
||||
#: model:ir.model.fields,help:mail_activity_board.field_mail_activity__calendar_event_id_start
|
||||
msgid "Start date of an event, without time for full days events"
|
||||
msgstr "Fecha de inicio de un evento, sin tiempo para eventos de días completos"
|
||||
msgstr ""
|
||||
"Fecha de inicio de un evento, sin tiempo para eventos de días completos"
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model_terms:ir.ui.view,arch_db:mail_activity_board.mail_activity_view_form_board
|
||||
@ -113,3 +122,6 @@ msgstr "Usuario"
|
||||
#: model_terms:ir.ui.view,arch_db:mail_activity_board.mail_activity_view_form_board
|
||||
msgid "e.g. Discuss proposal"
|
||||
msgstr "Ej. Discutir propuesta"
|
||||
|
||||
#~ msgid "See activities list"
|
||||
#~ msgstr "Ver lista de actividades"
|
||||
|
@ -64,6 +64,11 @@ msgstr ""
|
||||
msgid "Attendees"
|
||||
msgstr ""
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model:ir.model.fields,field_description:mail_activity_board.field_mail_activity__related_model_instance
|
||||
msgid "Document"
|
||||
msgstr ""
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model:ir.model.fields,field_description:mail_activity_board.field_mail_activity__duration
|
||||
msgid "Duration"
|
||||
|
@ -16,6 +16,16 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 3.10\n"
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model_terms:ir.ui.view,arch_db:mail_activity_board.mail_activity_view_kanban
|
||||
msgid "<i title=\"date\" class=\"fa fa-clock-o\"/>"
|
||||
msgstr ""
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model_terms:ir.ui.view,arch_db:mail_activity_board.mail_activity_view_kanban
|
||||
msgid "<span><i title=\"date\" class=\"fa fa-clock-o\"/></span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model_terms:ir.ui.view,arch_db:mail_activity_board.mail_activity_view_search
|
||||
msgid "Act. next 6 months"
|
||||
@ -28,7 +38,7 @@ msgstr "Act. le mois prochain"
|
||||
|
||||
#. module: mail_activity_board
|
||||
#. openerp-web
|
||||
#: code:addons/mail_activity_board/static/src/xml/inherit_chatter.xml:0
|
||||
#: code:addons/mail_activity_board/static/src/components/chatter_topbar/chatter_topbar.xml:0
|
||||
#: model:ir.actions.act_window,name:mail_activity_board.open_boards_activities
|
||||
#: model:ir.ui.menu,name:mail_activity_board.board_menu_activities
|
||||
#, python-format
|
||||
@ -56,6 +66,11 @@ msgstr "Combinaison d'activités"
|
||||
msgid "Attendees"
|
||||
msgstr "Participants"
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model:ir.model.fields,field_description:mail_activity_board.field_mail_activity__related_model_instance
|
||||
msgid "Document"
|
||||
msgstr ""
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model:ir.model.fields,field_description:mail_activity_board.field_mail_activity__duration
|
||||
msgid "Duration"
|
||||
@ -72,13 +87,6 @@ msgstr "Enregistrer une note ..."
|
||||
msgid "Origin"
|
||||
msgstr "Origine"
|
||||
|
||||
#. module: mail_activity_board
|
||||
#. openerp-web
|
||||
#: code:addons/mail_activity_board/static/src/xml/inherit_chatter.xml:0
|
||||
#, python-format
|
||||
msgid "See activities list"
|
||||
msgstr "Voir la liste des activités"
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model_terms:ir.ui.view,arch_db:mail_activity_board.mail_activity_view_search
|
||||
msgid "Show activities scheduled for next 6 months."
|
||||
@ -115,3 +123,6 @@ msgstr "Utilisateur"
|
||||
#: model_terms:ir.ui.view,arch_db:mail_activity_board.mail_activity_view_form_board
|
||||
msgid "e.g. Discuss proposal"
|
||||
msgstr "Par exemple. Discuter de la proposition"
|
||||
|
||||
#~ msgid "See activities list"
|
||||
#~ msgstr "Voir la liste des activités"
|
||||
|
@ -63,6 +63,11 @@ msgstr ""
|
||||
msgid "Attendees"
|
||||
msgstr ""
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model:ir.model.fields,field_description:mail_activity_board.field_mail_activity__related_model_instance
|
||||
msgid "Document"
|
||||
msgstr ""
|
||||
|
||||
#. module: mail_activity_board
|
||||
#: model:ir.model.fields,field_description:mail_activity_board.field_mail_activity__duration
|
||||
msgid "Duration"
|
||||
|
@ -17,6 +17,24 @@ class MailActivity(models.Model):
|
||||
calendar_event_id_partner_ids = fields.Many2many(
|
||||
related="calendar_event_id.partner_ids", readonly=True
|
||||
)
|
||||
related_model_instance = fields.Reference(
|
||||
selection="_selection_related_model_instance",
|
||||
compute="_compute_related_model_instance",
|
||||
string="Document",
|
||||
)
|
||||
|
||||
@api.depends("res_id", "res_model")
|
||||
def _compute_related_model_instance(self):
|
||||
for record in self:
|
||||
ref = False
|
||||
if record.res_id:
|
||||
ref = "{},{}".format(record.res_model, record.res_id)
|
||||
record.related_model_instance = ref
|
||||
|
||||
@api.model
|
||||
def _selection_related_model_instance(self):
|
||||
models = self.env["ir.model"].search([("is_mail_activity", "=", True)])
|
||||
return [(model.model, model.name) for model in models]
|
||||
|
||||
def open_origin(self):
|
||||
self.ensure_one()
|
||||
|
@ -9,3 +9,7 @@
|
||||
* `Pesol <https://www.pesol.es>`_:
|
||||
|
||||
* Pedro Gonzalez (pedro.gonzalez@pesol.es)
|
||||
|
||||
* `ACSONE SA/NV <https://www.acsone.eu>`_
|
||||
|
||||
* Laurent Mignon <laurent.mignon@acsone.eu>
|
||||
|
@ -409,6 +409,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
|
||||
<li>SDi</li>
|
||||
<li>David Juaneda</li>
|
||||
<li>Sodexis</li>
|
||||
<li>ACSONE SA/NV</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="contributors">
|
||||
@ -426,6 +427,10 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
|
||||
<li>Pedro Gonzalez (<a class="reference external" href="mailto:pedro.gonzalez@pesol.es">pedro.gonzalez@pesol.es</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference external" href="https://www.acsone.eu">ACSONE SA/NV</a><ul>
|
||||
<li>Laurent Mignon <<a class="reference external" href="mailto:laurent.mignon@acsone.eu">laurent.mignon@acsone.eu</a>></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="maintainers">
|
||||
|
@ -202,3 +202,11 @@ class TestMailActivityBoardMethods(TransactionCase):
|
||||
|
||||
for act in acts:
|
||||
self.assertIn(act, self.partner_client.activity_ids.ids)
|
||||
|
||||
def test_related_model_instance(self):
|
||||
"""This test case checks the direct access from the activity to the
|
||||
linked model instance
|
||||
"""
|
||||
self.assertEqual(self.act3.related_model_instance, self.partner_client)
|
||||
self.act3.write({"res_id": False, "res_model": False})
|
||||
self.assertFalse(self.act3.related_model_instance)
|
||||
|
@ -4,6 +4,45 @@
|
||||
VIEWS
|
||||
-->
|
||||
|
||||
<!-- FORM POP
|
||||
|
||||
Add a link to the related model instance to ease navigation
|
||||
-->
|
||||
<record id="mail_activity_view_form_popup" model="ir.ui.view">
|
||||
<field
|
||||
name="name"
|
||||
>mail.activity.view.form.popup (in mail_activity_board)</field>
|
||||
<field name="model">mail.activity</field>
|
||||
<field name="inherit_id" ref="mail.mail_activity_view_form_popup" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="activity_type_id" position="before">
|
||||
<field
|
||||
name="related_model_instance"
|
||||
attrs="{'invisible': [('related_model_instance','=', False)]}"
|
||||
/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- CALENDAR VIEW
|
||||
Add a link to the related model instance to ease navigation
|
||||
-->
|
||||
<record id="mail_activity_view_calendar" model="ir.ui.view">
|
||||
<field
|
||||
name="name"
|
||||
>mail.activity.view.form.calendar (in mail_activity_board)</field>
|
||||
<field name="model">mail.activity</field>
|
||||
<field name="inherit_id" ref="mail.mail_activity_view_calendar" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="res_name" position="before">
|
||||
<field name="related_model_instance" />
|
||||
</field>
|
||||
<field name="res_name" position="attributes">
|
||||
<attribute name="invisible">1</attribute>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- FORM VIEW -->
|
||||
<record id="mail_activity_view_form_board" model="ir.ui.view">
|
||||
<field name="name">mail.activity.boards.view.form</field>
|
||||
@ -18,7 +57,8 @@
|
||||
class="centre oe_link"
|
||||
nolabel="1"
|
||||
>
|
||||
<h1><field name="res_name" /></h1>
|
||||
<field name="res_name" invisible="1" />
|
||||
<h1><field name="related_model_instance" /></h1>
|
||||
</button>
|
||||
<field name="activity_category" invisible="1" />
|
||||
<field name="res_model" invisible="1" />
|
||||
@ -88,7 +128,12 @@
|
||||
name="decoration-success"
|
||||
>(date_deadline > current_date)</attribute>
|
||||
</xpath>
|
||||
|
||||
<field name="res_name" position="before">
|
||||
<field name="related_model_instance" />
|
||||
</field>
|
||||
<field name="res_name" position="attributes">
|
||||
<attribute name="invisible">1</attribute>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
@ -80,6 +80,10 @@ Contributors
|
||||
|
||||
* Iván Todorovich <ivan.todorovich@gmail.com>
|
||||
|
||||
* `Moduon <https://www.moduon.team/>`__
|
||||
|
||||
* Jairo Llopis
|
||||
|
||||
Maintainers
|
||||
~~~~~~~~~~~
|
||||
|
||||
|
@ -5,11 +5,14 @@
|
||||
{
|
||||
"name": "Mail Autosubscribe",
|
||||
"summary": "Automatically subscribe partners to its company's business documents",
|
||||
"version": "15.0.1.0.1",
|
||||
"version": "15.0.1.0.3",
|
||||
"author": "Camptocamp SA, Odoo Community Association (OCA)",
|
||||
"license": "AGPL-3",
|
||||
"category": "Marketing",
|
||||
"depends": ["mail"],
|
||||
"external_dependencies": {
|
||||
"python": ["odoo_test_helper"],
|
||||
},
|
||||
"website": "https://github.com/OCA/social",
|
||||
"data": [
|
||||
"security/ir.model.access.csv",
|
||||
|
@ -19,7 +19,10 @@ class MailThread(models.AbstractModel):
|
||||
for follower in followers
|
||||
if follower not in partners and follower not in self.message_partner_ids
|
||||
]
|
||||
partner_ids += follower_ids
|
||||
if isinstance(partner_ids, tuple):
|
||||
partner_ids += tuple(follower_ids)
|
||||
else:
|
||||
partner_ids += follower_ids
|
||||
return super().message_subscribe(
|
||||
partner_ids=partner_ids,
|
||||
subtype_ids=subtype_ids,
|
||||
|
@ -1,3 +1,7 @@
|
||||
* `Camptocamp <https://www.camptocamp.com>`_
|
||||
|
||||
* Iván Todorovich <ivan.todorovich@gmail.com>
|
||||
|
||||
* `Moduon <https://www.moduon.team/>`__
|
||||
|
||||
* Jairo Llopis
|
||||
|
@ -429,6 +429,13 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
|
||||
</ul>
|
||||
</blockquote>
|
||||
</li>
|
||||
<li><p class="first"><a class="reference external" href="https://www.moduon.team/">Moduon</a></p>
|
||||
<blockquote>
|
||||
<ul class="simple">
|
||||
<li>Jairo Llopis</li>
|
||||
</ul>
|
||||
</blockquote>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="maintainers">
|
||||
|
@ -28,8 +28,8 @@ class TestMailAutosubscribe(TransactionCase):
|
||||
{
|
||||
"model_id": cls.fake_order_model.id,
|
||||
"name": "Fake Order: Send by Mail",
|
||||
"subject": "Fake Order: ${object.partner_id.name}",
|
||||
"partner_to": "${object.partner_id.id}",
|
||||
"subject": "Fake Order: {{object.partner_id.name}}",
|
||||
"partner_to": "{{object.partner_id.id}}",
|
||||
"body_html": "Hello, this is a fake order",
|
||||
}
|
||||
)
|
||||
@ -111,7 +111,7 @@ class TestMailAutosubscribe(TransactionCase):
|
||||
default_composition_mode="comment",
|
||||
)
|
||||
)
|
||||
composer.save().send_mail()
|
||||
composer.save().action_send_mail()
|
||||
message = self.order.message_ids[0]
|
||||
self.assertEqual(message.partner_ids, self.partner_2 | self.partner_3)
|
||||
|
||||
@ -127,6 +127,6 @@ class TestMailAutosubscribe(TransactionCase):
|
||||
default_composition_mode="comment",
|
||||
)
|
||||
)
|
||||
composer.save().send_mail()
|
||||
composer.save().action_send_mail()
|
||||
message = self.order.message_ids[0]
|
||||
self.assertEqual(message.partner_ids, self.partner_2)
|
||||
|
@ -12,7 +12,7 @@
|
||||
( for powerd by) form all the templates
|
||||
removes any 'odoo' that are in tempalte texts > 20characters
|
||||
""",
|
||||
"version": "15.0.1.2.1",
|
||||
"version": "15.0.1.2.2",
|
||||
"category": "Social Network",
|
||||
"website": "https://github.com/OCA/social",
|
||||
"author": """Tecnativa, ForgeFlow, Onestein, Sodexis, Nexterp Romania,
|
||||
|
@ -38,7 +38,7 @@ class TestMailDebrandDigest(common.TransactionCase):
|
||||
"digest.digest_mail_main",
|
||||
"digest.digest",
|
||||
self.mail_digest_id.ids,
|
||||
engine="qweb",
|
||||
engine="qweb_view",
|
||||
add_context={
|
||||
"title": self.mail_digest_id.name,
|
||||
"top_button_label": _("Connect"),
|
||||
@ -48,13 +48,13 @@ class TestMailDebrandDigest(common.TransactionCase):
|
||||
"tips_count": 1,
|
||||
"formatted_date": datetime.today().strftime("%B %d, %Y"),
|
||||
"display_mobile_banner": True,
|
||||
"kpi_data": self.mail_digest_id.compute_kpis(
|
||||
"kpi_data": self.mail_digest_id._compute_kpis(
|
||||
self.env.user.company_id, self.env.user
|
||||
),
|
||||
"tips": self.mail_digest_id.compute_tips(
|
||||
"tips": self.mail_digest_id._compute_tips(
|
||||
self.env.user.company_id, self.env.user, tips_count=1, consumed=True
|
||||
),
|
||||
"preferences": self.mail_digest_id.compute_preferences(
|
||||
"preferences": self.mail_digest_id._compute_preferences(
|
||||
self.env.user.company_id, self.env.user
|
||||
),
|
||||
},
|
||||
|
2
requirements.txt
Normal file
2
requirements.txt
Normal file
@ -0,0 +1,2 @@
|
||||
# generated from manifests external_dependencies
|
||||
odoo_test_helper
|
Loading…
x
Reference in New Issue
Block a user