diff --git a/addons/hr/hr.py b/addons/hr/hr.py
index c05836c393a..3e789709195 100644
--- a/addons/hr/hr.py
+++ b/addons/hr/hr.py
@@ -80,18 +80,13 @@ hr_employee_marital_status()
class hr_job(osv.osv):
- def _no_of_employee(self, cr, uid, ids, name, args, context=None):
- res = {}
- for emp in self.browse(cr, uid, ids):
- res[emp.id] = len(emp.employee_ids or [])
- return res
-
_name = "hr.job"
_description = "Job Description"
_columns = {
'name': fields.char('Job Name', size=128, required=True, select=True),
'expected_employees': fields.integer('Expected Employees', help='Required number of Employees'),
- 'no_of_employee': fields.function(_no_of_employee, method=True, string='No of Employees', type='integer', help='Number of Employees selected'),
+ 'no_of_employee': fields.integer('No of Employees', help='Number of employee there are already in the department', readonly=True),
+ 'no_of_recruitment': fields.integer('No of Recruitment'),
'employee_ids': fields.one2many('hr.employee', 'job_id', 'Employees'),
'description': fields.text('Job Description'),
'requirements': fields.text('Requirements'),
@@ -102,9 +97,19 @@ class hr_job(osv.osv):
_defaults = {
'expected_employees': 1,
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'hr.job', context=c),
- 'state': 'open'
+ 'state': 'open',
+ 'no_of_recruitment': 1,
}
+ def on_change_expected_employee(self, cr, uid, ids, expected_employee, context=None):
+ if context is None:
+ context = {}
+ result={}
+ if expected_employee:
+ xx = self.browse(cr, uid, ids, context)[0]
+ result['no_of_recruitment'] = expected_employee - xx['no_of_employee']
+ return {'value': result}
+
def job_old(self, cr, uid, ids, *args):
self.write(cr, uid, ids, {'state': 'old'})
return True
diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml
index 2b1cd596024..eb0601002f1 100644
--- a/addons/hr/hr_view.xml
+++ b/addons/hr/hr_view.xml
@@ -324,8 +324,9 @@
-
+
+
@@ -360,6 +361,7 @@
+
diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py
index 3dbcd946e87..11b3dc06650 100644
--- a/addons/hr_recruitment/hr_recruitment.py
+++ b/addons/hr_recruitment/hr_recruitment.py
@@ -429,17 +429,13 @@ class hr_applicant(crm.crm_case, osv.osv):
message = _('Applicant ') + " '" + name + "' "+ _("is Hired.")
self.log(cr, uid, id, message)
- stage_id = self.pool.get('hr.recruitment.stage').search(cr, uid, [('name','=','Contract Signed')])
- self.write(cr, uid, ids,{'stage_id':stage_id[0]})
-
applicant = self.browse(cr, uid, ids)[0]
if applicant.job_id :
emp_id = employee_obj.create(cr,uid,{'name':applicant.name,'job_id':applicant.job_id.id})
job_data = job_obj.browse(cr,uid, applicant.job_id.id)
- expected_emp = job_data['expected_employees'] - 1
- if expected_emp == 0:
- job_obj.write(cr,uid, [applicant.job_id.id],{'state':'old'})
- job_obj.write(cr,uid, [applicant.job_id.id],{'expected_employees':expected_emp})
+ no_of_emp = job_data['no_of_employee'] + 1
+ no_of_recruit = job_data['no_of_recruitment'] - 1
+ job_obj.write(cr,uid, [applicant.job_id.id],{'no_of_employee':no_of_emp,'no_of_recruitment':no_of_recruit})
return res
def case_reset(self, cr, uid, ids, *args):
@@ -450,18 +446,9 @@ class hr_applicant(crm.crm_case, osv.osv):
@param ids: List of case Ids
@param *args: Tuple Value for additional Params
"""
- applicant = self.browse(cr, uid, ids)[0]
- if applicant.job_id :
- job_obj = self.pool.get('hr.job')
- emp_obj = self.pool.get('hr.employee')
- job_data = job_obj.browse(cr,uid, applicant.job_id.id)
- expected_emp = job_data['expected_employees'] + 1
- emp_id = emp_obj.search(cr,uid, [('job_id','=',applicant.job_id.id),('name','=',applicant.name)])
- emp_obj.unlink(cr, uid, emp_id)
- job_obj.write(cr,uid, [applicant.job_id.id],{'expected_employees':expected_emp})
+
res = super(hr_applicant, self).case_reset(cr, uid, ids, *args)
self.write(cr, uid, ids, {'date_open': False, 'date_closed':False})
-
return res
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml
index 033fd68052c..cf2097b2454 100644
--- a/addons/hr_recruitment/hr_recruitment_view.xml
+++ b/addons/hr_recruitment/hr_recruitment_view.xml
@@ -297,7 +297,7 @@
form
-
+