From 670141cbf5e4089ebcd597ab21f2efe97409ce13 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 14 Mar 2011 11:44:31 +0100 Subject: [PATCH] [MERGE] cherry picking of revision 4425-4432 of lp:~openerp-dev/openobject-addons/trunk-dev2-hr-improvements bzr revid: qdp-launchpad@openerp.com-20110314104431-xxyxcv7mercqqhzt --- addons/hr/hr.py | 33 ++++++++++++++----- addons/hr/hr_view.xml | 11 +++++-- addons/hr_holidays/hr_holidays_data.xml | 9 +++++ addons/hr_holidays/hr_holidays_view.xml | 12 +++---- .../test/test_hr_recruitment.yml | 1 + 5 files changed, 49 insertions(+), 17 deletions(-) diff --git a/addons/hr/hr.py b/addons/hr/hr.py index 4a5529c11a4..d93c1ae3986 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -20,7 +20,7 @@ ############################################################################## from osv import fields, osv - +import logging import addons class hr_employee_category(osv.osv): @@ -154,7 +154,7 @@ class hr_employee(osv.osv): 'work_email': fields.char('Work E-mail', size=240), 'work_location': fields.char('Office Location', size=32), 'notes': fields.text('Notes'), - 'parent_id': fields.related('department_id', 'manager_id', relation='hr.employee', string='Manager', type='many2one', store=True, select=True, help="It is linked with manager of Department"), + 'parent_id': fields.many2one('hr.employee', 'Manager'), 'category_ids': fields.many2many('hr.employee.category', 'employee_category_rel','category_id','emp_id','Category'), 'child_ids': fields.one2many('hr.employee', 'parent_id', 'Subordinates'), 'resource_id': fields.many2one('resource.resource', 'Resource', ondelete='cascade', required=True), @@ -204,15 +204,8 @@ class hr_employee(osv.osv): level -= 1 return True -# def _check_department_id(self, cr, uid, ids, context=None): -# for emp in self.browse(cr, uid, ids, context=context): -# if emp.department_id.manager_id and emp.id == emp.department_id.manager_id.id: -# return False -# return True - _constraints = [ (_check_recursion, 'Error ! You cannot create recursive Hierarchy of Employees.', ['parent_id']), -# (_check_department_id, 'Error ! You cannot select a department for which the employee is the manager.', ['department_id']), ] hr_employee() @@ -227,4 +220,26 @@ class hr_department(osv.osv): hr_department() + +class res_users(osv.osv): + _name = 'res.users' + _inherit = 'res.users' + + def create(self, cr, uid, data, context=None): + user_id = super(res_users, self).create(cr, uid, data, context=context) + data_obj = self.pool.get('ir.model.data') + try: + data_id = data_obj._get_id(cr, uid, 'hr', 'ir_ui_view_sc_employee') + view_id = data_obj.browse(cr, uid, data_id, context=context).res_id + self.pool.get('ir.ui.view_sc').copy(cr, uid, view_id, default = { + 'user_id': user_id}, context=context) + except: + # Tolerate a missing shortcut. See product/product.py for similar code. + logging.getLogger('orm').debug('Skipped meetings shortcut for user "%s"', data.get('name',' + + Employees + ir.ui.menu + + + + + + Compensatory Days + False + brown + + + diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml index 481d8cf87e9..f21ccb52bf5 100644 --- a/addons/hr_holidays/hr_holidays_view.xml +++ b/addons/hr_holidays/hr_holidays_view.xml @@ -24,7 +24,7 @@ help="My Leaves" /> - @@ -70,7 +70,7 @@
- + @@ -114,7 +114,7 @@ - + @@ -250,7 +250,7 @@ @@ -412,7 +412,7 @@ - + -