summaryrefslogtreecommitdiff
path: root/addons/hr_org_chart/static/src/js
diff options
context:
space:
mode:
authorRomainLibert <rli@odoo.com>2019-04-02 11:06:08 +0200
committerYannick Tivisse <yti@odoo.com>2019-05-31 10:21:20 +0200
commitd09d5c2e8af1b5c00b84c8961d8024e5cbfe76d3 (patch)
tree10a8d41ae4e7c6a8d7a6c48ee72345dd10917e42 /addons/hr_org_chart/static/src/js
parentc9ca3761464413327d2beb697553a3ccd7eef4d1 (diff)
[IMP] hr_org_chart: Adapt module with new hr.employee.public model
Diffstat (limited to 'addons/hr_org_chart/static/src/js')
-rw-r--r--addons/hr_org_chart/static/src/js/hr_org_chart.js57
1 files changed, 28 insertions, 29 deletions
diff --git a/addons/hr_org_chart/static/src/js/hr_org_chart.js b/addons/hr_org_chart/static/src/js/hr_org_chart.js
index 5e2ba861058..d1831b53c8b 100644
--- a/addons/hr_org_chart/static/src/js/hr_org_chart.js
+++ b/addons/hr_org_chart/static/src/js/hr_org_chart.js
@@ -24,7 +24,7 @@ var FieldOrgChart = AbstractField.extend({
init: function (parent, options) {
this._super.apply(this, arguments);
this.dm = new concurrency.DropMisordered();
- this.employee;
+ this.employee = null;
},
//--------------------------------------------------------------------------
@@ -37,16 +37,16 @@ var FieldOrgChart = AbstractField.extend({
* @param {integer} employee_id
* @returns {Promise}
*/
- _getOrgData: function (employee_id) {
+ _getOrgData: function () {
var self = this;
return this.dm.add(this._rpc({
route: '/hr/get_org_chart',
params: {
- employee_id: employee_id,
+ employee_id: this.employee,
context: session.user_context,
},
})).then(function (data) {
- self.orgData = data;
+ return data;
});
},
/**
@@ -83,10 +83,9 @@ var FieldOrgChart = AbstractField.extend({
}
var self = this;
- return this._getOrgData(this.employee).then(function () {
-
- self.orgData['view_employee_id'] = self.recordData.id;
- self.$el.html(QWeb.render("hr_org_chart", self.orgData));
+ return this._getOrgData().then(function (orgData) {
+ orgData.view_employee_id = self.recordData.id;
+ self.$el.html(QWeb.render("hr_org_chart", orgData));
self.$('[data-toggle="popover"]').each(function () {
$(this).popover({
html: true,
@@ -130,7 +129,7 @@ var FieldOrgChart = AbstractField.extend({
_onEmployeeMoreManager: function(event) {
event.preventDefault();
this.employee = parseInt($(event.currentTarget).data('employee-id'));
- this._render()
+ this._render();
},
/**
* Redirect to the employee form view.
@@ -140,16 +139,15 @@ var FieldOrgChart = AbstractField.extend({
* @returns {Promise} action loaded
*/
_onEmployeeRedirect: function (event) {
+ var self = this;
event.preventDefault();
var employee_id = parseInt($(event.currentTarget).data('employee-id'));
- return this.do_action({
- type: 'ir.actions.act_window',
- view_type: 'form',
- view_mode: 'form',
- views: [[false, 'form']],
- target: 'current',
- res_model: 'hr.employee',
- res_id: employee_id,
+ return this._rpc({
+ model: 'hr.employee',
+ method: 'get_formview_action',
+ args: [employee_id],
+ }).then(function(action) {
+ return self.do_action(action);
});
},
/**
@@ -164,22 +162,23 @@ var FieldOrgChart = AbstractField.extend({
var employee_id = parseInt($(event.currentTarget).data('employee-id'));
var employee_name = $(event.currentTarget).data('employee-name');
var type = $(event.currentTarget).data('type') || 'direct';
- var self = this
+ var self = this;
if (employee_id) {
this._getSubordinatesData(employee_id, type).then(function(data) {
var domain = [['id', 'in', data]];
-
- return self.do_action({
- name: employee_name,
- type: 'ir.actions.act_window',
- view_mode: 'kanban,list,form',
- views: [[false, 'kanban'], [false, 'list'], [false, 'form']],
- target: 'current',
- res_model: 'hr.employee',
- domain: domain,
+ return self._rpc({
+ model: 'hr.employee',
+ method: 'get_formview_action',
+ args: [employee_id],
+ }).then(function(action) {
+ action = _.extend(action, {
+ 'view_mode': 'kanban,list,form',
+ 'views': [[false, 'kanban'], [false, 'list'], [false, 'form']],
+ 'domain': domain,
+ });
+ return self.do_action(action);
});
- })
-
+ });
}
},
});