diff --git a/studies_base/models/study_participant.py b/studies_base/models/study_participant.py index 69b9d12..718c701 100644 --- a/studies_base/models/study_participant.py +++ b/studies_base/models/study_participant.py @@ -32,3 +32,5 @@ class StudyParticipant(models.Model): created = fields.Datetime("Date de création") updated = fields.Datetime("Date mise à jour") + + active = fields.Boolean("Actif", default=True) diff --git a/studies_base/models/study_questionnaire.py b/studies_base/models/study_questionnaire.py index c68d1e2..e390247 100644 --- a/studies_base/models/study_questionnaire.py +++ b/studies_base/models/study_questionnaire.py @@ -19,10 +19,14 @@ class StudyQuestionnaire(models.Model): subject_type = fields.Many2many("study.questionnaire.subject.type", string="Sujets") 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") 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") identifier_author = fields.Char("ID plateforme") @@ -34,6 +38,8 @@ class StudyQuestionnaire(models.Model): created = fields.Datetime("Created") date = fields.Datetime("Date") + active = fields.Boolean("Actif", default=True) + def copy(self, default=None): default = dict(default or {}, identifier_primary_id=None) - return super().copy(default) \ No newline at end of file + return super().copy(default) diff --git a/studies_base/models/study_questionnaire_response.py b/studies_base/models/study_questionnaire_response.py index 1ed8e2b..472a22c 100644 --- a/studies_base/models/study_questionnaire_response.py +++ b/studies_base/models/study_questionnaire_response.py @@ -8,18 +8,29 @@ class StudyQuestionnaireResponse(models.Model): _name = "study.questionnaire.response" 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) - + identifier_author = fields.Char("ID plateforme", readonly=True) author = fields.Many2one("study.author", string="Platform d'étude", readonly=True) study_id = fields.Many2one("study.study", "Étude", 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) + study_questionnaire_id = fields.Many2one( + "study.questionnaire", string="Questionnaire", readonly=True + ) + + source = fields.Many2one( + "res.partner", + string="Contact", + domain=[("category_patient", "=", 1)], + readonly=True, + ) firstname = fields.Char("Prénom", related="source.firstname") lastname = fields.Char("Nom", related="source.lastname") created = fields.Datetime("Date de création") - updated = fields.Datetime("Date mise à jour") \ No newline at end of file + updated = fields.Datetime("Date mise à jour") + + active = fields.Boolean("Actif", default=True) diff --git a/studies_base/models/study_study.py b/studies_base/models/study_study.py index 1c4e922..00553f6 100644 --- a/studies_base/models/study_study.py +++ b/studies_base/models/study_study.py @@ -5,7 +5,6 @@ from odoo.exceptions import UserError class StudyStudy(models.Model): - _name = "study.study" 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_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 = fields.One2many("study.progress.status", "study_id", "All progress status") + progress_status_id = fields.Many2one( + "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 = fields.Text("Description de l'étude") 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") version = fields.Char("Version") 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") 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_max_number = fields.Integer("Nombre limite de participations") recruitment_eligibility_gender = fields.Many2one("study.gender", string="Genre") recruitment_eligibility_age_min = fields.Integer("Âge min") 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_body_site = fields.Many2many("study.eligibility.condition.body.site", string="Localisation anatomique de l'affection") - recruitment_eligibility_study_incl = fields.Many2many("study.study", - "study_study_recruitment_eligibility_study_incl", - "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_condition_clinical_status = fields.Many2many( + "study.eligibility.condition.clinical.status", + string="Statut de l'affectation (malade, ancien malade...)", + ) + recruitment_eligibility_condition_body_site = fields.Many2many( + "study.eligibility.condition.body.site", + string="Localisation anatomique de l'affection", + ) + recruitment_eligibility_study_incl = fields.Many2many( + "study.study", + "study_study_recruitment_eligibility_study_incl", + "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_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") - note = fields.Text("Annotations") - created = fields.Datetime('Created') - updated = fields.Datetime('Updated') + created = fields.Datetime("Created") + updated = fields.Datetime("Updated") + + active = fields.Boolean("Actif", default=True) def copy(self, default=None): default = dict(default or {}, identifier_primary_id=None) return super().copy(default) - - @api.depends('title', 'name') + + @api.depends("title", "name") def name_get(self): - return [(study.id, f"[{study.name}] {study.title}") for study in self] \ No newline at end of file + return [(study.id, f"[{study.name}] {study.title}") for study in self]