Skip to content

Commit

Permalink
[IMP] mail: remove duplicated logs when scheduling activities and imp…
Browse files Browse the repository at this point in the history
…rove template

Currently when scheduling activities, duplicate logs are created. Indeed
a message is posted when scheduling an activity, editing it and marking it
as done. This leads to a lot of noise being created on records.

This commit remove logs when scheduling and updating an activity. A sole
message is posted when the activity is marked as done.

Scheduled activity display in chatter is also improved to better
differentiate the user creating the activity from the user who is
assigned to the activity.
  • Loading branch information
mba-odoo authored and tde-banana-odoo committed Mar 3, 2017
1 parent 09de7be commit 26940f8
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 31 deletions.
18 changes: 4 additions & 14 deletions addons/mail/models/mail_activity.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,27 +105,17 @@ def _onchange_activity_type_id(self):
@api.model
def create(self, values):
activity = super(MailActivity, self).create(values)
activity.post_assignation_message()
self.env[activity.res_model].browse(activity.res_id).message_subscribe(partner_ids=[activity.user_id.partner_id.id])
return activity

@api.multi
def write(self, values):
res = super(MailActivity, self).write(values)
if values.get('user_id'):
self.post_assignation_message()
for activity in self:
self.env[activity.res_model].browse(activity.res_id).message_subscribe(partner_ids=[activity.user_id.partner_id.id])
return res

def post_assignation_message(self):
for activity in self:
record = self.env[activity.res_model].browse(activity.res_id)
record.with_context(
mail_post_autofollow=True
).message_post_with_view(
'mail.message_activity_assigned',
values={'activity': activity},
partner_ids=[activity.user_id.partner_id.id],
subtype_id=self.env.ref('mail.mt_note').id,
)

@api.multi
def action_done(self):
message = self.env['mail.message']
Expand Down
4 changes: 4 additions & 0 deletions addons/mail/static/src/js/activity.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ var Model = require("web.Model");
var Widget = require('web.Widget');
var ChatManager = require('mail.chat_manager');
var QWeb = core.qweb;
var time = require('web.time');
var _t = core._t;


Expand Down Expand Up @@ -113,6 +114,9 @@ var Activity = form_common.AbstractField.extend({
return this.Activity
.call("read", [this.value])
.then(function (results) {
_.each(results, function(result){
result['time_ago'] = moment(time.auto_str_to_date(result.create_date)).fromNow();
});
this.activities = set_delay_label(results);
self.$el.html(QWeb.render('mail.activity_items', {
activities: this.activities,
Expand Down
13 changes: 10 additions & 3 deletions addons/mail/static/src/xml/activity.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,23 @@
<strong>
<span t-attf-class="fa #{activity.icon}" />
<t t-esc="activity.activity_type_id[1]" />
</strong> planned by <strong><t t-esc="activity.user_id[1]" /></strong>
</strong>
<span class="fa fa-clock-o ml8" />
<span t-attf-class="o_activity_date o_activity_color_#{activity.state}"><t t-esc="activity.label_delay" /></span>
<strong>
<span t-attf-class="o_activity_date o_activity_color_#{activity.state}"><t t-esc="activity.label_delay" /> (<t t-esc="activity.date_deadline"/>) </span>
</strong>
planned by <t t-esc="activity.create_uid[1]" />
<t t-if="activity.create_uid[0] != activity.user_id[0]">
for <t t-esc="activity.user_id[1]" />
</t>
- <t t-esc="activity.time_ago"/>
<div class="pull-right">
<a href="#" class="o_activity_edit o_activity_link" t-att-data-activity-id="activity.id">Edit</a> |
<a href="#" class="o_activity_unlink o_activity_link" t-att-data-activity-id="activity.id">Remove</a>
</div>
</div>
<div t-if="activity.summary">
<strong><i><t t-esc="activity.summary"/></i></strong>
<strong><t t-esc="activity.summary"/></strong>
</div>
<div t-if="activity.note">
<t t-raw="activity.note"/>
Expand Down
14 changes: 0 additions & 14 deletions addons/mail/views/mail_templates.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,19 +64,5 @@
</div>
</template>

<template id="message_activity_assigned">
<div>
<p>
Planned <span t-field="activity.activity_type_id.name"/> related to <t t-esc="object.name_get()[0][1]"/>:
<soan t-if="activity.summary" t-field="activity.summary"/>
</p>
<ul>
<li>Scheduled for: <span t-field="activity.date_deadline"/></li>
<li>Assigned to: <span t-field="activity.user_id.name"/></li>
</ul>
<div t-if="activity.note" t-field="activity.note"/>
</div>
</template>

</data>
</odoo>

0 comments on commit 26940f8

Please sign in to comment.