[IMP] hr_recruitment: small changes and Improvment

bzr revid: psi@tinyerp.co.in-20100511135414-tzdypiugvyay1ett
This commit is contained in:
psi (Open ERP) 2010-05-11 19:24:14 +05:30
parent bde8ea7fdc
commit 1fe11ae006
6 changed files with 82 additions and 33 deletions

View File

@ -19,9 +19,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import hr_recruitment
import report
import wizard
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -19,7 +19,6 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'HR - Recruitement',
'version': '1.0',
@ -35,9 +34,6 @@ system to store and search in your CV base.
'author': 'Tiny',
'website': 'http://www.openerp.com',
'depends': ['hr','survey','crm'],
'init_xml': [
'hr_recruitment_data.xml'
],
'update_xml': [
'wizard/hr_recruitment_phonecall_view.xml',
'hr_recruitment_view.xml',
@ -49,10 +45,14 @@ system to store and search in your CV base.
'report/hr_recruitment_report_view.xml',
'wizard/hr_recruitment_create_partner_job_view.xml',
],
'init_xml': [
'hr_recruitment_data.xml'
],
'demo_xml': [
'hr_recruitment_demo.xml'
],
'installable': True,
'active': False,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -37,6 +37,21 @@ AVAILABLE_PRIORITIES = [
('1','Excellent')
]
class hr_recruitment_stage(osv.osv):
""" Stage of HR Recruitment """
_name = "hr.recruitment.stage"
_description = "Stage of Recruitment"
_columns = {
'name': fields.char('Stage Name', size=64, required=True, translate=True),
'sequence': fields.integer('Sequence', help="Gives the sequence order \
when displaying a list of case stages."),
'requirements': fields.text('Requirements')
}
_defaults = {
'sequence': 1,
}
hr_recruitment_stage()
class hr_applicant(osv.osv):
_name = "hr.applicant"
@ -54,8 +69,8 @@ class hr_applicant(osv.osv):
'partner_name': fields.char("Applicant's Name", size=64),
'partner_phone': fields.char('Phone', size=32),
'partner_mobile': fields.char('Mobile', size=32),
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]"),
'type_id': fields.many2one('crm.case.resource.type', 'Degree', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]"),
'stage_id': fields.many2one ('hr.recruitment.stage', 'Stage'),
'type_id': fields.many2one('crm.case.resource.type', 'Degree'),
'department_id':fields.many2one('hr.department','Department'),
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
'survey' : fields.related('job_id', 'survey_id', type='many2one', relation='survey', string='Survey'),
@ -75,7 +90,7 @@ class hr_applicant(osv.osv):
for case in self.browse(cr, uid, ids, context):
section = (case.section_id.id or False)
st = case.stage_id.id or False
stage_ids = self.pool.get('crm.case.stage').search(cr, uid, [])
stage_ids = self.pool.get('hr.recruitment.stage').search(cr, uid, [])
if st and stage_ids.index(st):
self.write(cr, uid, [case.id], {'stage_id': stage_ids[stage_ids.index(st)-1]})
return True
@ -93,7 +108,7 @@ class hr_applicant(osv.osv):
for case in self.browse(cr, uid, ids, context):
section = (case.section_id.id or False)
st = case.stage_id.id or False
stage_ids = self.pool.get('crm.case.stage').search(cr, uid, [])
stage_ids = self.pool.get('hr.recruitment.stage').search(cr, uid, [])
if st and len(stage_ids) != stage_ids.index(st)+1:
self.write(cr, uid, [case.id], {'stage_id': stage_ids[stage_ids.index(st)+1]})
return True
@ -176,4 +191,6 @@ class hr_job(osv.osv):
'survey_id': fields.many2one('survey', 'Survey'),
}
hr_job()
hr_job()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -32,31 +32,31 @@
<!-- STAGE(stage_id) -->
<record model="crm.case.stage" id="stage_job1">
<record model="hr.recruitment.stage" id="stage_job1">
<field name="name">Initial Jobs Demand</field>
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_job2">
<record model="hr.recruitment.stage" id="stage_job2">
<field name="name">First Interview</field>
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_job3">
<record model="hr.recruitment.stage" id="stage_job3">
<field name="name">Second Interview</field>
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_job4">
<record model="hr.recruitment.stage" id="stage_job4">
<field name="name">Contract Proposed</field>
<field name="object_id" search="[('model','=','hr.claim')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_job5">
<record model="hr.recruitment.stage" id="stage_job5">
<field name="name">Contract Signed</field>
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_job6">
<record model="hr.recruitment.stage" id="stage_job6">
<field name="name">Refused by Employee</field>
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
</record>
<record model="crm.case.stage" id="stage_job7">
<record model="hr.recruitment.stage" id="stage_job7">
<field name="name">Refused by Company</field>
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
</record>

