[IMP] studies_base: Add active field to study, participant, questionnaire, questionnaire_response
This commit is contained in:
@@ -32,3 +32,5 @@ class StudyParticipant(models.Model):
|
|||||||
|
|
||||||
created = fields.Datetime("Date de création")
|
created = fields.Datetime("Date de création")
|
||||||
updated = fields.Datetime("Date mise à jour")
|
updated = fields.Datetime("Date mise à jour")
|
||||||
|
|
||||||
|
active = fields.Boolean("Actif", default=True)
|
||||||
|
@@ -19,10 +19,14 @@ class StudyQuestionnaire(models.Model):
|
|||||||
subject_type = fields.Many2many("study.questionnaire.subject.type", string="Sujets")
|
subject_type = fields.Many2many("study.questionnaire.subject.type", string="Sujets")
|
||||||
description = fields.Text("Description du questionnaire")
|
description = fields.Text("Description du questionnaire")
|
||||||
|
|
||||||
jurisdiction = fields.Many2many("study.region", string="Zones géographiques ciblées")
|
jurisdiction = fields.Many2many(
|
||||||
|
"study.region", string="Zones géographiques ciblées"
|
||||||
|
)
|
||||||
derived_from = fields.Many2one("study.questionnaire", string="Dérivé de")
|
derived_from = fields.Many2one("study.questionnaire", string="Dérivé de")
|
||||||
version = fields.Char("Version")
|
version = fields.Char("Version")
|
||||||
status = fields.Many2one("study.questionnaire.status", string="Statut de publication")
|
status = fields.Many2one(
|
||||||
|
"study.questionnaire.status", string="Statut de publication"
|
||||||
|
)
|
||||||
|
|
||||||
experimental = fields.Boolean("Questionnaire de test")
|
experimental = fields.Boolean("Questionnaire de test")
|
||||||
identifier_author = fields.Char("ID plateforme")
|
identifier_author = fields.Char("ID plateforme")
|
||||||
@@ -34,6 +38,8 @@ class StudyQuestionnaire(models.Model):
|
|||||||
created = fields.Datetime("Created")
|
created = fields.Datetime("Created")
|
||||||
date = fields.Datetime("Date")
|
date = fields.Datetime("Date")
|
||||||
|
|
||||||
|
active = fields.Boolean("Actif", default=True)
|
||||||
|
|
||||||
def copy(self, default=None):
|
def copy(self, default=None):
|
||||||
default = dict(default or {}, identifier_primary_id=None)
|
default = dict(default or {}, identifier_primary_id=None)
|
||||||
return super().copy(default)
|
return super().copy(default)
|
@@ -8,18 +8,29 @@ class StudyQuestionnaireResponse(models.Model):
|
|||||||
_name = "study.questionnaire.response"
|
_name = "study.questionnaire.response"
|
||||||
|
|
||||||
identifier_primary_id = fields.Char("Identifiant Seintinelles", readonly=True)
|
identifier_primary_id = fields.Char("Identifiant Seintinelles", readonly=True)
|
||||||
progress_status = fields.Many2one("study.questionnaire.response.progress.status", string="État d'avancement")
|
progress_status = fields.Many2one(
|
||||||
|
"study.questionnaire.response.progress.status", string="État d'avancement"
|
||||||
|
)
|
||||||
authored = fields.Datetime("Date de saisie des réponses", readonly=True)
|
authored = fields.Datetime("Date de saisie des réponses", readonly=True)
|
||||||
|
|
||||||
identifier_author = fields.Char("ID plateforme", readonly=True)
|
identifier_author = fields.Char("ID plateforme", readonly=True)
|
||||||
author = fields.Many2one("study.author", string="Platform d'étude", readonly=True)
|
author = fields.Many2one("study.author", string="Platform d'étude", readonly=True)
|
||||||
|
|
||||||
study_id = fields.Many2one("study.study", "Étude", readonly=True)
|
study_id = fields.Many2one("study.study", "Étude", readonly=True)
|
||||||
study_questionnaire_id = fields.Many2one("study.questionnaire", string="Questionnaire", readonly=True)
|
study_questionnaire_id = fields.Many2one(
|
||||||
|
"study.questionnaire", string="Questionnaire", readonly=True
|
||||||
|
)
|
||||||
|
|
||||||
source = fields.Many2one("res.partner", string="Contact", domain=[("category_patient",'=',1)], readonly=True)
|
source = fields.Many2one(
|
||||||
|
"res.partner",
|
||||||
|
string="Contact",
|
||||||
|
domain=[("category_patient", "=", 1)],
|
||||||
|
readonly=True,
|
||||||
|
)
|
||||||
firstname = fields.Char("Prénom", related="source.firstname")
|
firstname = fields.Char("Prénom", related="source.firstname")
|
||||||
lastname = fields.Char("Nom", related="source.lastname")
|
lastname = fields.Char("Nom", related="source.lastname")
|
||||||
|
|
||||||
created = fields.Datetime("Date de création")
|
created = fields.Datetime("Date de création")
|
||||||
updated = fields.Datetime("Date mise à jour")
|
updated = fields.Datetime("Date mise à jour")
|
||||||
|
|
||||||
|
active = fields.Boolean("Actif", default=True)
|
||||||
|
@@ -5,7 +5,6 @@ from odoo.exceptions import UserError
|
|||||||
|
|
||||||
|
|
||||||
class StudyStudy(models.Model):
|
class StudyStudy(models.Model):
|
||||||
|
|
||||||
_name = "study.study"
|
_name = "study.study"
|
||||||
|
|
||||||
title = fields.Char("Nom de l'étude")
|
title = fields.Char("Nom de l'étude")
|
||||||
@@ -13,13 +12,19 @@ class StudyStudy(models.Model):
|
|||||||
|
|
||||||
period_start = fields.Date("Début de l'étude")
|
period_start = fields.Date("Début de l'étude")
|
||||||
period_end = fields.Date("Fin de l'étude")
|
period_end = fields.Date("Fin de l'étude")
|
||||||
progress_status_id = fields.Many2one("study.progress.status", string="Avancement de l'étude") #should be computed to actual progress status
|
progress_status_id = fields.Many2one(
|
||||||
progress_status = fields.One2many("study.progress.status", "study_id", "All progress status")
|
"study.progress.status", string="Avancement de l'étude"
|
||||||
|
) # should be computed to actual progress status
|
||||||
|
progress_status = fields.One2many(
|
||||||
|
"study.progress.status", "study_id", "All progress status"
|
||||||
|
)
|
||||||
|
|
||||||
description_summary = fields.Char("Brève description de l'étude")
|
description_summary = fields.Char("Brève description de l'étude")
|
||||||
description = fields.Text("Description de l'étude")
|
description = fields.Text("Description de l'étude")
|
||||||
keywords = fields.Many2many("study.keyword", string="Mots-clés")
|
keywords = fields.Many2many("study.keyword", string="Mots-clés")
|
||||||
primary_purpose_type = fields.Many2one("study.purpose.type", string="Objectif principal")
|
primary_purpose_type = fields.Many2one(
|
||||||
|
"study.purpose.type", string="Objectif principal"
|
||||||
|
)
|
||||||
part_of = fields.Many2one("study.study", string="Fait partie de")
|
part_of = fields.Many2one("study.study", string="Fait partie de")
|
||||||
version = fields.Char("Version")
|
version = fields.Char("Version")
|
||||||
phase = fields.Many2one("study.phase", string="Phase")
|
phase = fields.Many2one("study.phase", string="Phase")
|
||||||
@@ -28,39 +33,54 @@ class StudyStudy(models.Model):
|
|||||||
site = fields.Many2one("res.partner", string="Lieu de l'étude")
|
site = fields.Many2one("res.partner", string="Lieu de l'étude")
|
||||||
identifier_author = fields.Char("ID plateforme")
|
identifier_author = fields.Char("ID plateforme")
|
||||||
|
|
||||||
identifier_primary_id = fields.Char("Identifiant Seintinelles", readonly=True, copy=False)
|
identifier_primary_id = fields.Char(
|
||||||
|
"Identifiant Seintinelles", readonly=True, copy=False
|
||||||
|
)
|
||||||
|
|
||||||
recruitment_target_number = fields.Integer("Nombre de participants à recruter")
|
recruitment_target_number = fields.Integer("Nombre de participants à recruter")
|
||||||
recruitment_max_number = fields.Integer("Nombre limite de participations")
|
recruitment_max_number = fields.Integer("Nombre limite de participations")
|
||||||
recruitment_eligibility_gender = fields.Many2one("study.gender", string="Genre")
|
recruitment_eligibility_gender = fields.Many2one("study.gender", string="Genre")
|
||||||
recruitment_eligibility_age_min = fields.Integer("Âge min")
|
recruitment_eligibility_age_min = fields.Integer("Âge min")
|
||||||
recruitment_eligibility_age_max = fields.Integer("Âge max")
|
recruitment_eligibility_age_max = fields.Integer("Âge max")
|
||||||
recruitment_eligibility_condition_clinical_status = fields.Many2many("study.eligibility.condition.clinical.status", string="Statut de l'affectation (malade, ancien malade...)")
|
recruitment_eligibility_condition_clinical_status = fields.Many2many(
|
||||||
recruitment_eligibility_condition_body_site = fields.Many2many("study.eligibility.condition.body.site", string="Localisation anatomique de l'affection")
|
"study.eligibility.condition.clinical.status",
|
||||||
recruitment_eligibility_study_incl = fields.Many2many("study.study",
|
string="Statut de l'affectation (malade, ancien malade...)",
|
||||||
"study_study_recruitment_eligibility_study_incl",
|
)
|
||||||
"base_study_id",
|
recruitment_eligibility_condition_body_site = fields.Many2many(
|
||||||
"incl_study_id",
|
"study.eligibility.condition.body.site",
|
||||||
string="Doit avoir participé aux études...")
|
string="Localisation anatomique de l'affection",
|
||||||
recruitment_eligibility_study_excl = fields.Many2many("study.study",
|
)
|
||||||
"study_study_recruitment_eligibility_study_excl",
|
recruitment_eligibility_study_incl = fields.Many2many(
|
||||||
"base_study_id",
|
"study.study",
|
||||||
"excl_study_id",
|
"study_study_recruitment_eligibility_study_incl",
|
||||||
string="Ne doit pas avoir participé aux études...")
|
"base_study_id",
|
||||||
|
"incl_study_id",
|
||||||
|
string="Doit avoir participé aux études...",
|
||||||
|
)
|
||||||
|
recruitment_eligibility_study_excl = fields.Many2many(
|
||||||
|
"study.study",
|
||||||
|
"study_study_recruitment_eligibility_study_excl",
|
||||||
|
"base_study_id",
|
||||||
|
"excl_study_id",
|
||||||
|
string="Ne doit pas avoir participé aux études...",
|
||||||
|
)
|
||||||
recruitment_eligibility_description = fields.Text("Description de la cible")
|
recruitment_eligibility_description = fields.Text("Description de la cible")
|
||||||
recruitment_eligibility_topic = fields.Many2many("study.eligibility.topic", string="Thématique de recherche")
|
recruitment_eligibility_topic = fields.Many2many(
|
||||||
|
"study.eligibility.topic", string="Thématique de recherche"
|
||||||
|
)
|
||||||
region = fields.Many2many("study.region", string="Zones géographiques étudiées")
|
region = fields.Many2many("study.region", string="Zones géographiques étudiées")
|
||||||
|
|
||||||
|
|
||||||
note = fields.Text("Annotations")
|
note = fields.Text("Annotations")
|
||||||
|
|
||||||
created = fields.Datetime('Created')
|
created = fields.Datetime("Created")
|
||||||
updated = fields.Datetime('Updated')
|
updated = fields.Datetime("Updated")
|
||||||
|
|
||||||
|
active = fields.Boolean("Actif", default=True)
|
||||||
|
|
||||||
def copy(self, default=None):
|
def copy(self, default=None):
|
||||||
default = dict(default or {}, identifier_primary_id=None)
|
default = dict(default or {}, identifier_primary_id=None)
|
||||||
return super().copy(default)
|
return super().copy(default)
|
||||||
|
|
||||||
@api.depends('title', 'name')
|
@api.depends("title", "name")
|
||||||
def name_get(self):
|
def name_get(self):
|
||||||
return [(study.id, f"[{study.name}] {study.title}") for study in self]
|
return [(study.id, f"[{study.name}] {study.title}") for study in self]
|
Reference in New Issue
Block a user