diff options
| author | Jinal Patel <jip@odoo.com> | 2019-01-22 10:46:08 +0000 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2019-05-10 08:31:31 +0000 |
| commit | 356e04a06d8e105a2cb6fc5f3e5689e52d63f599 (patch) | |
| tree | 5357a74edc21db6ddb32b0688f59cda78ad0ea73 | |
| parent | 563eec5ecea46cd2eb355634c13a21705a1548c2 (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.py | 13 | ||||
| -rw-r--r-- | addons/mail/views/mail_activity_views.xml | 4 |
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> |
