[FIX] hr_recruitement new module
bzr revid: fp@tinyerp.com-20100228203651-ke3h093in34cvz39
This commit is contained in:
parent
c25e9765f2
commit
9bfcfe593c
|
@ -21,6 +21,7 @@
|
|||
|
||||
from osv import fields, osv
|
||||
import crm
|
||||
import time
|
||||
|
||||
class crm_phonecall(osv.osv):
|
||||
_name = "crm.phonecall"
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
|
||||
# $Id$
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
|
||||
import hr_hr
|
||||
import report
|
||||
import wizard
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -0,0 +1,51 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
|
||||
# $Id$
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
{
|
||||
'name': 'HR - Recruitement',
|
||||
'version': '1.0',
|
||||
'category': 'Generic Modules/HR',
|
||||
'description': """
|
||||
Manages job position and recruitement process.
|
||||
""",
|
||||
'author': 'Tiny',
|
||||
'website': 'http://www.openerp.com',
|
||||
'depends': ['hr','survey','crm'],
|
||||
'init_xml': [
|
||||
'hr_hr_data.xml'
|
||||
],
|
||||
'update_xml': [
|
||||
'hr_hr_wizard.xml',
|
||||
'hr_hr_view.xml',
|
||||
'hr_hr_menu.xml',
|
||||
'report_hr_hr_view.xml',
|
||||
'security/hr_hr_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'board_hr_hr_statistical_view.xml',
|
||||
],
|
||||
'demo_xml': [
|
||||
'hr_hr_demo.xml'
|
||||
],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
}
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -1,44 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record model="ir.ui.view" id="view_hr_applicant_categ_graph">
|
||||
<field name="name">report.hr.applicant.categ.graph</field>
|
||||
<field name="model">report.hr.applicant.categ</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Applicants by Sections and Categories" type="bar" orientation="horizontal">
|
||||
<field name="categ_id"/>
|
||||
<field name="nbr" operator="+"/>
|
||||
<field name="state" group="True"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<act_window name="Applicants Requests Of The Month by Applied Job"
|
||||
domain="[('month','=',time.strftime('%%m')),('state','!=','done'),('state','!=','cancel')]"
|
||||
res_model="report.hr.applicant.categ"
|
||||
view_type="form"
|
||||
view_mode="graph,tree,form"
|
||||
view_id="view_hr_applicant_categ_graph"
|
||||
id="act_applicants_categ"/>
|
||||
|
||||
<record model="ir.ui.view" id="board_hr_hr_statistical_form">
|
||||
<field name="name">hr - Statistical Dashboard Form</field>
|
||||
<field name="model">board.board</field>
|
||||
<field name="inherit_id" ref="board_hr_configuration.board_hr_statistical_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Statistics Dashboard">
|
||||
<hpaned>
|
||||
<child2>
|
||||
<action
|
||||
string="Applicants Requests Of The Month by Applied Job"
|
||||
name="%(act_applicants_categ)d"
|
||||
colspan="4"/>
|
||||
</child2>
|
||||
</hpaned>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import fields,osv,orm
|
||||
|
||||
AVAILABLE_STATES = [
|
||||
('draft','New'),
|
||||
('open','In Progress'),
|
||||
('cancel', 'Refused'),
|
||||
('done', 'Hired'),
|
||||
('pending','Pending')
|
||||
]
|
||||
|
||||
AVAILABLE_PRIORITIES = [
|
||||
('5','Not Good'),
|
||||
('4','On Average'),
|
||||
('3','Good'),
|
||||
('2','Very Good'),
|
||||
('1','Excellent')
|
||||
]
|
||||
|
||||
|
||||
class hr_applicant(osv.osv):
|
||||
_name = "hr.applicant"
|
||||
_description = "Applicant Cases"
|
||||
_order = "id desc"
|
||||
_inherit ='crm.case'
|
||||
_columns = {
|
||||
'date_closed': fields.datetime('Closed', readonly=True),
|
||||
'date': fields.datetime('Date'),
|
||||
'priority': fields.selection(AVAILABLE_PRIORITIES, 'Appreciation'),
|
||||
'job_id': fields.many2one('hr.job', 'Applied Job'),
|
||||
'salary_proposed': fields.float('Proposed Salary'),
|
||||
'salary_expected': fields.float('Expected Salary'),
|
||||
'availability': fields.integer('Availability (Days)'),
|
||||
'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')]"),
|
||||
'department_id':fields.many2one('hr.department','Department'),
|
||||
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
|
||||
}
|
||||
hr_applicant()
|
|
@ -5,77 +5,63 @@
|
|||
|
||||
<!-- CASE CATEGORY(categ_id) -->
|
||||
|
||||
<record model="hr.case.categ" id="categ_job1">
|
||||
<record model="crm.case.categ" id="categ_job1">
|
||||
<field name="name">Salesman</field>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<record model="hr.case.categ" id="categ_job2">
|
||||
<record model="crm.case.categ" id="categ_job2">
|
||||
<field name="name">Junior Developer</field>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<!-- Resource(type_id) -->
|
||||
|
||||
<record model="hr.case.resource.type" id="type_job1">
|
||||
<record model="crm.case.resource.type" id="type_job1">
|
||||
<field name="name">Graduate</field>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="hr.case.resource.type" id="type_job2">
|
||||
<record model="crm.case.resource.type" id="type_job2">
|
||||
<field name="name">Licenced</field>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="hr.case.resource.type" id="type_job3">
|
||||
<record model="crm.case.resource.type" id="type_job3">
|
||||
<field name="name"> > Bac +5</field>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
|
||||
<!-- STAGE(stage_id) -->
|
||||
|
||||
<record model="hr.case.stage" id="stage_job1">
|
||||
<record model="crm.case.stage" id="stage_job1">
|
||||
<field name="name">Initial Jobs Demand</field>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="hr.case.stage" id="stage_job2">
|
||||
<record model="crm.case.stage" id="stage_job2">
|
||||
<field name="name">First Interview</field>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="hr.case.stage" id="stage_job3">
|
||||
<record model="crm.case.stage" id="stage_job3">
|
||||
<field name="name">Second Interview</field>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="hr.case.stage" id="stage_job4">
|
||||
<record model="crm.case.stage" id="stage_job4">
|
||||
<field name="name">Contract Proposed</field>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','hr.claim')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="hr.case.stage" id="stage_job5">
|
||||
<record model="crm.case.stage" id="stage_job5">
|
||||
<field name="name">Contract Signed</field>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="hr.case.stage" id="stage_job6">
|
||||
<record model="crm.case.stage" id="stage_job6">
|
||||
<field name="name">Refused by Employee</field>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
<record model="hr.case.stage" id="stage_job7">
|
||||
<record model="crm.case.stage" id="stage_job7">
|
||||
<field name="name">Refused by Company</field>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field name="object_id" search="[('model','=','hr.applicant')]" model="ir.model"/>
|
||||
</record>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
<data>
|
||||
<record id="survey_job_0" model="survey">
|
||||
<field name="title">Job Survey</field>
|
||||
|
@ -230,14 +216,14 @@
|
|||
<record id="survey_answer_job_70" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Male</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_4"/>
|
||||
<field name="question_id" ref="survey_question_job_4"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
|
||||
<record id="survey_answer_job_71" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Female</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_4"/>
|
||||
<field name="question_id" ref="survey_question_job_4"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
|
||||
|
@ -269,49 +255,49 @@
|
|||
<record id="survey_answer_job_81" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">0 - 15</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_5"/>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_82" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">16 - 20</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_5"/>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_83" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">21 - 30</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_5"/>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="3" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_84" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">31 - 40</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_5"/>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="4" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_85" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">41 - 50</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_5"/>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="5" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_86" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">51 - 60</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_5"/>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="6" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_87" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">61 - 70</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_5"/>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="7" name="sequence"/>
|
||||
</record>
|
||||
<record id="survey_answer_job_88" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">71 +</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_5"/>
|
||||
<field name="question_id" ref="survey_question_job_5"/>
|
||||
<field eval="8" name="sequence"/>
|
||||
</record>
|
||||
|
||||
|
@ -409,7 +395,7 @@
|
|||
<record id="survey_answer_job_0" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Good pay</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_1"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="1" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
|
@ -417,7 +403,7 @@
|
|||
<record id="survey_answer_job_1" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Getting on with colleagues</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_1"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="2" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
|
@ -425,7 +411,7 @@
|
|||
<record id="survey_answer_job_2" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Office environment (décor, light, space etc)</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_1"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="3" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
|
@ -433,7 +419,7 @@
|
|||
<record id="survey_answer_job_3" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Desk space</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_1"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="4" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
|
@ -441,7 +427,7 @@
|
|||
<record id="survey_answer_job_4" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">State of the art technology</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_1"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="5" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
|
@ -449,7 +435,7 @@
|
|||
<record id="survey_answer_job_5" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Office location (proximity to home)</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_1"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="6" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
|
@ -457,7 +443,7 @@
|
|||
<record id="survey_answer_job_6" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Good management/boss</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_1"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="7" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
|
@ -465,7 +451,7 @@
|
|||
<record id="survey_answer_job_7" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Freebies such as tea, coffee and stationery</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_1"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="8" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
|
@ -473,7 +459,7 @@
|
|||
<record id="survey_answer_job_8" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Perks such as free parking, gym passes etc</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_1"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="9" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
|
@ -481,7 +467,7 @@
|
|||
<record id="survey_answer_job_9" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">No out of hours working</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_1"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="10" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
|
@ -489,7 +475,7 @@
|
|||
<record id="survey_answer_job_10" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Dress code</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_1"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="11" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
|
@ -497,7 +483,7 @@
|
|||
<record id="survey_answer_job_11" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Regular meetings</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_1"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="12" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
|
@ -505,7 +491,7 @@
|
|||
<record id="survey_answer_job_12" model="survey.answer">
|
||||
<field name="in_visible_answer_type">1</field>
|
||||
<field name="answer">Good social life (office nights out, good Christmas parties etc)</field>
|
||||
<field name="question_id" ref="hr_hr.survey_question_job_1"/>
|
||||
<field name="question_id" ref="survey_question_job_1"/>
|
||||
<field eval="13" name="sequence"/>
|
||||
</record>
|
||||
</data>
|
||||
|
|
|
@ -9,140 +9,133 @@
|
|||
<record id="hr_case_salesman0" model="hr.applicant">
|
||||
<field eval="time.strftime('%Y-%m-01 10:35:50')" name="date"/>
|
||||
<field eval="time.strftime('%Y-%m-03')" name="date_deadline"/>
|
||||
<field name="type_id" ref="hr_hr.type_job1"/>
|
||||
<field name="type_id" ref="type_job1"/>
|
||||
<field name="partner_id" ref="base.res_partner_asus"/>
|
||||
<field eval=""2"" name="priority"/>
|
||||
<field eval="'2'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""Enrique Jones"" name="partner_name"/>
|
||||
<field eval=""draft"" name="state"/>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field eval=""enrique@rediff.com"" name="partner_name2"/>
|
||||
<field eval=""9963214587"" name="partner_mobile"/>
|
||||
<field eval="'Enrique Jones'" name="partner_name"/>
|
||||
<field eval="'draft'" name="state"/>
|
||||
<field eval="'enrique@rediff.com'" name="partner_name2"/>
|
||||
<field eval="'9963214587'" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval="9.0" name="duration"/>
|
||||
<field name="categ_id" ref="hr_hr.categ_job1"/>
|
||||
<field name="stage_id" ref="hr_hr.stage_job1"/>
|
||||
<field eval=""Salesman"" name="name"/>
|
||||
<field eval=""1236547890"" name="partner_phone"/>
|
||||
<field name="categ_id" ref="categ_job1"/>
|
||||
<field name="stage_id" ref="stage_job1"/>
|
||||
<field eval="'Salesman'" name="name"/>
|
||||
<field eval="'1236547890'" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="hr_case_traineemca0" model="hr.applicant">
|
||||
<field model="res.partner.canal" name="canal_id" search="[('name','=','E-mail')]"/>
|
||||
<field name="partner_address_id" ref="base.res_partner_address_14"/>
|
||||
<field name="som" ref="base.som_fury"/>
|
||||
<field eval="time.strftime('%Y-%m-10 18:15:00')" name="date"/>
|
||||
<field name="type_id" ref="hr_hr.type_job3"/>
|
||||
<field name="type_id" ref="type_job3"/>
|
||||
<field name="partner_id" ref="base.res_partner_15"/>
|
||||
<field eval=""3"" name="priority"/>
|
||||
<field eval="'3'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""Marie Justine"" name="partner_name"/>
|
||||
<field eval=""open"" name="state"/>
|
||||
<field eval="'Marie Justine'" name="partner_name"/>
|
||||
<field eval="'open'" name="state"/>
|
||||
<field eval="5.15" name="duration"/>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field eval=""marie@gmail.com"" name="partner_name2"/>
|
||||
<field eval=""9988774455"" name="partner_mobile"/>
|
||||
<field eval="'marie@gmail.com'" name="partner_name2"/>
|
||||
<field eval="'9988774455'" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="hr_hr.categ_job2"/>
|
||||
<field name="stage_id" ref="hr_hr.stage_job4"/>
|
||||
<field eval=""Trainee - MCA"" name="name"/>
|
||||
<field name="categ_id" ref="categ_job2"/>
|
||||
<field name="stage_id" ref="stage_job4"/>
|
||||
<field eval="'Trainee - MCA'" name="name"/>
|
||||
<field eval="time.strftime('%Y-%m-15')" name="date_deadline"/>
|
||||
<field eval=""6633225"" name="partner_phone"/>
|
||||
<field eval="'6633225'" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="hr_case_fresher0" model="hr.applicant">
|
||||
<field model="res.partner.canal" name="canal_id" search="[('name','=','direct')]"/>
|
||||
<field name="som" ref="base.som_happy"/>
|
||||
<field eval="time.strftime('%Y-%m-15 16:10:00')" name="date"/>
|
||||
<field eval="time.strftime('%Y-%m-18')" name="date_deadline"/>
|
||||
<field name="type_id" ref="hr_hr.type_job2"/>
|
||||
<field name="type_id" ref="type_job2"/>
|
||||
<field name="partner_id" ref="base.res_partner_5"/>
|
||||
<field eval=""1"" name="priority"/>
|
||||
<field eval="'1'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="1.45" name="duration"/>
|
||||
<field eval=""Jose"" name="partner_name"/>
|
||||
<field eval=""pending"" name="state"/>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field eval=""jose@timesgroup.com"" name="partner_name2"/>
|
||||
<field eval="'Jose'" name="partner_name"/>
|
||||
<field eval="'pending'" name="state"/>
|
||||
<field eval="'jose@timesgroup.com'" name="partner_name2"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="hr_hr.categ_job1"/>
|
||||
<field name="stage_id" ref="hr_hr.stage_job3"/>
|
||||
<field eval=""Fresher"" name="name"/>
|
||||
<field eval=""999666735"" name="partner_phone"/>
|
||||
<field name="categ_id" ref="categ_job1"/>
|
||||
<field name="stage_id" ref="stage_job3"/>
|
||||
<field eval="'Fresher'" name="name"/>
|
||||
<field eval="'999666735'" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="hr_case_yrsexperienceinphp0" model="hr.applicant">
|
||||
<field eval="time.strftime('%Y-%m-25 16:25:52')" name="date"/>
|
||||
<field eval="time.strftime('%Y-%m-28')" name="date_deadline"/>
|
||||
<field name="categ_id" ref="hr_hr.categ_job2"/>
|
||||
<field name="type_id" ref="hr_hr.type_job3"/>
|
||||
<field name="categ_id" ref="categ_job2"/>
|
||||
<field name="type_id" ref="type_job3"/>
|
||||
<field name="partner_id" ref="base.res_partner_10"/>
|
||||
<field eval=""3"" name="priority"/>
|
||||
<field eval="'3'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval="1.35" name="duration"/>
|
||||
<field eval=""Sandra Elvis"" name="partner_name"/>
|
||||
<field eval=""sandra@example.com"" name="partner_name2"/>
|
||||
<field eval=""cancel"" name="state"/>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field eval="'Sandra Elvis'" name="partner_name"/>
|
||||
<field eval="'sandra@example.com'" name="partner_name2"/>
|
||||
<field eval="'cancel'" name="state"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="stage_id" ref="hr_hr.stage_job6"/>
|
||||
<field eval=""More than 5 yrs Experience in PHP"" name="name"/>
|
||||
<field name="stage_id" ref="stage_job6"/>
|
||||
<field eval="'More than 5 yrs Experience in PHP'" name="name"/>
|
||||
</record>
|
||||
<record id="hr_case_marketingjob0" model="hr.applicant">
|
||||
<field eval="time.strftime('%Y-%m-26 17:15:32')" name="date"/>
|
||||
<field eval="time.strftime('%Y-%m-28')" name="date_deadline"/>
|
||||
<field name="type_id" ref="hr_hr.type_job2"/>
|
||||
<field name="type_id" ref="type_job2"/>
|
||||
<field name="partner_id" ref="base.res_partner_11"/>
|
||||
<field eval=""4"" name="priority"/>
|
||||
<field eval="'4'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field eval="2.0" name="duration"/>
|
||||
<field eval=""John Bruno"" name="partner_name"/>
|
||||
<field eval=""done"" name="state"/>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field eval=""john@market.edu"" name="partner_name2"/>
|
||||
<field eval=""9966332214"" name="partner_mobile"/>
|
||||
<field eval="'John Bruno'" name="partner_name"/>
|
||||
<field eval="'done'" name="state"/>
|
||||
<field eval="'john@market.edu'" name="partner_name2"/>
|
||||
<field eval="'9966332214'" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="hr_hr.categ_job1"/>
|
||||
<field name="stage_id" ref="hr_hr.stage_job5"/>
|
||||
<field eval=""Marketing Job"" name="name"/>
|
||||
<field eval=""33968745"" name="partner_phone"/>
|
||||
<field name="categ_id" ref="categ_job1"/>
|
||||
<field name="stage_id" ref="stage_job5"/>
|
||||
<field eval="'Marketing Job'" name="name"/>
|
||||
<field eval="'33968745'" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="hr_case_financejob0" model="hr.applicant">
|
||||
<field eval="time.strftime('%Y-%m-26 17:39:42')" name="date"/>
|
||||
<field eval="time.strftime('%Y-%m-28')" name="date_deadline"/>
|
||||
<field name="type_id" ref="hr_hr.type_job2"/>
|
||||
<field name="type_id" ref="type_job2"/>
|
||||
<field name="partner_id" ref="base.res_partner_11"/>
|
||||
<field eval=""4"" name="priority"/>
|
||||
<field eval="'4'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""David Armstrong"" name="partner_name"/>
|
||||
<field eval=""done"" name="state"/>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field eval=""david@market.edu"" name="partner_name2"/>
|
||||
<field eval=""9966332214"" name="partner_mobile"/>
|
||||
<field eval="'David Armstrong'" name="partner_name"/>
|
||||
<field eval="'done'" name="state"/>
|
||||
<field eval="'david@market.edu'" name="partner_name2"/>
|
||||
<field eval="'9966332214'" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field eval="2.20" name="duration"/>
|
||||
<field name="categ_id" ref="hr_hr.categ_job1"/>
|
||||
<field name="stage_id" ref="hr_hr.stage_job5"/>
|
||||
<field eval=""Finance Job"" name="name"/>
|
||||
<field eval=""33968745"" name="partner_phone"/>
|
||||
<field name="categ_id" ref="categ_job1"/>
|
||||
<field name="stage_id" ref="stage_job5"/>
|
||||
<field eval="'Finance Job'" name="name"/>
|
||||
<field eval="'33968745'" name="partner_phone"/>
|
||||
</record>
|
||||
<record id="hr_case_traineemca1" model="hr.applicant">
|
||||
<field model="res.partner.canal" name="canal_id" search="[('name','=','E-mail')]"/>
|
||||
<field name="partner_address_id" ref="base.res_partner_address_14"/>
|
||||
<field name="som" ref="base.som_fury"/>
|
||||
<field eval="time.strftime('%Y-%m-12 17:49:19')" name="date"/>
|
||||
<field name="type_id" ref="hr_hr.type_job3"/>
|
||||
<field name="type_id" ref="type_job3"/>
|
||||
<field name="partner_id" ref="base.res_partner_15"/>
|
||||
<field eval=""3"" name="priority"/>
|
||||
<field eval="'3'" name="priority"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""Tina Augustie"" name="partner_name"/>
|
||||
<field eval=""open"" name="state"/>
|
||||
<field eval="'Tina Augustie'" name="partner_name"/>
|
||||
<field eval="'open'" name="state"/>
|
||||
<field eval="1.15" name="duration"/>
|
||||
<field name="section_id" ref="hr.section_sales_department"/>
|
||||
<field eval=""tina_augustie@example.com"" name="partner_name2"/>
|
||||
<field eval=""9898745745"" name="partner_mobile"/>
|
||||
<field eval="'tina_augustie@example.com'" name="partner_name2"/>
|
||||
<field eval="'9898745745'" name="partner_mobile"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="categ_id" ref="hr_hr.categ_job2"/>
|
||||
<field name="stage_id" ref="hr_hr.stage_job4"/>
|
||||
<field eval=""Trainee - MCA"" name="name"/>
|
||||
<field name="categ_id" ref="categ_job2"/>
|
||||
<field name="stage_id" ref="stage_job4"/>
|
||||
<field eval="'Trainee - MCA'" name="name"/>
|
||||
<field eval="time.strftime('%Y-%m-15')" name="date_deadline"/>
|
||||
<field eval=""6630125"" name="partner_phone"/>
|
||||
<field eval="'6630125'" name="partner_phone"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
|
|
@ -4,45 +4,45 @@
|
|||
<menuitem icon="terp-hr" id="base.menu_hr" name="Human Resources"/>
|
||||
|
||||
######################## JOB OPPORTUNITIES (menu) ###########################
|
||||
<record model="ir.actions.act_window" id="hr_case_categ0_act_job">
|
||||
<record model="ir.actions.act_window" id="crm_case_categ0_act_job">
|
||||
<field name="name">Applicants</field>
|
||||
<field name="res_model">hr.applicant</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="view_id" ref="hr_case_tree_view_job"/>
|
||||
<field name="search_view_id" ref="view_hr_case_jobs_filter"/>
|
||||
<field name="view_id" ref="crm_case_tree_view_job"/>
|
||||
<field name="search_view_id" ref="view_crm_case_jobs_filter"/>
|
||||
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="action_hr_sec_tree_view_act_job">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="hr_case_tree_view_job"/>
|
||||
<field name="act_window_id" ref="hr_case_categ0_act_job"/>
|
||||
<field name="view_id" ref="crm_case_tree_view_job"/>
|
||||
<field name="act_window_id" ref="crm_case_categ0_act_job"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="action_hr_sec_form_view_act_job">
|
||||
<field name="sequence" eval="3"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="hr_case_form_view_job"/>
|
||||
<field name="act_window_id" ref="hr_case_categ0_act_job"/>
|
||||
<field name="view_id" ref="crm_case_form_view_job"/>
|
||||
<field name="act_window_id" ref="crm_case_categ0_act_job"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="action_hr_sec_graph_view_act_job">
|
||||
<field name="sequence" eval="4"/>
|
||||
<field name="view_mode">graph</field>
|
||||
<field name="view_id" ref="hr_case_graph_view_job"/>
|
||||
<field name="act_window_id" ref="hr_case_categ0_act_job"/>
|
||||
<field name="view_id" ref="crm_case_graph_view_job"/>
|
||||
<field name="act_window_id" ref="crm_case_categ0_act_job"/>
|
||||
</record>
|
||||
<!--<menuitem
|
||||
name="Jobs - Hiring Process"
|
||||
id="menu_hr_case_job_req_main"
|
||||
id="menu_crm_case_job_req_main"
|
||||
parent="base.menu_hr"/>-->
|
||||
<menuitem
|
||||
name="Recruitment"
|
||||
id="base.menu_hr_case_job_req_main"
|
||||
id="base.menu_crm_case_job_req_main"
|
||||
parent="base.menu_hr"/>
|
||||
|
||||
<!--
|
||||
ALL JOBS REQUESTS
|
||||
-->
|
||||
<menuitem name="Applicants" parent="base.menu_hr_case_job_req_main" id="menu_hr_case_categ0_act_job" action="hr_case_categ0_act_job" sequence="1"/>
|
||||
<menuitem name="Applicants" parent="base.menu_crm_case_job_req_main" id="menu_crm_case_categ0_act_job" action="crm_case_categ0_act_job" sequence="1"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -8,9 +8,9 @@
|
|||
|
||||
<record id="hr_job_categ_action" model="ir.actions.act_window">
|
||||
<field name="name">Applicant Categories</field>
|
||||
<field name="res_model">hr.case.categ</field>
|
||||
<field name="res_model">crm.case.categ</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="hr.hr_case_categ_tree-view"/>
|
||||
<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>
|
||||
|
@ -19,19 +19,19 @@
|
|||
# ------------------------------------------------------
|
||||
<record id="hr_job_stage_act" model="ir.actions.act_window">
|
||||
<field name="name">Applicant Stages</field>
|
||||
<field name="res_model">hr.case.stage</field>
|
||||
<field name="res_model">crm.case.stage</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="hr.hr_case_stage_tree"/>
|
||||
<field name="view_id" ref="crm.crm_case_stage_tree"/>
|
||||
<field name="domain">[('object_id.model', '=', 'hr.applicant')]</field>
|
||||
<field name="context">{'object_id':'hr.applicant'}</field>
|
||||
</record>
|
||||
<menuitem action="hr_job_stage_act" id="menu_hr_job_stage_act" parent="hr.menu_hr_case_stage"/>
|
||||
<menuitem action="hr_job_stage_act" id="menu_hr_job_stage_act" parent="crm.menu_crm_case_stage"/>
|
||||
|
||||
# ------------------------------------------------------
|
||||
# Jobs
|
||||
# ------------------------------------------------------
|
||||
|
||||
<record model="ir.ui.view" id="hr_case_tree_view_job">
|
||||
<record model="ir.ui.view" id="crm_case_tree_view_job">
|
||||
<field name="name">Applicants</field>
|
||||
<field name="model">hr.applicant</field>
|
||||
<field name="type">tree</field>
|
||||
|
@ -60,7 +60,7 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="hr_case_form_view_job">
|
||||
<record model="ir.ui.view" id="crm_case_form_view_job">
|
||||
<field name="name">Jobs - Recruitment Form</field>
|
||||
<field name="model">hr.applicant</field>
|
||||
<field name="type">form</field>
|
||||
|
@ -146,12 +146,12 @@
|
|||
<field name="email"/>
|
||||
<button
|
||||
string="Add a CC"
|
||||
name="%(hr.action_view_hr_email_add_cc_wizard)d"
|
||||
name="%(crm.action_view_crm_email_add_cc_wizard)d"
|
||||
icon="gtk-add" type="action"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="description" colspan="4" nolabel="1"/>
|
||||
<button colspan="4" string="Reply to Last Email" name="%(hr.wizard_hr_send_mail)d" context="{'mail':'reply'}" icon="gtk-undo" type="action"/>
|
||||
<button colspan="4" string="Reply to Last Email" name="%(crm.wizard_crm_send_mail)d" context="{'mail':'reply'}" icon="gtk-undo" type="action"/>
|
||||
</form>
|
||||
<tree string="Communication history">
|
||||
<field name="description"/>
|
||||
|
@ -159,7 +159,7 @@
|
|||
<field name="date"/>
|
||||
</tree>
|
||||
</field>
|
||||
<button colspan="4" string="Send New Email" name="%(hr.wizard_hr_new_send_mail)d" context="{'mail':'new'}" icon="gtk-go-forward" type="action"/>
|
||||
<button colspan="4" string="Send New Email" name="%(crm.wizard_crm_new_send_mail)d" context="{'mail':'new'}" icon="gtk-go-forward" type="action"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
|
@ -167,7 +167,7 @@
|
|||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="hr_case_graph_view_job">
|
||||
<record model="ir.ui.view" id="crm_case_graph_view_job">
|
||||
<field name="name">Jobs - Recruitment Graph</field>
|
||||
<field name="model">hr.applicant</field>
|
||||
<field name="type">graph</field>
|
||||
|
@ -180,7 +180,7 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_hr_case_jobs_filter" model="ir.ui.view">
|
||||
<record id="view_crm_case_jobs_filter" model="ir.ui.view">
|
||||
<field name="name">Jobs - Recruitment Search</field>
|
||||
<field name="model">hr.applicant</field>
|
||||
<field name="type">search</field>
|
||||
|
|
|
@ -1,127 +1,3 @@
|
|||
from osv import fields,osv
|
||||
import tools
|
||||
|
||||
class report_hr_applicant_user(osv.osv):
|
||||
_name = "report.hr.applicant.user"
|
||||
_description = "Applicant by user and section"
|
||||
_auto = False
|
||||
_inherit = "report.hr.case.user"
|
||||
_columns = {
|
||||
'availability': fields.float('Avg. Availability', readonly=True),
|
||||
'amount_revenue': fields.float('Est.Revenue', readonly=True),
|
||||
'amount_costs': fields.float('Est.Cost', readonly=True),
|
||||
'delay_close': fields.char('Delay to close', size=20, readonly=True),
|
||||
}
|
||||
def init(self, cr):
|
||||
tools.drop_view_if_exists(cr, 'report_hr_applicant_user')
|
||||
cr.execute("""
|
||||
create or replace view report_hr_applicant_user as (
|
||||
select
|
||||
min(c.id) as id,
|
||||
to_char(c.create_date, 'YYYY') as name,
|
||||
to_char(c.create_date, 'MM') as month,
|
||||
c.state,
|
||||
c.user_id,
|
||||
c.section_id,
|
||||
count(*) as nbr,
|
||||
sum(planned_revenue) as amount_revenue,
|
||||
sum(planned_cost) as amount_costs,
|
||||
avg(availability)::decimal(16,2) as availability,
|
||||
to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
|
||||
from
|
||||
hr_applicant c
|
||||
group by to_char(c.create_date, 'YYYY'), to_char(c.create_date, 'MM'), c.state, c.user_id,c.section_id
|
||||
)""")
|
||||
report_hr_applicant_user()
|
||||
|
||||
class report_hr_applicant_categ(osv.osv):
|
||||
_name = "report.hr.applicant.categ"
|
||||
_description = "Applicants by section and category"
|
||||
_auto = False
|
||||
_inherit = "report.hr.case.categ"
|
||||
_columns = {
|
||||
'categ_id': fields.many2one('hr.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'hr.applicant')]"),
|
||||
'amount_revenue': fields.float('Est.Revenue', readonly=True),
|
||||
'amount_costs': fields.float('Est.Cost', readonly=True),
|
||||
'availability': fields.float('Avg. availability', readonly=True),
|
||||
'delay_close': fields.char('Delay Close', size=20, readonly=True),
|
||||
}
|
||||
|
||||
def init(self, cr):
|
||||
tools.drop_view_if_exists(cr, 'report_hr_applicant_categ')
|
||||
cr.execute("""
|
||||
create or replace view report_hr_applicant_categ as (
|
||||
select
|
||||
min(c.id) as id,
|
||||
to_char(c.create_date, 'YYYY') as name,
|
||||
to_char(c.create_date, 'MM') as month,
|
||||
c.categ_id,
|
||||
c.state,
|
||||
c.section_id,
|
||||
count(*) as nbr,
|
||||
sum(planned_revenue) as amount_revenue,
|
||||
sum(planned_cost) as amount_costs,
|
||||
avg(availability)::decimal(16,2) as availability,
|
||||
to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
|
||||
from
|
||||
hr_applicant c
|
||||
group by c.categ_id,to_char(c.create_date, 'YYYY'), to_char(c.create_date, 'MM'), c.state,c.section_id
|
||||
)""")
|
||||
report_hr_applicant_categ()
|
||||
|
||||
class report_hr_applicant_section(osv.osv):
|
||||
_name = "report.hr.applicant.section"
|
||||
_description = "Applicant by Section"
|
||||
_auto = False
|
||||
_inherit = "report.hr.case.section"
|
||||
|
||||
def _get_data(self, cr, uid, ids, field_name, arg, context={}):
|
||||
res = {}
|
||||
state_perc = 0.0
|
||||
avg_ans = 0.0
|
||||
|
||||
for case in self.browse(cr, uid, ids, context):
|
||||
if field_name != 'avg_answers':
|
||||
state = field_name[5:]
|
||||
cr.execute("select count(*) from hr_applicant where section_id =%s and state='%s'"%(case.section_id.id,state))
|
||||
state_cases = cr.fetchone()[0]
|
||||
perc_state = (state_cases / float(case.nbr_cases) ) * 100
|
||||
|
||||
res[case.id] = perc_state
|
||||
else:
|
||||
cr.execute('select count(*) from hr_case_log l where l.section_id=%s'%(case.section_id.id))
|
||||
logs = cr.fetchone()[0]
|
||||
|
||||
avg_ans = logs / case.nbr_cases
|
||||
res[case.id] = avg_ans
|
||||
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
'avg_answers': fields.function(_get_data,string='Avg. Answers', method=True,type="integer"),
|
||||
'perc_done': fields.function(_get_data,string='%Done', method=True,type="float"),
|
||||
'perc_cancel': fields.function(_get_data,string='%Cancel', method=True,type="float"),
|
||||
'delay_close': fields.char('Delay to close', size=20, readonly=True),
|
||||
}
|
||||
_order = 'name desc, section_id'
|
||||
def init(self, cr):
|
||||
tools.drop_view_if_exists(cr, 'report_hr_applicant_section')
|
||||
cr.execute("""
|
||||
create or replace view report_hr_applicant_section as (
|
||||
select
|
||||
min(c.id) as id,
|
||||
to_char(c.create_date, 'YYYY') as name,
|
||||
to_char(c.create_date, 'MM') as month,
|
||||
count(*) as nbr_cases,
|
||||
c.section_id as section_id,
|
||||
0 as avg_answers,
|
||||
0.0 as perc_done,
|
||||
0.0 as perc_cancel,
|
||||
to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
|
||||
from
|
||||
hr_applicant c
|
||||
group by to_char(c.create_date, 'YYYY'),to_char(c.create_date, 'MM'),c.section_id
|
||||
)""")
|
||||
report_hr_applicant_section()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -1,193 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<!--
|
||||
jobs by user and section
|
||||
-->
|
||||
|
||||
<record id="view_hr_job_user_tree" model="ir.ui.view">
|
||||
<field name="name">report.hr.applicant.user.tree</field>
|
||||
<field name="model">report.hr.applicant.user</field>
|
||||
<field name="inherit_id" ref="report_hr.view_hr_case_user_tree"/>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="nbr" position="after">
|
||||
<field name="delay_close"/>
|
||||
<field name="amount_revenue"/>
|
||||
<field name="amount_costs"/>
|
||||
<field name="availability"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_hr_job_user_form" model="ir.ui.view">
|
||||
<field name="name">report.hr.applicant.user.form</field>
|
||||
<field name="model">report.hr.applicant.user</field>
|
||||
<field name="inherit_id" ref="report_hr.view_hr_case_user_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="nbr" position="after">
|
||||
<field name="delay_close"/>
|
||||
<field name="amount_revenue"/>
|
||||
<field name="amount_costs"/>
|
||||
<field name="availability"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_hr_job_user_graph" model="ir.ui.view">
|
||||
<field name="name">report.hr.applicant.user.graph</field>
|
||||
<field name="model">report.hr.applicant.user</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph orientation="horizontal" string="jobs by User and Section" type="bar">
|
||||
<field name="state"/>
|
||||
<field name="nbr" operator="+"/>
|
||||
<field group="True" name="user_id"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_hr_job_user_filter" model="ir.ui.view">
|
||||
<field name="name">report.hr.applicant.user.select</field>
|
||||
<field name="model">report.hr.applicant.user</field>
|
||||
<field name="inherit_id" ref="report_hr.view_hr_case_user_filter"/>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="state" position="before">
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_report_hr_job_user_tree" model="ir.actions.act_window">
|
||||
<field name="name">Applicant by User and Section</field>
|
||||
<field name="res_model">report.hr.applicant.user</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="view_id" ref="view_hr_job_user_graph"/>
|
||||
<field name="search_view_id" ref="view_hr_job_user_filter"/>
|
||||
</record>
|
||||
<menuitem
|
||||
id="hr.menu_hr_reporting"
|
||||
name="Reporting"
|
||||
parent="hr.menu_hr_root"
|
||||
sequence="40" />
|
||||
<menuitem name="Applicant" id="menu_hr_jobs_tree" parent="hr.menu_hr_reporting" sequence="4"/>
|
||||
<menuitem action="action_report_hr_job_user_tree" id="menu_hr_job_user_tree" parent="menu_hr_jobs_tree"/>
|
||||
|
||||
<!-- # jobs by section and category of case -->
|
||||
|
||||
<record id="view_hr_job_categ_tree" model="ir.ui.view">
|
||||
<field name="name">report.hr.applicant.categ.tree</field>
|
||||
<field name="model">report.hr.applicant.categ</field>
|
||||
<field name="inherit_id" ref="report_hr.view_hr_case_categ_tree"/>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="nbr" position="after">
|
||||
<field name="delay_close"/>
|
||||
<field name="amount_revenue"/>
|
||||
<field name="amount_costs"/>
|
||||
<field name="availability"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_hr_job_categ_form" model="ir.ui.view">
|
||||
<field name="name">report.hr.applicant.categ.form</field>
|
||||
<field name="model">report.hr.applicant.categ</field>
|
||||
<field name="inherit_id" ref="report_hr.view_hr_case_categ_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="nbr" position="after">
|
||||
<field name="delay_close"/>
|
||||
<field name="amount_revenue"/>
|
||||
<field name="amount_costs"/>
|
||||
<field name="availability"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_hr_job_categ_graph" model="ir.ui.view">
|
||||
<field name="name">report.hr.applicant.categ.graph</field>
|
||||
<field name="model">report.hr.applicant.categ</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph orientation="horizontal" string="jobs by Section and Categories" type="bar">
|
||||
<field name="state"/>
|
||||
<field name="nbr" operator="+"/>
|
||||
<field group="True" name="categ_id"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_hr_job_categ_filter" model="ir.ui.view">
|
||||
<field name="name">report.hr.applicant.categ.select</field>
|
||||
<field name="model">report.hr.applicant.categ</field>
|
||||
<field name="inherit_id" ref="report_hr.view_hr_case_categ_filter"/>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="state" position="before">
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_report_hr_job_categ_tree" model="ir.actions.act_window">
|
||||
<field name="name">Applicant by Categories and Section</field>
|
||||
<field name="res_model">report.hr.applicant.categ</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="view_id" ref="view_hr_job_categ_graph"/>
|
||||
<field name="search_view_id" ref="view_hr_job_categ_filter"/>
|
||||
</record>
|
||||
<menuitem action="action_report_hr_job_categ_tree" id="menu_hr_job_categ_tree" parent="menu_hr_jobs_tree"/>
|
||||
|
||||
<!-- jobs by Section -->
|
||||
|
||||
<record id="view_report_hr_job_section_tree" model="ir.ui.view">
|
||||
<field name="name">report.hr.applicant.section.tree</field>
|
||||
<field name="model">report.hr.applicant.section</field>
|
||||
<field name="inherit_id" ref="report_hr.view_report_hr_case_section_tree"/>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="nbr_cases" position="after">
|
||||
<field name="avg_answers"/>
|
||||
<field name="perc_done" select="2"/>
|
||||
<field name="perc_cancel" select="2"/>
|
||||
<field name="delay_close"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_report_hr_job_section_graph" model="ir.ui.view">
|
||||
<field name="name">report.hr.applicant.section.graph</field>
|
||||
<field name="model">report.hr.applicant.section</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph orientation="horizontal" string="jobs by Section" type="bar">
|
||||
<field name="name"/>
|
||||
<field name="nbr_cases" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_report_hr_job_section_filter" model="ir.ui.view">
|
||||
<field name="name">report.hr.applicant.section.select</field>
|
||||
<field name="model">report.hr.applicant.section</field>
|
||||
<field name="inherit_id" ref="report_hr.view_report_hr_case_section_filter"/>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="nbr_cases" position="before">
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_report_hr_job_section_tree" model="ir.actions.act_window">
|
||||
<field name="name">Applicant by Section</field>
|
||||
<field name="res_model">report.hr.applicant.section</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="view_id" ref="view_report_hr_job_section_graph"/>
|
||||
<field name="search_view_id" ref="view_report_hr_job_section_filter"/>
|
||||
</record>
|
||||
<menuitem action="action_report_hr_job_section_tree" id="menu_hr_job_section_tree" parent="menu_hr_jobs_tree"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -1,5 +1,2 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_hr_applicant","hr.applicant","model_hr_applicant","hr.group_hr_manager",1,1,1,1
|
||||
"access_report_hr_applicant_user","report.hr.applicant.user","model_report_hr_applicant_user","hr.group_hr_manager",1,0,0,0
|
||||
"access_report_hr_applicant_categ","report.hr.applicant.categ","model_report_hr_applicant_categ","hr.group_hr_manager",1,0,0,0
|
||||
"access_repor_hr_applicant_section","report.hr.applicant.section","model_report_hr_applicant_section","hr.group_hr_manager",1,0,0,0
|
||||
|
|
|
|
@ -48,14 +48,14 @@ class job2phonecall(wizard.interface):
|
|||
'user_id' : {'string' : 'Assign To', 'type' : 'many2one', 'relation' : 'res.users'},
|
||||
'deadline' : {'string' : 'Planned Date', 'type' : 'datetime'},
|
||||
'note' : {'string' : 'Goals', 'type' : 'text'},
|
||||
'category_id' : {'string' : 'Category', 'type' : 'many2one', 'relation' : 'hr.case.categ', 'required' : True},
|
||||
'category_id' : {'string' : 'Category', 'type' : 'many2one', 'relation' : 'crm.case.categ', 'required' : True},
|
||||
'section_id' : {'string' : 'Section', 'type' : 'many2one', 'relation' : 'hr.case.section'},
|
||||
|
||||
}
|
||||
def _default_values(self, cr, uid, data, context):
|
||||
|
||||
case_obj = pooler.get_pool(cr.dbname).get('hr.applicant')
|
||||
categ_id=pooler.get_pool(cr.dbname).get('hr.case.categ').search(cr, uid, [('name','=','Outbound')])
|
||||
categ_id=pooler.get_pool(cr.dbname).get('crm.case.categ').search(cr, uid, [('name','=','Outbound')])
|
||||
case = case_obj.browse(cr, uid, data['id'])
|
||||
return {
|
||||
'user_id' : case.user_id and case.user_id.id,
|
||||
|
|
Loading…
Reference in New Issue