basic views

This commit is contained in:
Florian du Garage Num 2024-03-03 00:42:23 +01:00
parent dcc055981b
commit 1e8f55fe09
6 changed files with 43 additions and 5 deletions

View File

@ -11,8 +11,8 @@ Module de gestion des fiches de postes et des évolutions de carrière
## Changelog
- v16.0.0.0.1 (2024/03/02):
- Création du module
- Création du module
## Issues
- [] Add menuentries and views in Analyse section for missions and tasks (cf issue #)
- [] Add menuentries and views in Analyse section for missions and tasks (cf issue #12)

View File

@ -14,6 +14,7 @@
],
"data": [
"views/gn_career.xml",
"views/gn_contract.xml",
"data/gn_career_menus.xml",
"security/ir.model.access.csv",
],

View File

@ -14,7 +14,16 @@ class GnCareer(models.Model):
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")
status = fields.Selection([
('draft', 'Brouillon'),
('wait_manager_approval', "En attente de validation du manager"),
('wait_director_approval', "En attente de validation par la direction"),
('wait_employee_approval', "En attente de signature par le salarié"),
('ready', 'Prête'),
('active', 'Active'),
], string="Statut", default='draft')
mission_ids = fields.Many2many('gn_career.mission', string="Missions effectuées")
mission_rel_ids = fields.One2many('gn_career.mission_career_rel', 'career_id', string="Mission Relations")
class GnCareerMissionCareerRel(models.Model):

View File

@ -7,5 +7,11 @@ class GnCareerContract(models.Model):
_inherit = "hr.contract"
career_ids = fields.One2many("gn_career.career", 'contract_id',
string="Analyse du poste")
string="Analyses du poste")
active_career_id = fields.Many2one('gn_career.career', string="Fiche de poste en cours", compute='_compute_active_career', store=True)
@api.depends('career_ids')
def _compute_active_career(self):
for record in self:
active_careers = record.career_ids.filtered(lambda c: c.status == 'active').sorted(key=lambda c: c.start_date, reverse=True)
record.active_career_id = active_careers[:1].id if active_careers else False

View File

@ -20,5 +20,5 @@ class GnCareerMission(models.Model):
description = fields.Text("Description de 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_ids = fields.Many2many('gn_career.career', 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")

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="gn_career.hr_contract" model="ir.ui.view">
<field name="name">hr.contract.form.gncareer</field>
<field name="model">hr.contract</field>
<field name="priority" eval="30"/>
<field name="inherit_id" ref="hr_contract.hr_contract_view_form"/>
<field name="arch" type="xml">
<data>
<xpath expr="//page[@name='information']" position="after">
<page string="Fiche de poste" name='career'>
<group name="missions">
<field name="active_career_id" widget='many2one' options="{'no_open': True, 'no_create': True}" domain="[('id','=',active_career_id)]"/>
<!-- Assuming mission_ids is a field in gn_career.career, display related missions -->
<!--<field name="active_career_id" string="Missions" widget="many2many_tags" options="{'no_create': True}" domain="[('id', 'in', active_career_id.mission_ids)]"/>-->
</group>
</page>
</xpath>
</data>
</field>
</record>
</odoo>