diff --git a/yaltik_crm_action/__manifest__.py b/yaltik_crm_action/__manifest__.py
index a9e6607..1509444 100644
--- a/yaltik_crm_action/__manifest__.py
+++ b/yaltik_crm_action/__manifest__.py
@@ -18,7 +18,7 @@
{
'name': 'CRM Actions',
'summary': 'Action management, instead of new activity, in CRM',
- 'version': '10.0.1.2.5',
+ 'version': '10.0.1.3.0',
'category': 'Sales',
'author': 'Fabien BOURGEOIS - Yaltik',
'license': 'AGPL-3',
diff --git a/yaltik_crm_action/i18n/fr.po b/yaltik_crm_action/i18n/fr.po
index 0479481..522a428 100644
--- a/yaltik_crm_action/i18n/fr.po
+++ b/yaltik_crm_action/i18n/fr.po
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-11-24 04:34+0000\n"
-"PO-Revision-Date: 2017-11-24 04:34+0000\n"
+"POT-Creation-Date: 2017-11-26 07:15+0000\n"
+"PO-Revision-Date: 2017-11-26 07:15+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -35,6 +35,7 @@ msgid "Action count"
msgstr "Nombre d'actions"
#. module: yaltik_crm_action
+#: code:addons/yaltik_crm_action/models/res_partner.py:62
#: model:ir.actions.act_window,name:yaltik_crm_action.crm_action_action
#: model:ir.actions.act_window,name:yaltik_crm_action.crm_action_simple_action
#: model:ir.model.fields,field_description:yaltik_crm_action.field_crm_lead_action_ids
@@ -44,6 +45,7 @@ msgstr "Nombre d'actions"
#: model:ir.ui.view,arch_db:yaltik_crm_action.crm_case_form_view_leads_inherit_crm_action
#: model:ir.ui.view,arch_db:yaltik_crm_action.crm_case_form_view_oppor_inherit_crm_action
#: model:ir.ui.view,arch_db:yaltik_crm_action.crm_view_partners_form_inherit_yaltik_crm_action
+#, python-format
msgid "Actions"
msgstr "Actions"
@@ -198,7 +200,7 @@ msgid "Lead/Opportunity"
msgstr "Piste/opportunité"
#. module: yaltik_crm_action
-#: code:addons/yaltik_crm_action/models/crm_action.py:106
+#: code:addons/yaltik_crm_action/models/crm_action.py:100
#, python-format
msgid "Linked event"
msgstr "Événement lié"
@@ -263,6 +265,11 @@ msgstr "Adresse du partenaire"
msgid "Priority"
msgstr "Priorité"
+#. module: yaltik_crm_action
+#: model:ir.model.fields,field_description:yaltik_crm_action.field_crm_action_parent_id
+msgid "Related Company"
+msgstr "Société liée"
+
#. module: yaltik_crm_action
#: model:ir.ui.view,arch_db:yaltik_crm_action.crm_action_form
msgid "Remove linked event"
diff --git a/yaltik_crm_action/i18n/yaltik_crm_action.pot b/yaltik_crm_action/i18n/yaltik_crm_action.pot
index 69e45ab..1557d0c 100644
--- a/yaltik_crm_action/i18n/yaltik_crm_action.pot
+++ b/yaltik_crm_action/i18n/yaltik_crm_action.pot
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-11-24 04:33+0000\n"
-"PO-Revision-Date: 2017-11-24 04:33+0000\n"
+"POT-Creation-Date: 2017-11-26 07:15+0000\n"
+"PO-Revision-Date: 2017-11-26 07:15+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -34,6 +34,7 @@ msgid "Action count"
msgstr ""
#. module: yaltik_crm_action
+#: code:addons/yaltik_crm_action/models/res_partner.py:62
#: model:ir.actions.act_window,name:yaltik_crm_action.crm_action_action
#: model:ir.actions.act_window,name:yaltik_crm_action.crm_action_simple_action
#: model:ir.model.fields,field_description:yaltik_crm_action.field_crm_lead_action_ids
@@ -43,6 +44,7 @@ msgstr ""
#: model:ir.ui.view,arch_db:yaltik_crm_action.crm_case_form_view_leads_inherit_crm_action
#: model:ir.ui.view,arch_db:yaltik_crm_action.crm_case_form_view_oppor_inherit_crm_action
#: model:ir.ui.view,arch_db:yaltik_crm_action.crm_view_partners_form_inherit_yaltik_crm_action
+#, python-format
msgid "Actions"
msgstr ""
@@ -197,7 +199,7 @@ msgid "Lead/Opportunity"
msgstr ""
#. module: yaltik_crm_action
-#: code:addons/yaltik_crm_action/models/crm_action.py:106
+#: code:addons/yaltik_crm_action/models/crm_action.py:100
#, python-format
msgid "Linked event"
msgstr ""
@@ -262,6 +264,11 @@ msgstr ""
msgid "Priority"
msgstr ""
+#. module: yaltik_crm_action
+#: model:ir.model.fields,field_description:yaltik_crm_action.field_crm_action_parent_id
+msgid "Related Company"
+msgstr ""
+
#. module: yaltik_crm_action
#: model:ir.ui.view,arch_db:yaltik_crm_action.crm_action_form
msgid "Remove linked event"
diff --git a/yaltik_crm_action/models/crm_action.py b/yaltik_crm_action/models/crm_action.py
index cec4284..e3cb725 100644
--- a/yaltik_crm_action/models/crm_action.py
+++ b/yaltik_crm_action/models/crm_action.py
@@ -40,6 +40,7 @@ class CrmAction(models.Model):
details = fields.Text()
partner_id = fields.Many2one('res.partner', string='Customer', index=True)
+ parent_id = fields.Many2one(related='partner_id.parent_id')
date = fields.Datetime(required=True, default=fields.Date.context_today)
user_id = fields.Many2one('res.users', string='User', required=True,
default=lambda self: self.env.user)
@@ -50,13 +51,6 @@ class CrmAction(models.Model):
default=lambda self: self.env['crm.action.type'].search([], limit=1))
action_type_name = fields.Char(related='action_type_id.name')
- @api.onchange('lead_id')
- def onchange_lead(self):
- """ If lead change, adapts partner """
- for action in self:
- if action.lead_id and action.lead_id.partner_id:
- action.partner_id = action.lead_id.partner_id
-
@api.onchange('partner_id')
def onchange_partner(self):
""" If partner changes, adapts lead to False """
diff --git a/yaltik_crm_action/models/res_partner.py b/yaltik_crm_action/models/res_partner.py
index 13f43f1..6d26130 100644
--- a/yaltik_crm_action/models/res_partner.py
+++ b/yaltik_crm_action/models/res_partner.py
@@ -18,7 +18,7 @@
""" Partner adaptations """
-from odoo import models, fields, api
+from odoo import models, fields, api, _
class ResPartner(models.Model):
""" Partner adaptations """
@@ -30,6 +30,12 @@ class ResPartner(models.Model):
def _compute_action_count(self):
for partner in self:
domain = [('partner_id', '=', partner.id)]
+ if partner.parent_id or partner.child_ids:
+ domain.insert(0, '|')
+ if partner.parent_id:
+ domain.append(('partner_id', '=', partner.parent_id.id))
+ elif partner.child_ids:
+ domain.append(('partner_id', 'in', partner.child_ids.ids))
action_count = self.env['crm.action'].search_count(domain)
if action_count:
domain.append(('state', '=', 'draft'))
@@ -37,3 +43,24 @@ class ResPartner(models.Model):
else:
draft_count = 0
partner.action_count = u'{} / {}'.format(draft_count, action_count)
+
+
+ @api.model
+ def partner_actions(self):
+ """ Return action for active partner and its parent """
+ active_id = self._context.get('active_id')
+ partner = self.env['res.partner'].browse(active_id)
+ domain = [('partner_id', '=', partner.id)]
+ if partner.parent_id or partner.child_ids:
+ domain.insert(0, '|')
+ if partner.parent_id:
+ domain.append(('partner_id', '=', partner.parent_id.id))
+ elif partner.child_ids:
+ domain.append(('partner_id', 'in', partner.child_ids.ids))
+
+ return {'type': 'ir.actions.act_window',
+ 'name': _('Actions'),
+ 'view_mode': 'tree,form,calendar',
+ 'res_model': 'crm.action',
+ 'context': {'default_partner_id': partner.id},
+ 'domain': domain}
diff --git a/yaltik_crm_action/views/crm_action_views.xml b/yaltik_crm_action/views/crm_action_views.xml
index 9db1583..579dd46 100644
--- a/yaltik_crm_action/views/crm_action_views.xml
+++ b/yaltik_crm_action/views/crm_action_views.xml
@@ -45,7 +45,9 @@ along with this program. If not, see .
-
+
diff --git a/yaltik_crm_action/views/res_partner_views.xml b/yaltik_crm_action/views/res_partner_views.xml
index 2858491..4640e57 100644
--- a/yaltik_crm_action/views/res_partner_views.xml
+++ b/yaltik_crm_action/views/res_partner_views.xml
@@ -37,12 +37,12 @@ along with this program. If not, see .
-
+
+
Actions
- crm.action
- tree,form,calendar
- {'search_default_partner_id': active_id}
+
+ code
+ action = env['res.partner'].partner_actions()