[ADD] hr : new object added as crm.job, changes and modification related to new object

bzr revid: vir@tinyerp.com-20100218101312-8a632c996z8ij7yu
This commit is contained in:
Vir (Open ERP) 2010-02-18 15:43:12 +05:30
parent d65012d6ae
commit e6b2e4694e
3 changed files with 103 additions and 3 deletions

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
#
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
@ -15,13 +15,13 @@
# 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/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import hr_department
import hr
import installer
import hr_department
import report
import wizard

View File

@ -61,6 +61,33 @@ class hr_employee_marital_status(osv.osv):
}
hr_employee_marital_status()
class crm_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] = str(len(emp.employee_ids))
return res
_name = "crm.job"
_description = "Job Information"
_columns = {
'name': fields.char('Name', size=128, required=True, select=True),
'ref': fields.char('Code', size=64),
'expected_employees':fields.integer('Expected Employees'),
'no_of_employee': fields.function(_no_of_employee, method=True, string='No of Employee', type='char'),
'employee_ids':fields.one2many('hr.employee', 'job_id','Employees'),
'description': fields.text('Job Description'),
'requirements':fields.text('Requirements'),
'department_id':fields.many2one('hr.department','Department')
}
_defaults = {
'expected_employees': lambda *a: 1,
}
crm_job()
class hr_employee(osv.osv):
_name = "hr.employee"
_description = "Employee"
@ -86,6 +113,8 @@ class hr_employee(osv.osv):
'child_ids': fields.one2many('hr.employee', 'parent_id','Subordinates'),
'resource_id': fields.many2one('resource.resource','Resource',ondelete='cascade'),
'coach_id':fields.many2one('res.users','Coach'),
'job_id':fields.many2one('crm.job', 'Job'),
}
_defaults = {
'active' : lambda *a: True,
@ -106,4 +135,6 @@ class hr_employee(osv.osv):
]
hr_employee()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -66,6 +66,7 @@
<field name="parent_id" select="1" colspan="4"/>
<field name="coach_id" select="1" colspan="4"/>
<field name="category_id" colspan="4" widget="selection"/>
<field name="job_id" select="1" colspan="4"/>
</group>
</page>
<page string="Notes">
@ -295,5 +296,73 @@
<menuitem action="open_view_categ_tree" id="menu_view_employee_category_tree" parent="hr.menu_view_employee_category_form"/>
<record id="view_crm_job_form" model="ir.ui.view">
<field name="name">crm.job.form</field>
<field name="model">crm.job</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Job">
<field name="name" select="1"/>
<field name="ref"/>
<field name="department_id" select="1"/>
<newline/>
<notebook colspan="4">
<page string="Employee">
<field name="employee_ids" colspan='4' nolabel="1" mode="tree,form"/>
<field name="expected_employees"/>
<field name="no_of_employee"/>
</page>
<page string="Description">
<field name="description" colspan='4'/>
<field name="description"/>
</page>
</notebook>
</form>
</field>
</record>
<record id="view_crm_job_tree" model="ir.ui.view">
<field name="name">crm.job.tree</field>
<field name="model">crm.job</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Job">
<field name="name" select="1"/>
<field name="ref"/>
<field name="expected_employees"/>
<field name="department_id" />
<field name="no_of_employee"/>
</tree>
</field>
</record>
<record id="view_job_filter" model="ir.ui.view">
<field name="name">Job</field>
<field name="model">crm.job</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Job">
<group col='5' colspan='4'>
<field name="name"/>
<field name="department_id" widget="selection"/>
</group>
</search>
</field>
</record>
<record model="ir.actions.act_window" id="action_crm_job">
<field name="name">Job</field>
<field name="res_model">crm.job</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_crm_job_tree"/>
<field name="search_view_id" ref="view_job_filter"/>
</record>
<menuitem icon="terp-hr" id="base.menu_hr" name="Human Resources"/>
<menuitem
name="Recruitment"
id="base.menu_crm_case_job_req_main"
parent="base.menu_hr"/>
<menuitem name="Job" parent="base.menu_crm_case_job_req_main" id="menu_crm_job" action="action_crm_job" sequence="2"/>
</data>
</openerp>