From b00423ca931b04141e632eb3fb5387fd81f08e84 Mon Sep 17 00:00:00 2001 From: "mra (Open ERP)" Date: Fri, 21 May 2010 18:35:52 +0530 Subject: [PATCH] [IMP] hr: Put a fields.binary, picture field on the top-right corner of an employee form bzr revid: mra@tinyerp.com-20100521130552-hzpn30lcvl9wt3ie --- addons/hr/hr.py | 17 ++++++++++++++--- addons/hr/hr_view.xml | 23 +++++++++++++++-------- addons/hr/image/photo.png | Bin 0 -> 6250 bytes 3 files changed, 29 insertions(+), 11 deletions(-) create mode 100644 addons/hr/image/photo.png diff --git a/addons/hr/hr.py b/addons/hr/hr.py index bdaca6e2ace..841370a97f2 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -18,7 +18,10 @@ # along with this program. If not, see . # ############################################################################## +import os + from osv import fields, osv +import tools from tools.translate import _ class hr_employee_category(osv.osv): @@ -109,11 +112,19 @@ class hr_employee(osv.osv): 'category_id' : fields.many2one('hr.employee.category', 'Category'), 'child_ids': fields.one2many('hr.employee', 'parent_id','Subordinates'), 'resource_id': fields.many2one('resource.resource','Resource',ondelete='cascade'), - 'coach_id':fields.many2one('res.users','Coach'), - 'job_id':fields.many2one('hr.job', 'Job'), + 'coach_id': fields.many2one('res.users','Coach'), + 'job_id': fields.many2one('hr.job', 'Job'), + 'photo': fields.binary('Photo') } + + def _get_photo(self, cr, uid, context=None): + return open(os.path.join( + tools.config['addons_path'], 'hr/image', 'photo.png'), + 'rb') .read().encode('base64') + _defaults = { - 'active' : lambda *a: True, + 'active' : 1, + 'photo': _get_photo, } def _check_recursion(self, cr, uid, ids): diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index 6fe3b913aa0..6f20b9fda14 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -21,13 +21,20 @@ form
- - - - - + + + + + + + + + + + + - + @@ -51,9 +58,9 @@ - + diff --git a/addons/hr/image/photo.png b/addons/hr/image/photo.png new file mode 100644 index 0000000000000000000000000000000000000000..1edfe4754fcceeedd9ddbcaf890283a81635c77c GIT binary patch literal 6250 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