[IMP] studies_base:

Vues Questionnaire + Participant + Response + Progress Status
This commit is contained in:
clementthomas
2024-07-18 10:43:35 +02:00
parent 10b71eb44f
commit 87d98be89e
12 changed files with 382 additions and 19 deletions

View File

@@ -13,11 +13,11 @@ class StudyParticipant(models.Model):
subject = fields.Many2one("res.partner", string="Contact", domain=[("category_patient",'=',1)], readonly=True)
firstname = fields.Char("Prénom", related="subject.firstname")
lastname = fields.Char("Nom", related="subject.lastname")
progress_status = fields.Many2one("study.participant.progress.status", string="Statut de la participation")
state = fields.Many2one("study.participant.state", string="État de la participation")
progress_status = fields.Many2one("study.participant.progress.status", string="Statut de la participation", readonly=True)
state = fields.Many2one("study.participant.state", string="État de la participation", readonly=True)
part_of_author = fields.Many2one("study.author", string="Platforme d'étude", related="part_of.author")
author = fields.Char("ID plateforme")
identifier = fields.Char("Idientifiants de l'enrôlement")
author = fields.Char("ID plateforme", readonly=True)
identifier = fields.Char("Idientifiants de l'enrôlement", readonly=True)
#questionnaire_responses = fields.One2many("study.questionnaire.response", "study_questionnaire_id", string="Réponses")
questionnaire_responses = fields.One2many("study.questionnaire.response", "study_participant_id", string="Réponses")

View File

@@ -7,6 +7,8 @@ from odoo.exceptions import UserError
class StudyProgressStatus(models.Model):
_name = "study.progress.status"
_rec_name = 'state'
study_id = fields.Many2one("study.study", string="Étude")
state = fields.Selection([
('DRAFT', 'Brouillon'),

View File

@@ -10,7 +10,7 @@ class StudyQuestionnaire(models.Model):
title = fields.Char("Nom du questionnaire")
name = fields.Char("Acronyme")
progress_status = fields.Many2one("study.progress.status", string="Statut du questionnaire")
progress_status = fields.Many2one("study.questionnaire.progress.status", string="Statut du questionnaire")
approval_date = fields.Datetime("Date d'approbation")
last_review_date = fields.Datetime("Dernière relecture")
effective_period_start = fields.Datetime("Début de la collecte")
@@ -20,7 +20,7 @@ class StudyQuestionnaire(models.Model):
category = fields.Many2one("study.questionnaire.category", string="Catégorie de questionnaire")
type = fields.Many2one("study.questionnaire.type", string="Type de questionnaire")
purpose = fields.Text("Objectif")
subject_type = fields.Many2one("questionnaire.subject.type", string="Sujets")
subject_type = fields.Many2one("study.questionnaire.subject.type", string="Sujets")
description = fields.Text("Description du questionnaire")
jurisdiction = fields.Many2many("study.region", string="Zones géographiques ciblées")
@@ -40,11 +40,11 @@ class StudyQuestionnaire(models.Model):
repeat_delay = fields.Integer("Délai de répétition")
repeat_delay_type = fields.Selection([("d", "Jour"), ("m", "Mois"), ("y", "Année")], string="Type de délai de répétition")
following = fields.Many2one("study.questionnaire", string="Questionnaire précédent")
following_repeat_delay = fields.Integer("Délai avec le questionnaire précédent")
following_repeat_delay_type = fields.Selection([("d", "Jour"), ("m", "Mois"), ("y", "Année")], string="Type de délai avec le questionnaire précédent")
following_delay = fields.Integer("Délai avec le questionnaire précédent")
following_delay_type = fields.Selection([("d", "Jour"), ("m", "Mois"), ("y", "Année")], string="Type de délai avec le questionnaire précédent")
preceding = fields.Many2one("study.questionnaire", string="Questionnaire suivant")
preceding_repeat_delay = fields.Integer("Délai avec le questionnaire suivant")
preceding_repeat_delay_type = fields.Selection([("d", "Jour"), ("m", "Mois"), ("y", "Année")], string="Type de délai avec le questionnaire suivant")
preceding_delay = fields.Integer("Délai avec le questionnaire suivant")
preceding_delay_type = fields.Selection([("d", "Jour"), ("m", "Mois"), ("y", "Année")], string="Type de délai avec le questionnaire suivant")
copyright = fields.Text("Copyright")
copyright_label = fields.Char("Propriétaire et année du copyright")

View File

@@ -16,11 +16,11 @@ class StudyQuestionnaireResponse(models.Model):
author = fields.Many2one("study.author", string="Platform d'étude", readonly=True)
identifier_author = fields.Char("ID plateforme", readonly=True)
redirect_url = fields.Char("Lien personnel de redirection vers le questionnaire")
redirect_url = fields.Char("Lien personnel de redirection vers le questionnaire", readonly=True)
study_id = fields.Many2one("study.study", "Étude")
study_questionnaire_id = fields.Many2one("study.questionnaire", string="Questionnaire")
study_participant_id = fields.Many2one("study.participant", string="Participation")
study_id = fields.Many2one("study.study", "Étude", readonly=True)
study_questionnaire_id = fields.Many2one("study.questionnaire", string="Questionnaire", readonly=True)
study_participant_id = fields.Many2one("study.participant", string="Participation", readonly=True)
source = fields.Many2one("res.partner", string="Contact", domain=[("category_patient",'=',1)], readonly=True)
firstname = fields.Char("Prénom", related="source.firstname")