From 622c7f2ad448dee1a2716d0bcadd3eda76337c3d Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Fri, 6 Jul 2012 16:34:01 +0200 Subject: [PATCH] [WIP] add dropdown to show/hide employees in the portal's contact page this is achieved by extending the many2many_kanban widget and adding it a few events bzr revid: abo@openerp.com-20120706143401-z8zjla7kbiklbua5 --- addons/portal_hr_employees/__openerp__.py | 2 +- .../portal_hr_employee_view.xml | 8 ++-- .../static/src/js/portal_hr_employees.js | 39 ++++++++++++++++++- 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/addons/portal_hr_employees/__openerp__.py b/addons/portal_hr_employees/__openerp__.py index 7bbdec99adf..ec5d821d280 100644 --- a/addons/portal_hr_employees/__openerp__.py +++ b/addons/portal_hr_employees/__openerp__.py @@ -43,7 +43,7 @@ portal_crm (which creates the contact page) are installed. 'static/src/css/portal_hr_employees.css', ], 'js': [ - 'static/lib/jquery.expander/portal_hr_employees.js', + 'static/src/js/portal_hr_employees.js', ], } diff --git a/addons/portal_hr_employees/portal_hr_employee_view.xml b/addons/portal_hr_employees/portal_hr_employee_view.xml index 26127d59208..2ee9539db39 100644 --- a/addons/portal_hr_employees/portal_hr_employee_view.xml +++ b/addons/portal_hr_employees/portal_hr_employee_view.xml @@ -26,7 +26,7 @@

Meet the team

- + @@ -35,9 +35,9 @@
diff --git a/addons/portal_hr_employees/static/src/js/portal_hr_employees.js b/addons/portal_hr_employees/static/src/js/portal_hr_employees.js index ea54ac09506..99d0c5a1cbb 100644 --- a/addons/portal_hr_employees/static/src/js/portal_hr_employees.js +++ b/addons/portal_hr_employees/static/src/js/portal_hr_employees.js @@ -1,3 +1,40 @@ openerp.portal_hr_employees = function(session) { + /* + * Extend the many2many_kanban widget and add it a few things such + * as delegates. + */ -} \ No newline at end of file + // phe: short name for "portal hr employees" + var phe = session.portal_hr_employees = {}; + + phe.many2many_kanban_custom = session.web.form.FieldMany2ManyKanban.extend({ + start: function() { + var self = this; + + this._super.apply(this, arguments); + + // add events + this.add_events(); + }, + add_events: function() { + var self = this; + + // event: make an employee public + this.$element.delegate('a.oe_employee_make_public', 'click', function (e) { + console.log('make employee#'+$(this).attr('data-id')+' public'); + }); + + // event: make an employee private + this.$element.delegate('a.oe_employee_make_private', 'click', function (e) { + console.log('make employee#'+$(this).attr('data-id')+' private'); + }); + + // event: make an employee portal + this.$element.delegate('a.oe_employee_make_portal', 'click', function (e) { + console.log('make employee#'+$(this).attr('data-id')+' portal'); + }); + }, + }); + + session.web.form.widgets.add('many2many_kanban_custom', 'openerp.portal_hr_employees.many2many_kanban_custom'); +}