View File

@ -7,12 +7,12 @@
# ------------------------------------------------------
<record id="hr_job_categ_action" model="ir.actions.act_window">
<field name="name">Applicant Categories</field>
<field name="res_model">crm.case.categ</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
<field name="domain">[('object_id.model', '=', 'hr.applicant')]</field>
<field name="context">{'object_id':'hr.applicant'}</field>
<field name="name">Applicant Categories</field>
<field name="res_model">crm.case.categ</field>
<field name="view_type">form</field>
<field name="view_id" ref="crm.crm_case_categ_tree-view"/>
<field name="domain">[('object_id.model', '=', 'hr.applicant')]</field>
<field name="context">{'object_id':'hr.applicant'}</field>
</record>
# ------------------------------------------------------
# Stage
@ -70,19 +70,19 @@
<form string="Jobs - Recruitment Form">
<group colspan="4" col="8">
<field name="name" string="Subject"/>
<label string="Stage: " align="1.0"/>
<group colspan="1" col="2">
<field name="stage_id" nolabel="1"/>
<button name="stage_previous" string="" type="object" icon="gtk-go-back"/>
<button icon="gtk-go-forward" string="" name="stage_next" type="object"/>
</group>
<field name="partner_name"/>
<field name="user_id"/>
<button string="Schedule a Phone Call"
name="%(action_hr_recruitment_phonecall)d" icon="gtk-redo" type="action"/>
<button name="%(survey.action_view_survey_question_message)d" string="Interview Question" type="action"
icon="gtk-execute" context="{'survey_id': survey, 'response_id': [response], 'response_no':0 ,'active' : response, 'object' : 'hr.applicant', 'cur_id' :active_id}" attrs="{'readonly':[('survey','=',False)]}"/>
<newline/>
<field name="partner_name"/>
<label string="Stage: " align="1.0"/>
<group colspan="1" col="4">
<field name="stage_id" nolabel="1"/>
<button name="stage_previous" string="" type="object" icon="gtk-go-back"/>
<button icon="gtk-go-forward" string="" name="stage_next" type="object"/>
</group>
<field name="job_id"/>
<field name="department_id" widget="selection"/>
<button name="action_makeMeeting" type="object"
@ -108,7 +108,7 @@
</group>
<group col="2" colspan="2">
<separator colspan="2" string="Qualification"/>
<field name="type_id"/>
<field name="type_id" domain="[('object_id.model', '=', 'hr.applicant')]"/>
<field name="priority" string="Appreciation"/>
</group>
<group col="2" colspan="2">
@ -266,5 +266,36 @@
</field>
</record>
<!-- Stage Tree View -->
<record model="ir.ui.view" id="hr_recruitment_stage_tree">
<field name="name">hr.recruitment.stage.tree</field>
<field name="model">hr.recruitment.stage</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Stages">
<field name="sequence"/>
<field name="name"/>
</tree>
</field>
</record>
<!-- Stage Form View -->
<record model="ir.ui.view" id="hr_recruitment_stage_form">
<field name="name">hr.recruitment.stage.form</field>
<field name="model">hr.recruitment.stage</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Stage">
<separator string="Stage Definition" colspan="4"/>
<field name="name" select="1"/>
<field name="sequence"/>
<separator string="Requirements" colspan="4"/>
<field name="requirements" nolabel="1" colspan="4"/>
</form>
</field>
</record>
</data>
</openerp>

View File

@ -38,7 +38,8 @@ class hr_recruitment_report(osv.osv):
'date': fields.date('Date', readonly=True),
'date_closed': fields.date('Closed', readonly=True),
'job_id': fields.many2one('hr.job', 'Applied Job',readonly=True),
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]",readonly=True),
'stage_id': fields.many2one ('hr.recruitment.stage', 'Stage'),
# 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]",readonly=True),
'type_id': fields.many2one('crm.case.resource.type', 'Degree', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]"),
'department_id':fields.many2one('hr.department','Department',readonly=True),
'priority': fields.selection(hr_recruitment.AVAILABLE_PRIORITIES, 'Appreciation'),
@ -90,3 +91,4 @@ class hr_recruitment_report(osv.osv):
""")
hr_recruitment_report()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: