summaryrefslogtreecommitdiff
path: root/addons/mail/static/src
diff options
context:
space:
mode:
authorXavierDo <xdo@odoo.com>2018-09-13 13:15:32 +0200
committerXavierDo <xdo@odoo.com>2018-09-18 13:44:00 +0200
commit47496b9fe5555ef23932fcfc3f2d6d6ee945daae (patch)
tree691ab48e21c4489c92259b2bb58d7c126453e3f7 /addons/mail/static/src
parent44fd3bc8082205290e38de183d092b42c02c8215 (diff)
[IMP] mail: add force_next on activity type
A new field on activity type allow to change the behaviour of mark done & schedule next: -marking as done will automatically schedule the next activity, based on the default_next_activity. -It should also be impossible to edit an activity when this flag is on. task: #1884521
Diffstat (limited to 'addons/mail/static/src')
-rw-r--r--addons/mail/static/src/js/activity.js17
-rw-r--r--addons/mail/static/src/js/views/activity/activity_view.js2
-rw-r--r--addons/mail/static/src/scss/mail_activity.scss2
-rw-r--r--addons/mail/static/src/xml/activity.xml25
-rw-r--r--addons/mail/static/src/xml/web_kanban_activity.xml62
5 files changed, 63 insertions, 45 deletions
diff --git a/addons/mail/static/src/js/activity.js b/addons/mail/static/src/js/activity.js
index ff1cf8b5761..cabcd469b5c 100644
--- a/addons/mail/static/src/js/activity.js
+++ b/addons/mail/static/src/js/activity.js
@@ -169,11 +169,15 @@ var BasicActivity = AbstractField.extend({
context: this.record.getContext(),
}).then(
function (rslt_action) {
- self.do_action(rslt_action, {
- on_close: function () {
- self.trigger_up('reload');
- },
- });
+ if (rslt_action) {
+ self.do_action(rslt_action, {
+ on_close: function () {
+ self.trigger_up('reload');
+ },
+ });
+ } else {
+ self.trigger_up('reload');
+ }
}
);
},
@@ -270,6 +274,7 @@ var BasicActivity = AbstractField.extend({
var $popoverElement = $(ev.currentTarget);
var activityID = $popoverElement.data('activity-id');
var previousActivityTypeID = $popoverElement.data('previous-activity-type-id');
+ var forceNextActivity = $popoverElement.data('force-next-activity');
if (!$popoverElement.data('bs.popover')) {
$popoverElement.popover({
template: $(Popover.Default.template).addClass('o_mail_activity_feedback')[0].outerHTML, // Ugly but cannot find another way
@@ -279,7 +284,7 @@ var BasicActivity = AbstractField.extend({
trigger:'click',
placement: 'right', // FIXME: this should work, maybe a bug in the popper lib
content : function () {
- var $popover = $(QWeb.render('mail.activity_feedback_form', { previous_activity_type_id: previousActivityTypeID }));
+ var $popover = $(QWeb.render('mail.activity_feedback_form', { previous_activity_type_id: previousActivityTypeID, force_next: forceNextActivity}));
$popover.find('#activity_feedback').val(self._draftFeedback[activityID]);
$popover.on('click', '.o_activity_popover_done', function (ev) {
ev.stopPropagation();
diff --git a/addons/mail/static/src/js/views/activity/activity_view.js b/addons/mail/static/src/js/views/activity/activity_view.js
index e96248d41ed..084d40a15ac 100644
--- a/addons/mail/static/src/js/views/activity/activity_view.js
+++ b/addons/mail/static/src/js/views/activity/activity_view.js
@@ -13,7 +13,7 @@ var _lt = core._lt;
var ActivityView = AbstractView.extend({
accesskey: "a",
display_name: _lt('Activity'),
- icon: 'fa-clock-o',
+ icon: 'fa-th',
config: _.extend({}, AbstractView.prototype.config, {
Controller: ActivityController,
Model: ActivityModel,
diff --git a/addons/mail/static/src/scss/mail_activity.scss b/addons/mail/static/src/scss/mail_activity.scss
index d7970492949..cdd8bbe1cb5 100644
--- a/addons/mail/static/src/scss/mail_activity.scss
+++ b/addons/mail/static/src/scss/mail_activity.scss
@@ -200,7 +200,7 @@
background-color: $o-brand-lightsecondary;
}
- &.o_edit_activity {
+ &.o_log_activity {
padding: 8px 10px 8px 0px;
vertical-align: middle;
&:hover {
diff --git a/addons/mail/static/src/xml/activity.xml b/addons/mail/static/src/xml/activity.xml
index 2ddcea9121f..cb7f8a5ae28 100644
--- a/addons/mail/static/src/xml/activity.xml
+++ b/addons/mail/static/src/xml/activity.xml
@@ -75,9 +75,10 @@
</div>
</t>
<div class="o_thread_message_tools btn-group">
- <span class="o_mark_as_done" data-toggle="popover" t-att-data-activity-id="activity.id" t-att-data-previous-activity-type-id="activity.activity_type_id[0]"><a role="button" href="#" class="btn btn-link btn-success text-muted o_activity_link mr8">
- <i class="fa fa-check"/> Mark Done
- </a></span>
+ <span class="o_mark_as_done" data-toggle="popover" t-att-data-activity-id="activity.id" t-att-data-force-next-activity="activity.force_next" t-att-data-previous-activity-type-id="activity.activity_type_id[0]">
+ <a role="button" href="#" class="btn btn-link btn-success text-muted o_activity_link mr8">
+ <i class="fa fa-check"/> Mark Done </a>
+ </span>
<a role="button" href="#" class="btn btn-link btn-secondary text-muted o_edit_activity o_activity_link" t-att-data-activity-id="activity.id">
<i class="fa fa-pencil"/> Edit
</a>
@@ -94,12 +95,18 @@
<div>
<textarea class="form-control" rows="3" id="activity_feedback" placeholder="Write Feedback"/>
<div class="mt8">
- <button type="button" class="btn btn-sm btn-primary o_activity_popover_done_next" t-att-data-previous-activity-type-id="previous_activity_type_id">
- Done &amp; Schedule Next</button>
- <button type="button" class="btn btn-sm btn-primary o_activity_popover_done">
- Done</button>
- <button type="button" class="btn btn-sm btn-link o_activity_popover_discard">
- Discard</button>
+ <t t-if="!force_next">
+ <button type="button" class="btn btn-sm btn-primary o_activity_popover_done_next" t-att-data-previous-activity-type-id="previous_activity_type_id">
+ Done &amp; Schedule Next</button>
+ <button type="button" class="btn btn-sm btn-primary o_activity_popover_done">
+ Done</button>
+ <button type="button" class="btn btn-sm btn-link o_activity_popover_discard">
+ Discard</button>
+ </t>
+ <t t-else="">
+ <button type="button" class="btn btn-sm btn-primary o_activity_popover_done_next">
+ Done &amp; Launch Next</button>
+ </t>
</div>
</div>
</t>
diff --git a/addons/mail/static/src/xml/web_kanban_activity.xml b/addons/mail/static/src/xml/web_kanban_activity.xml
index 31d23859488..25d25c1d09b 100644
--- a/addons/mail/static/src/xml/web_kanban_activity.xml
+++ b/addons/mail/static/src/xml/web_kanban_activity.xml
@@ -29,38 +29,44 @@
<t t-esc="selection[key]" /> (<t t-esc="logs.length"/>)
</strong>
</li>
- <li t-foreach="logs" t-as="log" t-att-data-activity-id="log.id" class="nav-item o_edit_activity" role="menuitem">
- <div class="o_activity_title float-left">
- <span t-attf-class="fa #{log.icon} fa-fw" role="img" aria-label="Log" title="Log"/>
- <strong>
- <t t-esc="log.title_action or log.activity_type_id[1]" />
- </strong>
- <div>
- <span class="fa fa-clock-o fa-fw" role="img" aria-label="Deadline" title="Deadline"/>
- <span t-att-title="log.date_deadline"><t t-esc="log.label_delay" /></span>
- <div class="mt16" t-att-data-activity-id="log.id" t-att-data-previous-activity-type-id="log.activity_type_id[0]">
- <t t-if="log.mail_template_ids">
- <t t-foreach="log.mail_template_ids" t-as="mail_template">
- <div>
- <i class="fa fa-envelope-o" aria-label="Mail" title="Mail" role="img"></i>
- <span t-esc="mail_template.name"/>:
- <span class="o_activity_template_preview" t-att-data-template-id="mail_template.id">Preview</span>
- <span class="text-muted">or</span>
- <span class="o_activity_template_send" t-att-data-template-id="mail_template.id">Send Now</span>
- </div>
+ <t t-foreach="logs" t-as="log">
+ <t t-set="edit_class" t-value="'o_edit_activity'"/>
+ <t t-if="log.force_next">
+ <t t-set="edit_class" t-value=""/>
+ </t>
+ <li t-att-data-activity-id="log.id" t-attf-class="nav-item o_log_activity #{edit_class}" role="menuitem">
+ <div class="o_activity_title float-left">
+ <span t-attf-class="fa #{log.icon} fa-fw" role="img" aria-label="Log" title="Log"/>
+ <strong>
+ <t t-esc="log.title_action or log.activity_type_id[1]" />
+ </strong>
+ <div>
+ <span class="fa fa-clock-o fa-fw" role="img" aria-label="Deadline" title="Deadline"/>
+ <span t-att-title="log.date_deadline"><t t-esc="log.label_delay" /></span>
+ <div class="mt16" t-att-data-activity-id="log.id" t-att-data-force-next-activity="log.force_next" t-att-data-previous-activity-type-id="log.activity_type_id[0]">
+ <t t-if="log.mail_template_ids">
+ <t t-foreach="log.mail_template_ids" t-as="mail_template">
+ <div>
+ <i class="fa fa-envelope-o" aria-label="Mail" title="Mail" role="img"></i>
+ <span t-esc="mail_template.name"/>:
+ <span class="o_activity_template_preview" t-att-data-template-id="mail_template.id">Preview</span>
+ <span class="text-muted">or</span>
+ <span class="o_activity_template_send" t-att-data-template-id="mail_template.id">Send Now</span>
+ </div>
+ </t>
</t>
+ </div>
+ <t t-if="log.user_id[0] != uid">
+ <span class="ml4 fa fa-user" role="img" aria-label="User" title="User"/>
+ <span><t t-esc="log.user_id[1]" /></span>
</t>
</div>
- <t t-if="log.user_id[0] != uid">
- <span class="ml4 fa fa-user" role="img" aria-label="User" title="User"/>
- <span><t t-esc="log.user_id[1]" /></span>
- </t>
</div>
- </div>
- <div class="float-right">
- <span class="o_mark_as_done o_activity_link o_activity_link_kanban fa fa-check-circle fa-2x mt4" t-att-data-previous-activity-type-id="log.activity_type_id[0]" t-att-data-activity-id="log.id" title="Mark as done" role="img" aria-label="Mark as done"/>
- </div>
- </li>
+ <div class="float-right">
+ <span class="o_mark_as_done o_activity_link o_activity_link_kanban fa fa-check-circle fa-2x mt4" t-att-data-force-next-activity="log.force_next" t-att-data-previous-activity-type-id="log.activity_type_id[0]" t-att-data-activity-id="log.id" title="Mark as done" role="img" aria-label="Mark as done"/>
+ </div>
+ </li>
+ </t>
</t>
</ul>
</div>