summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJinal Patel <jip@odoo.com>2019-01-22 10:46:08 +0000
committerThibault Delavallée <tde@odoo.com>2019-05-10 08:31:31 +0000
commit356e04a06d8e105a2cb6fc5f3e5689e52d63f599 (patch)
tree5357a74edc21db6ddb32b0688f59cda78ad0ea73
parent563eec5ecea46cd2eb355634c13a21705a1548c2 (diff)
[IMP] mail: add default values coming from activity types when scheduling activities
Purpose of the commit is that in some cases people would like to add a default user and a default description on their activity types. Those default values will be propagated to created activities. This commit adds fields to set the default description and default user on activity type and propagate them through the various scheduling methods as default values when the user did not give specific one. Other usability improvements * rename "Category" into "Action to Perform"; * change 'Other' value to 'None'; That way it is clearer that standard activities perform no action. Related to task 1929742 closes odoo/odoo#30511 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
-rw-r--r--addons/mail/models/mail_activity.py13
-rw-r--r--addons/mail/views/mail_activity_views.xml4
2 files changed, 13 insertions, 4 deletions
diff --git a/addons/mail/models/mail_activity.py b/addons/mail/models/mail_activity.py
index 5e414d8dbd0..a989ac4c983 100644
--- a/addons/mail/models/mail_activity.py
+++ b/addons/mail/models/mail_activity.py
@@ -69,10 +69,12 @@ class MailActivityType(models.Model):
domain="['|', ('res_model_id', '=', False), ('res_model_id', '=', res_model_id)]",
string='Preceding Activities')
category = fields.Selection([
- ('default', 'Standard'), ('upload_file', 'Upload Document')
- ], default='default', string='Category',
- help='Categories may trigger specific behavior like opening calendar view or automatically mark as done when a document is uploaded')
+ ('default', 'None'), ('upload_file', 'Upload Document')
+ ], default='default', string='Action to Perform',
+ help='Actions may trigger specific behavior like opening calendar view or automatically mark as done when a document is uploaded')
mail_template_ids = fields.Many2many('mail.template', string='Email templates')
+ default_user_id = fields.Many2one("res.users", string="Default User")
+ default_description = fields.Html(string="Default Description", translate=True)
#Fields for display purpose only
initial_res_model_id = fields.Many2one('ir.model', 'Initial model', compute="_compute_initial_res_model_id", store=False,
@@ -216,6 +218,8 @@ class MailActivity(models.Model):
if self.activity_type_id.delay_from == 'previous_activity' and 'activity_previous_deadline' in self.env.context:
base = fields.Date.from_string(self.env.context.get('activity_previous_deadline'))
self.date_deadline = base + relativedelta(**{self.activity_type_id.delay_unit: self.activity_type_id.delay_count})
+ self.user_id = self.activity_type_id.default_user_id or self.env.user
+ self.note = self.activity_type_id.default_description
@api.onchange('recommended_activity_type_id')
def _onchange_recommended_activity_type_id(self):
@@ -706,10 +710,11 @@ class MailActivityMixin(models.AbstractModel):
'activity_type_id': activity_type.id,
'summary': summary or activity_type.summary,
'automated': True,
- 'note': note,
+ 'note': note or activity_type.default_description,
'date_deadline': date_deadline,
'res_model_id': model_id,
'res_id': record.id,
+ 'user_id': act_values.get('user_id') or activity_type.default_user_id.id or self.env.uid
}
create_vals.update(act_values)
activities |= self.env['mail.activity'].create(create_vals)
diff --git a/addons/mail/views/mail_activity_views.xml b/addons/mail/views/mail_activity_views.xml
index 32b5e6edf68..e5fcf98dc4b 100644
--- a/addons/mail/views/mail_activity_views.xml
+++ b/addons/mail/views/mail_activity_views.xml
@@ -32,6 +32,7 @@
</div>
<field name="delay_from"/>
</div>
+ <field name="default_user_id" widget="selection"/>
</group>
<group name="activity_planning">
<field name="force_next"/>
@@ -43,6 +44,9 @@
attrs="{'invisible': [('res_model_id', '=', False)]}"
context="{'default_model_id': res_model_id}"/>
</group>
+ <group>
+ <field name="default_description"/>
+ </group>
</group>
<p class="alert alert-info" role="alert" attrs="{'invisible': [('res_model_change', '=', False)]}">Modifying the model can have an impact on existing activities using this activity type, be careful.</p>
</sheet>