diff options
| author | Hiral Bhavsar <hbh@odoo.com> | 2018-11-16 13:09:14 +0000 |
|---|---|---|
| committer | Martin Geubelle <mge@odoo.com> | 2019-05-03 10:19:40 +0000 |
| commit | 132c0ad9bf18e34809653a0cb8ca871858f6035e (patch) | |
| tree | 5e037ed3d7e4bb4573cd0f3064bc22fb670ef534 /addons/mail/static/src/js/views/activity/activity_controller.js | |
| parent | fac99a901c1e062ba804b8c541a10e79ab4dae3a (diff) | |
[IMP] mail: allow to create record from activity view
In the activity view footer, it's now possible to create a new record
(and an associated activity). When clicking on the link, a 'SelectCreate'
dialog is opened and the activity is created when selecting a record.
Task 1894990
Diffstat (limited to 'addons/mail/static/src/js/views/activity/activity_controller.js')
| -rw-r--r-- | addons/mail/static/src/js/views/activity/activity_controller.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/addons/mail/static/src/js/views/activity/activity_controller.js b/addons/mail/static/src/js/views/activity/activity_controller.js index 1fb5f928c50..ede639a80fd 100644 --- a/addons/mail/static/src/js/views/activity/activity_controller.js +++ b/addons/mail/static/src/js/views/activity/activity_controller.js @@ -2,11 +2,18 @@ odoo.define('mail.ActivityController', function (require) { "use strict"; var BasicController = require('web.BasicController'); +var core = require('web.core'); +var field_registry = require('web.field_registry'); +var ViewDialogs = require('web.view_dialogs'); + +var KanbanActivity = field_registry.get('kanban_activity'); +var _t = core._t; var ActivityController = BasicController.extend({ custom_events: _.extend({}, BasicController.prototype.custom_events, { empty_cell_clicked: '_onEmptyCell', send_mail_template: '_onSendMailTemplate', + schedule_activity: '_onScheduleActivity', }), //-------------------------------------------------------------------------- @@ -28,6 +35,25 @@ var ActivityController = BasicController.extend({ /** * @private + */ + _onScheduleActivity: function () { + var self = this; + + var state = this.model.get(this.handle); + new ViewDialogs.SelectCreateDialog(this, { + res_model: state.model, + domain: this.model.originalDomain, + title: _.str.sprintf(_t("Search: %s"), this.renderer.arch.attrs.string), + disable_multiple_selection: true, + on_selected: function (record) { + var fakeRecord = self.renderer.getKanbanActivityData({}, record[0]); + var widget = new KanbanActivity(self, 'activity_ids', fakeRecord, {}); + widget.scheduleActivity(); + }, + }).open(); + }, + /** + * @private * @param {OdooEvent} ev */ _onEmptyCell: function (ev) { |
