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

[UPD] email management

parent a1c60a1c
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
</ul> </ul>
</t> </t>
<br /> <br />
je t’adresse le lien vers le formulaire d'autoévaluation des compétences terminales que tu voudras bien renseigner : je t’adresse les liens vers deux formulaires en ligne que tu voudras bien renseigner :
<br /> <br />
<a class="btn btn-info" t-att-href="env.context.get('survey_user_input').get_start_url()">Autoévaluation des compétences terminales</a> <a class="btn btn-info" t-att-href="env.context.get('survey_user_input').get_start_url()">Autoévaluation des compétences terminales</a>
<br /><br /> <br /><br />
......
...@@ -68,6 +68,34 @@ class Training(models.Model): ...@@ -68,6 +68,34 @@ class Training(models.Model):
"context": {"create": 0, "delete": 0}, "context": {"create": 0, "delete": 0},
} }
def action_send_aect(self):
self.ensure_one()
aect_template_id = self.env.ref("training_survey.mail_template_training_aect")
student_ids = self.student_ids.filtered(lambda s: s.state == "confirmed")
for student in student_ids:
student._create_and_send_survey(
self.aect_survey_id, aect_template_id
)
self.message_post(
subject="Questionnaire AECT envoyé",
body=f"Participants : {', '.join(student_ids.mapped('partner_id.name'))}",
)
def action_send_satisfaction(self):
self.ensure_one()
satisfaction_template_id = self.env.ref(
"training_survey.mail_template_training_satisfaction"
)
student_ids = self.student_ids.filtered(lambda s: s.state == "confirmed")
for student in student_ids:
student._create_and_send_survey(
self.satisfaction_survey_id, satisfaction_template_id
)
self.message_post(
subject="Questionnaire de satisfaction envoyé",
body=f"Participants : {', '.join(student_ids.mapped('partner_id.name'))}",
)
# ------------------------------------------------------ # ------------------------------------------------------
# Inherit parent # Inherit parent
# ------------------------------------------------------ # ------------------------------------------------------
......
...@@ -26,7 +26,7 @@ class TrainingStudent(models.Model): ...@@ -26,7 +26,7 @@ class TrainingStudent(models.Model):
def _compute_aeci_sent(self): def _compute_aeci_sent(self):
for student in self: for student in self:
aeci = student.student_survey_ids.filtered( aeci = student.student_survey_ids.filtered(
lambda ui: ui.survey_id.training_survey_type == "AECI" lambda ui: ui.survey_id.training_survey_type == "aeci"
) )
student.aeci_sent = True if aeci else False student.aeci_sent = True if aeci else False
...@@ -52,26 +52,12 @@ class TrainingStudent(models.Model): ...@@ -52,26 +52,12 @@ class TrainingStudent(models.Model):
self.training_id.program_id.aeci_survey_id, aeci_template_id self.training_id.program_id.aeci_survey_id, aeci_template_id
) )
def action_create_aect(self):
aect_template_id = self.env.ref("training_survey.mail_template_training_aect")
self._create_and_send_survey(
self.training_id.program_id.aect_survey_id, aect_template_id
)
def action_create_satisfaction(self):
aect_template_id = self.env.ref(
"training_survey.mail_template_training_satisfaction"
)
self._create_and_send_survey(
self.training_id.program_id.aect_survey_id, aect_template_id
)
# ------------------------------------------------------ # ------------------------------------------------------
# Business methods # Business methods
# ------------------------------------------------------ # ------------------------------------------------------
def get_certification_name(self): def get_certification_name(self):
self.ensure_one() self.ensure_one()
if self.training_id.training_type_id == self.env.ref("training_type_present"): if self.training_id.training_type_id == self.env.ref("training.training_type_present"):
return "Attestation de fin de formation" return "Attestation de fin de formation"
else: else:
return "Certificat de réalisation" return "Certificat de réalisation"
......
...@@ -6,6 +6,28 @@ ...@@ -6,6 +6,28 @@
<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="//header" position="inside">
<button
name="action_send_aect"
type="object"
icon="fa-question-circle-o"
class="btn-info"
confirm="Valider l'envoi des questionnaires AECT ?"
attrs="{'invisible': ['|', ('is_passed', '=', False), ('is_filled', '=', False)]}"
>
Envoyer les questionnaires AECT
</button>
<button
name="action_send_satisfaction"
type="object"
icon="fa-graduation-cap"
class="btn-info"
confirm="Valider l'envoi des certificats/attestations ?"
attrs="{'invisible': ['|', ('is_passed', '=', False), ('is_filled', '=', False)]}"
>
Envoyer certificats/attestations
</button>
</xpath>
<xpath expr="//div[@name='button_box']" position="inside"> <xpath expr="//div[@name='button_box']" position="inside">
<button <button
name="action_view_survey" name="action_view_survey"
...@@ -18,7 +40,6 @@ ...@@ -18,7 +40,6 @@
</xpath> </xpath>
<xpath expr="//notebook" position="inside"> <xpath expr="//notebook" position="inside">
<page string="Questionnaires" name="survey"> <page string="Questionnaires" name="survey">
<group>
<group> <group>
<field <field
name="satisfaction_survey_id" name="satisfaction_survey_id"
...@@ -28,7 +49,6 @@ ...@@ -28,7 +49,6 @@
<field name="aeci_survey_id" /> <field name="aeci_survey_id" />
<field name="aect_survey_id" /> <field name="aect_survey_id" />
</group> </group>
</group>
</page> </page>
</xpath> </xpath>
</field> </field>
......
...@@ -7,16 +7,6 @@ ...@@ -7,16 +7,6 @@
<field name="model">training.student</field> <field name="model">training.student</field>
<field name="inherit_id" ref="training.training_student_form" /> <field name="inherit_id" ref="training.training_student_form" />
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//header" position="inside">
<field name="aeci_sent" invisible="1" />
<button
name="action_create_aeci"
type="object"
string="Envoyer AECI"
class="btn-primary"
attrs="{'invisible': ['|', ('aeci_sent', '=', True), ('state', '!=', 'confirmed')]}"
/>
</xpath>
<xpath expr="//div[@name='button_box']" position="inside"> <xpath expr="//div[@name='button_box']" position="inside">
<button <button
name="action_view_survey" name="action_view_survey"
...@@ -31,6 +21,28 @@ ...@@ -31,6 +21,28 @@
/> />
</button> </button>
</xpath> </xpath>
<xpath expr="//group" position="after">
<notebook>
<page name="survey" string="Questionnaires">
<field name="aeci_sent" invisible="1" />
<button
name="action_create_aeci"
type="object"
string="Envoyer AECI"
class="btn-primary mb-4"
attrs="{'invisible': ['|', ('aeci_sent', '=', True), ('state', '!=', 'confirmed')]}"
/>
<field name="student_survey_ids" readonly="1">
<tree>
<field name="create_date"/>
<field name="survey_id"/>
<field name="state"/>
</tree>
</field>
</page>
</notebook>
</xpath>
</field> </field>
</record> </record>
......
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