Skip to content
Extraits de code Groupes Projets
Valider b3b26cbf rédigé par Benjamin - Le Filament's avatar Benjamin - Le Filament
Parcourir les fichiers

[IMP] link between user input and training

parent 8235c6d7
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
from . import survey
from . import survey_user_input
from . import training
from . import training_program
from . import training_student
......@@ -20,7 +20,7 @@ class Survey(models.Model):
("aect", "AECT"),
("satisfaction", "Satisfaction"),
],
string="Type de questionnaire",
string="Type de questionnaire formation",
)
training_ids = fields.One2many(
comodel_name="training.training",
......
# Copyright 2019-2022 Le Filament (<https://le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class SurveyUserInput(models.Model):
_inherit = "survey.user_input"
student_id = fields.Many2one(
comodel_name="training.student",
string="Stagiaire",
)
# ------------------------------------------------------
# Inherit parent
# ------------------------------------------------------
# ------------------------------------------------------
# Override ORM
# ------------------------------------------------------
# ------------------------------------------------------
# Compute
# ------------------------------------------------------
# ------------------------------------------------------
# Buttons
# ------------------------------------------------------
......@@ -18,6 +18,11 @@ class Training(models.Model):
ondelete="restrict",
)
survey_ids = fields.One2many(
comodel_name="survey.survey",
compute="_compute_survey_ids",
)
# ------------------------------------------------------
# Override ORM
# ------------------------------------------------------
......@@ -25,6 +30,28 @@ class Training(models.Model):
# ------------------------------------------------------
# Compute
# ------------------------------------------------------
def _compute_survey_ids(self):
for training in self:
training.survey_ids = (
training.satisfaction_survey_id
+ training.program_id.aeci_survey_id
+ training.program_id.aect_survey_id
+ training.program_id.registration_survey_id
)
# ------------------------------------------------------
# Actions
# ------------------------------------------------------
def action_view_survey(self):
self.ensure_one()
return {
"name": f"Questionnaires {self.program_id.name}",
"type": "ir.actions.act_window",
"view_mode": "kanban,tree,form,activity",
"res_model": "survey.survey",
"domain": [("id", "in", self.survey_ids.ids)],
"context": {"create": 0, "delete": 0},
}
# ------------------------------------------------------
# Inherit parent
......
# Copyright 2024 Le Filament (<https://le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models
class TrainingStudent(models.Model):
_inherit = "training.student"
student_survey_ids = fields.One2many(
comodel_name="survey.user_input",
inverse_name="student_id",
string="Questionnaires",
)
# ------------------------------------------------------
# Compute
# ------------------------------------------------------
# ------------------------------------------------------
# Inherit parent
# ------------------------------------------------------
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2019-2022 Le Filament (<https://le-filament.com>)
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
<!-- Form View -->
<record id="training_training_form" model="ir.ui.view">
<field name="name">training.training.survey.form</field>
<field name="model">training.training</field>
<field name="inherit_id" ref="training.training_training_form" />
<field name="arch" type="xml">
<xpath expr="//div[@name='button_box']" position="inside">
<button
name="action_view_survey"
type="object"
icon="fa-question-circle-o"
class="oe_stat_button"
>
<span class="o_stat_text">Questionnaires</span>
</button>
</xpath>
<xpath expr="//notebook" position="inside">
<page string="Questionnaires" name="survey">
<group>
......@@ -22,4 +31,21 @@
</field>
</record>
<!-- Tree View -->
<record id="training_training_tree" model="ir.ui.view">
<field name="name">training.training.survey.tree</field>
<field name="model">training.training</field>
<field name="inherit_id" ref="training.training_training_tree" />
<field name="arch" type="xml">
<xpath expr="//field[@name='price_intra']" position="after">
<button
name="action_view_survey"
type="object"
string="Questionnaires"
class="border"
/>
</xpath>
</field>
</record>
</odoo>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter