diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/crm/static/src/js/crm_kanban.js | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/crm/static/src/js/crm_kanban.js')
| -rw-r--r-- | addons/crm/static/src/js/crm_kanban.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/addons/crm/static/src/js/crm_kanban.js b/addons/crm/static/src/js/crm_kanban.js new file mode 100644 index 00000000..dbc50064 --- /dev/null +++ b/addons/crm/static/src/js/crm_kanban.js @@ -0,0 +1,52 @@ +odoo.define('crm.crm_kanban', function (require) { + "use strict"; + + /** + * This Kanban Model make sure we display a rainbowman + * message when a lead is won after we moved it in the + * correct column and when it's grouped by stage_id (default). + */ + + var KanbanModel = require('web.KanbanModel'); + var KanbanView = require('web.KanbanView'); + var viewRegistry = require('web.view_registry'); + + var CrmKanbanModel = KanbanModel.extend({ + /** + * Check if the kanban view is grouped by "stage_id" before checking if the lead is won + * and displaying a possible rainbowman message. + * @override + */ + moveRecord: async function (recordID, groupID, parentID) { + var result = await this._super(...arguments); + if (this.localData[parentID].groupedBy[0] === this.defaultGroupedBy[0]) { + const message = await this._rpc({ + model: 'crm.lead', + method : 'get_rainbowman_message', + args: [[parseInt(this.localData[recordID].res_id)]], + }); + if (message) { + this.trigger_up('show_effect', { + message: message, + type: 'rainbow_man', + }); + } + } + return result; + }, + }); + + var CrmKanbanView = KanbanView.extend({ + config: _.extend({}, KanbanView.prototype.config, { + Model: CrmKanbanModel, + }), + }); + + viewRegistry.add('crm_kanban', CrmKanbanView); + + return { + CrmKanbanModel: CrmKanbanModel, + CrmKanbanView: CrmKanbanView, + }; + +}); |
