commit
c29fc8f06b
@ -8,7 +8,7 @@
|
|||||||
"development_status": "Beta",
|
"development_status": "Beta",
|
||||||
"category": "Social Network",
|
"category": "Social Network",
|
||||||
"website": "https://github.com/OCA/social",
|
"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",
|
"license": "AGPL-3",
|
||||||
"installable": True,
|
"installable": True,
|
||||||
"depends": ["calendar", "board"],
|
"depends": ["calendar", "board"],
|
||||||
|
@ -17,6 +17,24 @@ class MailActivity(models.Model):
|
|||||||
calendar_event_id_partner_ids = fields.Many2many(
|
calendar_event_id_partner_ids = fields.Many2many(
|
||||||
related="calendar_event_id.partner_ids", readonly=True
|
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):
|
def open_origin(self):
|
||||||
self.ensure_one()
|
self.ensure_one()
|
||||||
|
@ -9,3 +9,7 @@
|
|||||||
* `Pesol <https://www.pesol.es>`_:
|
* `Pesol <https://www.pesol.es>`_:
|
||||||
|
|
||||||
* Pedro Gonzalez (pedro.gonzalez@pesol.es)
|
* Pedro Gonzalez (pedro.gonzalez@pesol.es)
|
||||||
|
|
||||||
|
* `ACSONE SA/NV <https://www.acsone.eu>`_
|
||||||
|
|
||||||
|
* Laurent Mignon <laurent.mignon@acsone.eu>
|
||||||
|
@ -202,3 +202,11 @@ class TestMailActivityBoardMethods(TransactionCase):
|
|||||||
|
|
||||||
for act in acts:
|
for act in acts:
|
||||||
self.assertIn(act, self.partner_client.activity_ids.ids)
|
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
|
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 -->
|
<!-- FORM VIEW -->
|
||||||
<record id="mail_activity_view_form_board" model="ir.ui.view">
|
<record id="mail_activity_view_form_board" model="ir.ui.view">
|
||||||
<field name="name">mail.activity.boards.view.form</field>
|
<field name="name">mail.activity.boards.view.form</field>
|
||||||
@ -18,7 +57,8 @@
|
|||||||
class="centre oe_link"
|
class="centre oe_link"
|
||||||
nolabel="1"
|
nolabel="1"
|
||||||
>
|
>
|
||||||
<h1><field name="res_name" /></h1>
|
<field name="res_name" invisible="1" />
|
||||||
|
<h1><field name="related_model_instance" /></h1>
|
||||||
</button>
|
</button>
|
||||||
<field name="activity_category" invisible="1" />
|
<field name="activity_category" invisible="1" />
|
||||||
<field name="res_model" invisible="1" />
|
<field name="res_model" invisible="1" />
|
||||||
@ -88,7 +128,12 @@
|
|||||||
name="decoration-success"
|
name="decoration-success"
|
||||||
>(date_deadline > current_date)</attribute>
|
>(date_deadline > current_date)</attribute>
|
||||||
</xpath>
|
</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>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user