summaryrefslogtreecommitdiff
path: root/addons/hr/static/src
diff options
context:
space:
mode:
authorYannick Tivisse <yti@odoo.com>2020-05-18 16:05:42 +0000
committerYannick Tivisse <yti@odoo.com>2020-05-25 14:50:19 +0000
commit12b526432f5b3586742c6f3ce0a03bd33a9d0525 (patch)
tree8fdd681f1316700e8bda8243627282a42b683a07 /addons/hr/static/src
parent7a7b5b5d9d01e193c2330fe4fe076c2bf53fbc49 (diff)
[IMP] hr: Display chat icons on employee kanban/form views
Purpose ======= On the Employees App, we dont have a smart way to start a discuss with a colleague or an employee. Specification ============= Style for each button : - use fa-comments - use primary color/action color (green) On private/public employees form/kanban views, add a button to start a chat with the user closes odoo/odoo#51484 Taskid: 2252207 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Diffstat (limited to 'addons/hr/static/src')
-rw-r--r--addons/hr/static/src/js/chat.js43
1 files changed, 39 insertions, 4 deletions
diff --git a/addons/hr/static/src/js/chat.js b/addons/hr/static/src/js/chat.js
index 86e7d33ffc3..bcffe4ca47d 100644
--- a/addons/hr/static/src/js/chat.js
+++ b/addons/hr/static/src/js/chat.js
@@ -1,13 +1,18 @@
odoo.define('hr.employee_chat', function (require) {
'use strict';
+ var viewRegistry = require('web.view_registry');
var FormController = require('web.FormController');
var FormView = require('web.FormView');
var FormRenderer = require('web.FormRenderer');
- var viewRegistry = require('web.view_registry');
- var EmployeeFormRenderer = FormRenderer.extend({
+ var KanbanController = require('web.KanbanController');
+ var KanbanView = require('web.KanbanView');
+ var KanbanRenderer = require('web.KanbanRenderer');
+ var KanbanRecord = require('web.KanbanRecord');
+ // CHAT MIXIN
+ var ChatMixin = {
/**
* @override
*/
@@ -37,7 +42,10 @@ odoo.define('hr.employee_chat', function (require) {
});
return true;
},
- });
+ };
+
+ // USAGE OF CHAT MIXIN IN FORM VIEWS
+ var EmployeeFormRenderer = FormRenderer.extend(ChatMixin);
var EmployeeFormController = FormController.extend({
custom_events: _.extend({}, FormController.prototype.custom_events, {
@@ -57,5 +65,32 @@ odoo.define('hr.employee_chat', function (require) {
});
viewRegistry.add('hr_employee_form', EmployeeFormView);
- return EmployeeFormView;
+
+ // USAGE OF CHAT MIXIN IN KANBAN VIEWS
+ var EmployeeKanbanRecord = KanbanRecord.extend(ChatMixin);
+
+ var EmployeeKanbanRenderer = KanbanRenderer.extend({
+ config: Object.assign({}, KanbanRenderer.prototype.config, {
+ KanbanRecord: EmployeeKanbanRecord,
+ }),
+ });
+
+ var EmployeeKanbanController = KanbanController.extend({
+ custom_events: _.extend({}, KanbanController.prototype.custom_events, {
+ open_chat: '_onOpenChat'
+ }),
+
+ _onOpenChat: function (ev) {
+ this.call('mail_service', 'openDMChatWindow', ev.data.partner_id);
+ },
+ });
+
+ var EmployeeKanbanView = KanbanView.extend({
+ config: _.extend({}, KanbanView.prototype.config, {
+ Controller: EmployeeKanbanController,
+ Renderer: EmployeeKanbanRenderer
+ }),
+ });
+
+ viewRegistry.add('hr_employee_kanban', EmployeeKanbanView);
});