From 1a76fc9d2b7fb5fad0b171cae426624d51faa23d Mon Sep 17 00:00:00 2001 From: Hiral Bhavsar Date: Mon, 12 Nov 2018 12:51:46 +0000 Subject: [PATCH] [IMP] mail: display all activity types in columns In the activity view, all activity types are now displayed in columns, even if no activity are scheduled yet for some types. Note that they are ordered based on their sequence from left to right. Task 1894990 --- addons/mail/models/mail_activity.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/mail/models/mail_activity.py b/addons/mail/models/mail_activity.py index a8f7cdbf6c2..5e414d8dbd0 100644 --- a/addons/mail/models/mail_activity.py +++ b/addons/mail/models/mail_activity.py @@ -509,13 +509,11 @@ class MailActivity(models.Model): res_ids = tuple(a['res_id'] for a in grouped_activities) res = self.env[res_model].search([('id', 'in', res_ids)]) grouped_activities = [a for a in grouped_activities if a['res_id'] in res.ids] - activity_type_ids = self.env['mail.activity.type'] res_id_to_deadline = {} activity_data = defaultdict(dict) for group in grouped_activities: res_id = group['res_id'] activity_type_id = group['activity_type_id'][0] - activity_type_ids |= self.env['mail.activity.type'].browse(activity_type_id) # we will get the name when reading mail_template_ids res_id_to_deadline[res_id] = group['date_deadline'] if (res_id not in res_id_to_deadline or group['date_deadline'] < res_id_to_deadline[res_id]) else res_id_to_deadline[res_id] state = self._compute_state_from_date(group['date_deadline'], self.user_id.sudo().tz) activity_data[res_id][activity_type_id] = { @@ -525,6 +523,7 @@ class MailActivity(models.Model): 'o_closest_deadline': group['date_deadline'], } activity_type_infos = [] + activity_type_ids = self.env['mail.activity.type'].search(['|', ('res_model_id.model', '=', res_model), ('res_model_id', '=', False)]) for elem in sorted(activity_type_ids, key=lambda item: item.sequence): mail_template_info = [] for mail_template_id in elem.mail_template_ids: