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
from . import survey_user_input
from . import training from . import training
from . import training_program from . import training_program
from . import training_student
...@@ -20,7 +20,7 @@ class Survey(models.Model): ...@@ -20,7 +20,7 @@ class Survey(models.Model):
("aect", "AECT"), ("aect", "AECT"),
("satisfaction", "Satisfaction"), ("satisfaction", "Satisfaction"),
], ],
string="Type de questionnaire", string="Type de questionnaire formation",
) )
training_ids = fields.One2many( training_ids = fields.One2many(
comodel_name="training.training", 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): ...@@ -18,6 +18,11 @@ class Training(models.Model):
ondelete="restrict", ondelete="restrict",
) )
survey_ids = fields.One2many(
comodel_name="survey.survey",
compute="_compute_survey_ids",
)
# ------------------------------------------------------ # ------------------------------------------------------
# Override ORM # Override ORM
# ------------------------------------------------------ # ------------------------------------------------------
...@@ -25,6 +30,28 @@ class Training(models.Model): ...@@ -25,6 +30,28 @@ class Training(models.Model):
# ------------------------------------------------------ # ------------------------------------------------------
# Compute # 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 # 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" ?> <?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> <odoo>
<!-- Form View -->
<record id="training_training_form" model="ir.ui.view"> <record id="training_training_form" model="ir.ui.view">
<field name="name">training.training.survey.form</field> <field name="name">training.training.survey.form</field>
<field name="model">training.training</field> <field name="model">training.training</field>
<field name="inherit_id" ref="training.training_training_form" /> <field name="inherit_id" ref="training.training_training_form" />
<field name="arch" type="xml"> <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"> <xpath expr="//notebook" position="inside">
<page string="Questionnaires" name="survey"> <page string="Questionnaires" name="survey">
<group> <group>
...@@ -22,4 +31,21 @@ ...@@ -22,4 +31,21 @@
</field> </field>
</record> </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> </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