From 4d1905fa5eecd0c9cc8c2550e76d4c44453c04de Mon Sep 17 00:00:00 2001 From: ggh-openerp Date: Tue, 2 Apr 2013 12:20:52 +0530 Subject: [PATCH 1/7] [IMP] Recruitment: count applicant priority ratio in job position bzr revid: ggh@tinyerp.com-20130402065052-ghvng16dau69dpca --- addons/hr_recruitment/hr_recruitment.py | 27 ++++++++++++++++--- addons/hr_recruitment/hr_recruitment_menu.xml | 2 +- addons/hr_recruitment/hr_recruitment_view.xml | 24 ++++++++++++++--- 3 files changed, 45 insertions(+), 8 deletions(-) diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index 8cde174f746..2477bc18f78 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -492,15 +492,36 @@ class hr_job(osv.osv): _inherit = "hr.job" _name = "hr.job" _inherits = {'mail.alias': 'alias_id'} + + def _count_priority(self, cr, uid, ids, name, args, context=None): + res = {} + for position in self.browse(cr, uid,ids, context=context): + res[position.id] = {} + priority1 = 0 + priority2 = 0 + priority3 = 0 + applicant_obj = self.pool.get('hr.applicant') + a_ids = applicant_obj.search(cr, uid, [('job_id', '=', position.id)], context=context) + for applicant in self.pool.get('hr.applicant').browse(cr, uid, a_ids, context=context): + if applicant.job_id.id == position.id: + if applicant.priority == '3': + priority1 += 1 + elif applicant.priority == '2': + priority2 += 1 + elif applicant.priority == '1': + priority3 += 1 + else: + pass + res[position.id] = {'priority1': priority1, 'priority2': priority2, 'priority3': priority3} + return res + _columns = { - 'name': fields.char('Job Name', size=128, required=True, select=True), - 'no_of_recruitment': fields.float('Expected in Recruitment', help='Number of new employees you expect to recruit.'), - 'department_id': fields.many2one('hr.department', 'Department'), 'color': fields.integer('Color Index'), 'survey_id': fields.many2one('survey', 'Interview Form', help="Choose an interview form for this job position and you will be able to print/answer this interview from all applicants who apply for this job"), 'alias_id': fields.many2one('mail.alias', 'Alias', ondelete="cascade", required=True, help="Email alias for this job position. New emails will automatically " "create new applicants for this job position."), + 'priority_count': fields.function(_count_priority, string='Total Priority Employees', type="char"), } _defaults = { 'alias_domain': False, # always hide alias during creation diff --git a/addons/hr_recruitment/hr_recruitment_menu.xml b/addons/hr_recruitment/hr_recruitment_menu.xml index e5e170f4b35..009a03289a1 100644 --- a/addons/hr_recruitment/hr_recruitment_menu.xml +++ b/addons/hr_recruitment/hr_recruitment_menu.xml @@ -66,7 +66,7 @@ parent="base.menu_crm_case_job_req_main" id="menu_crm_case_categ0_act_job" action="crm_case_categ0_act_job" sequence="1"/> - + diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index 75f63ca97dd..952cc9e55be 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -331,6 +331,7 @@ +
@@ -344,11 +345,26 @@

+
+ Employees +
- + + + + + +
+ + + + +
+ + + +
-
- Employees
@@ -359,7 +375,7 @@ - + Job Positions hr.job form From 77410101c2b1ad1146d332cbb9a77b057855f322 Mon Sep 17 00:00:00 2001 From: ggh-openerp Date: Wed, 3 Apr 2013 11:14:54 +0530 Subject: [PATCH 2/7] [IMP] hr_recruitment: manager image set in jobposition kanban bzr revid: ggh@tinyerp.com-20130403054454-e7jt6ayolrxeevqc --- addons/hr_recruitment/hr_recruitment.py | 12 ++++++++++++ addons/hr_recruitment/hr_recruitment_view.xml | 4 +++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index 2477bc18f78..670b31c289b 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -515,6 +515,17 @@ class hr_job(osv.osv): res[position.id] = {'priority1': priority1, 'priority2': priority2, 'priority3': priority3} return res + def _get_department_mgr(self, cr, uid, ids, name, args, context=None): + res = {} + for obj_job in self.browse(cr, uid,ids, context=context): + + res[obj_job.id] = {} + if obj_job.department_id: + emp_ids = self.pool.get('hr.employee').search(cr, uid, [('id', '=', obj_job.department_id.manager_id.id)], context=context) + if emp_ids: + res[obj_job.id] = emp_ids + return res + _columns = { 'color': fields.integer('Color Index'), 'survey_id': fields.many2one('survey', 'Interview Form', help="Choose an interview form for this job position and you will be able to print/answer this interview from all applicants who apply for this job"), @@ -522,6 +533,7 @@ class hr_job(osv.osv): help="Email alias for this job position. New emails will automatically " "create new applicants for this job position."), 'priority_count': fields.function(_count_priority, string='Total Priority Employees', type="char"), + 'user_id': fields.function(_get_department_mgr, string='Department Manager', type="char"),#manager image in kanban } _defaults = { 'alias_domain': False, # always hide alias during creation diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index 952cc9e55be..ff6e8f50abb 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -332,6 +332,7 @@ +
@@ -345,7 +346,8 @@

-
+ +

Employees
From b8d2569a5a3aee63c853c1a950ed2047c9191662 Mon Sep 17 00:00:00 2001 From: ggh-openerp Date: Wed, 3 Apr 2013 12:45:29 +0530 Subject: [PATCH 3/7] [IMP] Demo data color add in kanban bzr revid: ggh@tinyerp.com-20130403071529-qmm2f9rcrwx23f96 --- addons/hr/hr_demo.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/hr/hr_demo.xml b/addons/hr/hr_demo.xml index 3f34a703475..42d24fc7d29 100644 --- a/addons/hr/hr_demo.xml +++ b/addons/hr/hr_demo.xml @@ -31,11 +31,13 @@ Chief Executive Officer + 3 Chief Technical Officer + 5 @@ -46,6 +48,7 @@ Developer + 2 From d1e9bfab5ef3f006a2907c479899c3b9940ef6f2 Mon Sep 17 00:00:00 2001 From: ggh-openerp Date: Wed, 3 Apr 2013 16:12:29 +0530 Subject: [PATCH 4/7] [IMP] hr_recruitment: Improve code bzr revid: ggh@tinyerp.com-20130403104229-kgfdhg94lygfzvfz --- addons/hr/hr.py | 1 + addons/hr_recruitment/hr_recruitment.py | 14 ++++++++++---- addons/hr_recruitment/hr_recruitment_view.xml | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/addons/hr/hr.py b/addons/hr/hr.py index 467f34f708b..2f2494aea81 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -118,6 +118,7 @@ class hr_job(osv.osv): 'company_id': fields.many2one('res.company', 'Company'), 'state': fields.selection([('open', 'No Recruitment'), ('recruit', 'Recruitement in Progress')], 'Status', readonly=True, required=True, help="By default 'In position', set it to 'In Recruitment' if recruitment process is going on for this job position."), + 'color': fields.integer('Color Index'), } _defaults = { 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'hr.job', context=c), diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index 670b31c289b..d09b6430e01 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -494,6 +494,8 @@ class hr_job(osv.osv): _inherits = {'mail.alias': 'alias_id'} def _count_priority(self, cr, uid, ids, name, args, context=None): + """Applicant, priority count like number of star 3,2,1(star rating) + """ res = {} for position in self.browse(cr, uid,ids, context=context): res[position.id] = {} @@ -501,8 +503,8 @@ class hr_job(osv.osv): priority2 = 0 priority3 = 0 applicant_obj = self.pool.get('hr.applicant') - a_ids = applicant_obj.search(cr, uid, [('job_id', '=', position.id)], context=context) - for applicant in self.pool.get('hr.applicant').browse(cr, uid, a_ids, context=context): + rate_ids = applicant_obj.search(cr, uid, [('job_id', '=', position.id)], context=context) + for applicant in self.pool.get('hr.applicant').browse(cr, uid, rate_ids, context=context): if applicant.job_id.id == position.id: if applicant.priority == '3': priority1 += 1 @@ -516,14 +518,18 @@ class hr_job(osv.osv): return res def _get_department_mgr(self, cr, uid, ids, name, args, context=None): + """get manager image for specific job position. + """ res = {} + employee_obj = self.pool.get('hr.employee') for obj_job in self.browse(cr, uid,ids, context=context): res[obj_job.id] = {} if obj_job.department_id: - emp_ids = self.pool.get('hr.employee').search(cr, uid, [('id', '=', obj_job.department_id.manager_id.id)], context=context) + emp_ids = employee_obj.search(cr, uid, [('id', '=', obj_job.department_id.manager_id.id)], context=context) if emp_ids: - res[obj_job.id] = emp_ids + for employee in employee_obj.browse(cr, uid, emp_ids, context=context): + res[obj_job.id] = {'id':employee.id, 'name': employee.name} return res _columns = { diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index ff6e8f50abb..f8dabe70915 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -347,7 +347,7 @@

-

+

Employees
From 66e897a31dd717c4e1ed843c5c895a387ca69feb Mon Sep 17 00:00:00 2001 From: ggh-openerp Date: Wed, 3 Apr 2013 17:22:25 +0530 Subject: [PATCH 5/7] [IMP] Improved kanban view in hr_recruitment bzr revid: ggh@tinyerp.com-20130403115225-w44mmr7mo25r2mxr --- addons/hr_recruitment/hr_recruitment_view.xml | 42 +++++++++---------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index f70b2e55b4f..1408296ed4a 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -354,37 +354,35 @@
-

- -

- Employees - -
- - - - - -
- - - - -
- - - - -

+

+ Employees +
Expected in Recruitment
+
+ + + + + +
+ + + + +
+ + + + +
From 5003f09d78777b78ed894800335e0eace1ba7079 Mon Sep 17 00:00:00 2001 From: ggh-openerp Date: Wed, 3 Apr 2013 18:26:38 +0530 Subject: [PATCH 6/7] [Rem] Remove code bzr revid: ggh@tinyerp.com-20130403125638-vq0qtl7byslv97nr --- addons/hr_recruitment/hr_recruitment.py | 1 - addons/hr_recruitment/hr_recruitment_view.xml | 3 --- 2 files changed, 4 deletions(-) diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index d09b6430e01..3698eb20838 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -533,7 +533,6 @@ class hr_job(osv.osv): return res _columns = { - 'color': fields.integer('Color Index'), 'survey_id': fields.many2one('survey', 'Interview Form', help="Choose an interview form for this job position and you will be able to print/answer this interview from all applicants who apply for this job"), 'alias_id': fields.many2one('mail.alias', 'Alias', ondelete="cascade", required=True, help="Email alias for this job position. New emails will automatically " diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index 1408296ed4a..7b723408310 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -358,8 +358,6 @@


- Employees -
Expected in Recruitment