[IMP] hr_recruitment: small changes and Improvment
bzr revid: psi@tinyerp.co.in-20100511135414-tzdypiugvyay1ett
This commit is contained in:
parent
bde8ea7fdc
commit
1fe11ae006
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue