basic gn_career relational structure with missions and tasks
This commit is contained in:
parent
ee789ff122
commit
dcc055981b
@ -15,4 +15,4 @@ Module de gestion des fiches de postes et des évolutions de carrière
|
||||
|
||||
|
||||
## Issues
|
||||
- []
|
||||
- [] Add menuentries and views in Analyse section for missions and tasks (cf issue #)
|
||||
@ -13,6 +13,9 @@
|
||||
"gn_cc",
|
||||
],
|
||||
"data": [
|
||||
"views/gn_career.xml",
|
||||
"data/gn_career_menus.xml",
|
||||
"security/ir.model.access.csv",
|
||||
],
|
||||
"license": "LGPL-3",
|
||||
}
|
||||
30
gn_career/data/gn_career_menus.xml
Normal file
30
gn_career/data/gn_career_menus.xml
Normal file
@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<menuitem
|
||||
id="gn_career.careers_menu"
|
||||
name="Fiches de poste"
|
||||
parent="hr.menu_hr_employee_payroll"
|
||||
sequence="300"
|
||||
action="gn_career.careers_configuration"
|
||||
groups="hr.group_hr_manager"/>
|
||||
<menuitem
|
||||
id="gn_career.career_configuration_menu_group"
|
||||
name="Analyse du poste"
|
||||
parent="hr.menu_human_resources_configuration"
|
||||
sequence="300"
|
||||
groups="hr.group_hr_manager"/>
|
||||
<menuitem
|
||||
id="gn_career.missions_configuration_menu"
|
||||
name="Missions"
|
||||
parent="gn_career.career_configuration_menu_group"
|
||||
sequence="100"
|
||||
action="gn_career.missions_configuration"
|
||||
groups="hr.group_hr_manager"/>
|
||||
<menuitem
|
||||
id="gn_career.tasks_configuration_menu"
|
||||
name="Tâches"
|
||||
parent="gn_career.career_configuration_menu_group"
|
||||
sequence="200"
|
||||
action="gn_career.tasks_configuration"
|
||||
groups="hr.group_hr_manager"/>
|
||||
</odoo>
|
||||
26
gn_career/models/gn_career.py
Normal file
26
gn_career/models/gn_career.py
Normal file
@ -0,0 +1,26 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import fields, models, api
|
||||
import logging
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
class GnCareer(models.Model):
|
||||
_name = "gn_career.career"
|
||||
_description = "Analyse du poste"
|
||||
_order = 'start_date'
|
||||
|
||||
start_date = fields.Date('From', required=True, default=lambda self: fields.Date.today())
|
||||
contract_id = fields.Many2one('hr.contract', string="Contrat ou Avenant associé")
|
||||
|
||||
mission_ids = fields.Many2many('gn_career.mission', 'career_ids', string="Missions effectuées")
|
||||
mission_rel_ids = fields.One2many('gn_career.mission_career_rel', 'career_id', string="Mission Relations")
|
||||
|
||||
class GnCareerMissionCareerRel(models.Model):
|
||||
_name = 'gn_career.mission_career_rel'
|
||||
_description = "Répartition des missions au sein d'une analyse de poste"
|
||||
|
||||
mission_id = fields.Many2one('gn_career.mission', string="Mission")
|
||||
career_id = fields.Many2one('gn_career.career', string="Fiche de poste")
|
||||
percentage = fields.Float("Temps occupé par la mission en %")
|
||||
@ -6,6 +6,6 @@ from odoo import fields, models, api
|
||||
class GnCareerContract(models.Model):
|
||||
_inherit = "hr.contract"
|
||||
|
||||
career_ids = fields.One2many("gn_career.career", inverse_name='contract_id',
|
||||
string="Évolution du poste")
|
||||
career_ids = fields.One2many("gn_career.career", 'contract_id',
|
||||
string="Analyse du poste")
|
||||
|
||||
@ -18,5 +18,7 @@ class GnCareerMission(models.Model):
|
||||
|
||||
name = fields.Char("Nom de la mission")
|
||||
description = fields.Text("Description de la mission")
|
||||
task_ids = fields.Many2many('gn_career.task', string="Tâches incluses dans la mission")
|
||||
task_ids = fields.Many2many('gn_career.task', string="Tâches pouvant être incluses dans la mission")
|
||||
|
||||
career_ids = fields.Many2many('gn_career.career', 'mission_ids', string="Fiches de poste incluant cette mission")
|
||||
career_mission_ids = fields.One2many('gn_career.mission_career_rel', 'mission_id', string="Répartition des missions au sein du poste")
|
||||
9
gn_career/security/ir.model.access.csv
Normal file
9
gn_career/security/ir.model.access.csv
Normal file
@ -0,0 +1,9 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_gn_career_career_user,gn_career_career_user,model_gn_career_career,base.group_user,1,0,0,0
|
||||
access_gn_career_career_admin,gn_career_career_admin,model_gn_career_career,hr_contract.group_hr_contract_manager,1,1,1,1
|
||||
access_gn_career_mission_career_rel_user,gn_career_mission_career_rel_user,model_gn_career_mission_career_rel,base.group_user,1,0,0,0
|
||||
access_gn_career_mission_career_rel_admin,gn_career_mission_career_rel_admin,model_gn_career_mission_career_rel,hr_contract.group_hr_contract_manager,1,1,1,1
|
||||
access_gn_career_task_user,gn_career_task_user,model_gn_career_task,base.group_user,1,0,0,0
|
||||
access_gn_career_task_admin,gn_career_task_admin,model_gn_career_task,hr_contract.group_hr_contract_manager,1,1,1,1
|
||||
access_gn_career_mission_user,gn_career_mission_user,model_gn_career_mission,base.group_user,1,0,0,0
|
||||
access_gn_career_mission_admin,gn_career_mission_admin,model_gn_career_mission,hr_contract.group_hr_contract_manager,1,1,1,1
|
||||
|
18
gn_career/views/gn_career.xml
Normal file
18
gn_career/views/gn_career.xml
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="gn_career.missions_configuration" model="ir.actions.act_window">
|
||||
<field name="name">Missions</field>
|
||||
<field name="res_model">gn_career.mission</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<record id="gn_career.tasks_configuration" model="ir.actions.act_window">
|
||||
<field name="name">Tâches</field>
|
||||
<field name="res_model">gn_career.task</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<record id="gn_career.careers_configuration" model="ir.actions.act_window">
|
||||
<field name="name">Analyses de poste</field>
|
||||
<field name="res_model">gn_career.career</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@ -1,18 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import fields, models, api
|
||||
import logging
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
class ContractCareer(models.Model):
|
||||
_name = "gn_career.career"
|
||||
_description = "Analyse du poste"
|
||||
_order = 'start_date, employee_id'
|
||||
|
||||
start_date = fields.Date('From', required=True, default=lambda self: fields.Date.today())
|
||||
previous_contract_id = fields.Many2one('gn_career.hr.contract', 'career_id', string="Précédent Contrat ou Avenant corrigé par cette analyse")
|
||||
next_contract_id = fields.Many2one('gn_career.hr.contract', 'career_id')
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user