[REVERT] partially reverted wrong change

bzr revid: fp@openerp.com-20131111224509-xxpw3qltvib53rhj
This commit is contained in:
Fabien Pinckaers 2013-11-11 23:45:09 +01:00
parent e402105d91
commit 46072d92ef
2 changed files with 18 additions and 14 deletions

View File

@ -81,7 +81,7 @@ class hr_job(osv.osv):
nb_employees = len(job.employee_ids or [])
res[job.id] = {
'no_of_employee': nb_employees,
'no_of_recruitment': max(0, (job.expected_employees or nb_employees) - nb_employees),
'expected_employees': nb_employees + job.no_of_recruitment,
}
return res
@ -97,11 +97,11 @@ class hr_job(osv.osv):
_inherit = ['mail.thread']
_columns = {
'name': fields.char('Job Name', size=128, required=True, select=True),
'no_of_recruitment': fields.function(_no_of_employee, string='Expected in Recruitment',
help='Number of new employees you expect to recruit.',
'expected_employees': fields.function(_no_of_employee, string='Total Forecasted Employees',
help='Expected number of employees for this job position after new recruitment.',
store = {
'hr.job': (lambda self,cr,uid,ids,c=None: ids, ['expected_employees'], 10),
'hr.employee': (_get_job_position, ['job_id'], 11),
'hr.job': (lambda self,cr,uid,ids,c=None: ids, ['no_of_recruitment'], 10),
'hr.employee': (_get_job_position, ['job_id'], 10),
}, type='integer',
multi='no_of_employee'),
'no_of_employee': fields.function(_no_of_employee, string="Current Number of Employees",
@ -110,8 +110,7 @@ class hr_job(osv.osv):
'hr.employee': (_get_job_position, ['job_id'], 10),
}, type='integer',
multi='no_of_employee'),
'expected_employees': fields.integer('Total Forecasted Employees',
help='Expected number of employees for this job position after new recruitment.'),
'no_of_recruitment': fields.float('Expected in Recruitment', help='Number of new employees you expect to recruit.'),
'employee_ids': fields.one2many('hr.employee', 'job_id', 'Employees', groups='base.group_user'),
'description': fields.text('Job Description'),
'requirements': fields.text('Requirements'),
@ -130,15 +129,20 @@ class hr_job(osv.osv):
('name_company_uniq', 'unique(name, company_id, department_id)', 'The name of the job position must be unique per department in company!'),
]
def on_change_expected_employee(self, cr, uid, ids, no_of_recruitment, no_of_employee, context=None):
if context is None:
context = {}
return {'value': {'expected_employees': no_of_recruitment + no_of_employee}}
def job_recruitement(self, cr, uid, ids, *args):
for job in self.browse(cr, uid, ids):
expected = max(job.no_of_employee + 1, job.expected_employees)
self.write(cr, uid, [job.id], {'state': 'recruit', 'expected_employees': expected})
no_of_recruitment = job.no_of_recruitment == 0 and 1 or job.no_of_recruitment
self.write(cr, uid, [job.id], {'state': 'recruit', 'no_of_recruitment': no_of_recruitment})
return True
def job_open(self, cr, uid, ids, *args):
for job in self.browse(cr, uid, ids):
self.write(cr, uid, ids, {'state': 'open', 'expected_employees': job.no_of_employee})
self.write(cr, uid, ids, {'state': 'open', 'no_of_recruitment': 0})
return True

View File

@ -343,9 +343,9 @@
</div>
<group>
<group name="job_data">
<field name="no_of_employee"/>
<field name="no_of_recruitment"/>
<field name="expected_employees"/>
<field name="no_of_employee" groups="base.group_user"/>
<field name="no_of_recruitment" on_change="on_change_expected_employee(no_of_recruitment,no_of_employee)"/>
<field name="expected_employees" groups="base.group_user"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<field name="department_id"/>
</group>