diff --git a/studies_base/__manifest__.py b/studies_base/__manifest__.py
index b5c28e2..7e1852c 100644
--- a/studies_base/__manifest__.py
+++ b/studies_base/__manifest__.py
@@ -21,10 +21,12 @@
},
# always loaded
"data": [
- # "security/security.xml",
- "views/study_menu.xml",
+ # "security/security.xml",
+ "data/studies_base_data.xml",
+ "security/ir.model.access.csv",
"views/study_config_views.xml",
"views/study_study_views.xml",
+ "views/study_menu.xml",
],
# only loaded in demonstration mode
"demo": [],
diff --git a/studies_base/data/studies_base_data.xml b/studies_base/data/studies_base_data.xml
new file mode 100644
index 0000000..bd2119b
--- /dev/null
+++ b/studies_base/data/studies_base_data.xml
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+ Brouillon
+ DRAFT
+
+
+
+ Publiée
+ ACTIVE
+
+
+
+ Retirée
+ RETIRED
+
+
+
+ Inconnu
+ UNKNOWN
+
+
+
+
+ Inscrit
+ REGISTRED
+
+
+
+ En cours
+ ACTIVE
+
+
+
+ Terminé
+ COMPLETED
+
+
+
+
+
+ Inclu
+ INCLUDED
+
+
+
+ Exclu
+ EXCLUDED
+
+
+
+ Indéterminé
+ UNKNOWN
+
+
+
+ Retiré
+ WITHDRAWN
+
+
+
+
+
+ Brouillon
+ DRAFT
+
+
+
+ Validé
+ VALIDATED
+
+
+
+ Collecte en cours
+ ACTIVE
+
+
+
+ Terminée
+ COMPLETED
+
+
+
+ Annulé
+ WITHDRAWN
+
+
+
+
+
+
+
+ Brouillon
+ DRAFT
+
+
+
+ Publiée
+ ACTIVE
+
+
+
+ Retirée
+ RETIRED
+
+
+
+ Inconnu
+ UNKNOWN
+
+
+
+
+
+
+
+ Non commencé
+ NOT-STARTED
+
+
+
+ Partiellement rempli
+ IN-PROGRESS
+
+
+
+ Complété
+ COMPLETED
+
+
+
+ Modifié
+ AMENDED
+
+
+
+ Rempli pas erreur ou annulé
+ ENTERED-IN-ERROR
+
+
+
+ Abandonné
+ STOPPED
+
+
+
+ Annulée
+ CANCELED
+
+
+
+
+
+
+
+
+
+ Inclu
+ INCLUDED
+
+
+
+ Exclu
+ EXCLUDED
+
+
+
+ Indéterminé
+ UNKNOWN
+
+
+
+ Retiré
+ WITHDRAWN
+
+
+
diff --git a/studies_base/models/__init__.py b/studies_base/models/__init__.py
index c57f4b0..60dce30 100644
--- a/studies_base/models/__init__.py
+++ b/studies_base/models/__init__.py
@@ -14,6 +14,7 @@ from . import study_type
from . import study_questionnaire_category
from . import study_questionnaire_response
from . import study_questionnaire_status
+from . import study_questionnaire_progress_status
from . import study_questionnaire_subject_type
from . import study_questionnaire_type
from . import study_participant_progress_status
diff --git a/studies_base/models/study_participant_progress_status.py b/studies_base/models/study_participant_progress_status.py
index dbbcf70..e113dcb 100644
--- a/studies_base/models/study_participant_progress_status.py
+++ b/studies_base/models/study_participant_progress_status.py
@@ -8,5 +8,6 @@ class StudyParticipantProgressStatus(models.Model):
_name = "study.participant.progress.status"
name = fields.Char("Name")
+ value = fields.Char("Value")
sequence = fields.Integer("Sequence")
diff --git a/studies_base/models/study_participant_state.py b/studies_base/models/study_participant_state.py
index 32814f9..1067192 100644
--- a/studies_base/models/study_participant_state.py
+++ b/studies_base/models/study_participant_state.py
@@ -9,4 +9,5 @@ class StudyParticipantState(models.Model):
name = fields.Char("Name")
sequence = fields.Integer("Sequence")
+ value = fields.Char("Value")
diff --git a/studies_base/models/study_progress_status.py b/studies_base/models/study_progress_status.py
index ef64609..f4de451 100644
--- a/studies_base/models/study_progress_status.py
+++ b/studies_base/models/study_progress_status.py
@@ -7,4 +7,14 @@ from odoo.exceptions import UserError
class StudyProgressStatus(models.Model):
_name = "study.progress.status"
-
\ No newline at end of file
+ study_id = fields.Many2one("study.study", string="Étude")
+ state = fields.Selection([
+ ('DRAFT', 'Brouillon'),
+ ('NOT-YET-RECRUITING', 'À venir'),
+ ('RECRUITING', 'En cours de recrutement'),
+ ('ACTIVE-BUT-NOT-RECRUITING', 'Active mais ne recrute plus'),
+ ('COMPLETED', 'Terminée'),
+ ('WITHDRAWN', 'Annulé')], string="Avancement de l'étude")
+ actual = fields.Boolean("Statut actuel")
+ date_begin = fields.Date("Date de début de l'état")
+ date_end = fields.Date("Date de fin de l'état")
\ No newline at end of file
diff --git a/studies_base/models/study_questionnaire_progress_status.py b/studies_base/models/study_questionnaire_progress_status.py
new file mode 100644
index 0000000..e01c102
--- /dev/null
+++ b/studies_base/models/study_questionnaire_progress_status.py
@@ -0,0 +1,13 @@
+# -*- coding: utf-8 -*-
+from odoo import api, fields, models, _
+from odoo import osv
+from odoo.exceptions import UserError
+
+
+class StudyQuestionnaireProgressStatus(models.Model):
+ _name = "study.questionnaire.progress.status"
+
+ name = fields.Char("Name")
+ value = fields.Char("Value")
+ sequence = fields.Integer("Sequence")
+
diff --git a/studies_base/models/study_questionnaire_response_progress_status.py b/studies_base/models/study_questionnaire_response_progress_status.py
index c5d5818..a03f3e6 100644
--- a/studies_base/models/study_questionnaire_response_progress_status.py
+++ b/studies_base/models/study_questionnaire_response_progress_status.py
@@ -8,5 +8,6 @@ class StudyQuestionnaireResponseProgressStatus(models.Model):
_name = "study.questionnaire.response.progress.status"
name = fields.Char("Name")
+ value = fields.Char("Value")
sequence = fields.Integer("Sequence")
diff --git a/studies_base/models/study_questionnaire_response_state.py b/studies_base/models/study_questionnaire_response_state.py
index f93ffc6..54e1fb8 100644
--- a/studies_base/models/study_questionnaire_response_state.py
+++ b/studies_base/models/study_questionnaire_response_state.py
@@ -8,5 +8,6 @@ class StudyQuestionnaireResponseState(models.Model):
_name = "study.questionnaire.response.state"
name = fields.Char("Name")
+ value = fields.Char("Value")
sequence = fields.Integer("Sequence")
diff --git a/studies_base/models/study_questionnaire_status.py b/studies_base/models/study_questionnaire_status.py
index f71fda2..45d507a 100644
--- a/studies_base/models/study_questionnaire_status.py
+++ b/studies_base/models/study_questionnaire_status.py
@@ -8,5 +8,6 @@ class StudyQuestionnaireStatus(models.Model):
_name = "study.questionnaire.status"
name = fields.Char("Name")
+ value = fields.Char("Value")
sequence = fields.Integer("Sequence")
diff --git a/studies_base/models/study_status.py b/studies_base/models/study_status.py
index 849e39f..c7aa565 100644
--- a/studies_base/models/study_status.py
+++ b/studies_base/models/study_status.py
@@ -8,5 +8,6 @@ class StudStatus(models.Model):
_name = "study.status"
name = fields.Char("Name")
+ value = fields.Char("Value")
sequence = fields.Integer("Sequence")
diff --git a/studies_base/models/study_study.py b/studies_base/models/study_study.py
index c4d85e9..e9e42df 100644
--- a/studies_base/models/study_study.py
+++ b/studies_base/models/study_study.py
@@ -7,6 +7,8 @@ from odoo.exceptions import UserError
class StudyStudy(models.Model):
_name = "study.study"
+ _inherit = ['mail.thread']
+
title = fields.Char("Nom de l'étude")
name = fields.Char("Acronyme")
@@ -24,7 +26,7 @@ class StudyStudy(models.Model):
ppc_reference = fields.Char("Référence Comité de Protection des Personnes")
version = fields.Char("Version")
phase = fields.Many2one("study.phase", string="Phase")
- status = fields.Many2one("study.status", string="Status")
+ status = fields.Many2one("study.status", string="Status de la publication")
site = fields.Many2one("res.partner", string="Lieu de l'étude")
author = fields.Many2one("study.author", string="Platforme technique d'étude")
diff --git a/studies_base/security/ir.model.access.csv b/studies_base/security/ir.model.access.csv
index 719321a..a9c9b02 100644
--- a/studies_base/security/ir.model.access.csv
+++ b/studies_base/security/ir.model.access.csv
@@ -1,7 +1,5 @@
id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
access_study_author_admin,study.author.admin,model_study_author,base.group_user,1,1,1,1
-access_study_eligibility_study_excl_admin,study.eligibility.study.excl.admin,model_study_eligibility_study_excl,base.group_user,1,1,1,1
-access_study_eligibility_study_incl_admin,study.eligibility.study.incl.admin,model_study_eligibility_study_incl,base.group_user,1,1,1,1
access_study_eligibility_topic_admin,study.eligibility.topic.admin,model_study_eligibility_topic,base.group_user,1,1,1,1
access_study_eligibility_condition_body_site_admin,study.eligibility.condition.body.site.admin,model_study_eligibility_condition_body_site,base.group_user,1,1,1,1
access_study_eligibility_condition_clinical_status_admin,study.eligibility.condition.clinical.status.admin,model_study_eligibility_condition_clinical_status,base.group_user,1,1,1,1
@@ -23,5 +21,6 @@ access_study_questionnaire_subject_type_admin,study.questionnaire.subject.type.a
access_study_questionnaire_status_admin,study.questionnaire.status.admin,model_study_questionnaire_status,base.group_user,1,1,1,1
access_study_participant_progress_status_admin,study.participant.progress.status.admin,model_study_participant_progress_status,base.group_user,1,1,1,1
access_study_participant_state_admin,study.participant.state.admin,model_study_participant_state,base.group_user,1,1,1,1
+access_study_questionnaire_progress_status_admin,study.questionnaire.progress.status.admin,model_study_questionnaire_progress_status,base.group_user,1,1,1,1
access_study_questionnaire_response_state_admin,study.questionnaire.response.state.admin,model_study_questionnaire_response_state,base.group_user,1,1,1,1
access_study_questionnaire_response_progress_status_admin,study.questionnaire.response.progress.status.admin,model_study_questionnaire_response_progress_status,base.group_user,1,1,1,1
diff --git a/studies_base/views/study_config_views.xml b/studies_base/views/study_config_views.xml
index c120658..df81633 100644
--- a/studies_base/views/study_config_views.xml
+++ b/studies_base/views/study_config_views.xml
@@ -55,9 +55,21 @@
study.participant.state.tree
study.participant.state
-
+
+
+
+
+
+
+ study.participant.progress.status.tree
+ study.participant.progress.status
+
+
+
+
+
@@ -96,8 +108,31 @@
study.questionnaire.response.state
+
+
+
+
+
+
+
+ study.questionnaire.response.progress.status.tree
+ study.questionnaire.response.progress.status
+
+
+
+
+
+
+
+ study.questionnaire.progress.status.tree
+ study.questionnaire.progress.status
+
+
+
+
+
@@ -105,9 +140,10 @@
study.questionnaire.status.tree
study.questionnaire.status
-
+
-
+
+
@@ -145,9 +181,10 @@
study.status.tree
study.status
-
+
+
@@ -174,57 +211,72 @@
- Platformes techniques d'étuder
+ Platformes techniques d'étude
ir.actions.act_window
study.author
- Localisations anatomiques des affectionsr
+ Localisations anatomiques des affections
ir.actions.act_window
study.eligibility.condition.body.site
- Statuts des affectations (malade, ancien malade...)r
+ Statuts des affectations (malade, ancien malade...)
ir.actions.act_window
study.eligibility.condition.clinical.status
- Thématiques de rechercher
+ Thématiques de recherche
ir.actions.act_window
study.eligibility.topic
- Genresr
+ Genres
ir.actions.act_window
study.gender
- États des participationsr
+ États des participations (participants)
ir.actions.act_window
study.participant.state
+
+ Statuts de participation (participants)
+ ir.actions.act_window
+ study.participant.progress.status
+
- Phasesr
+ Phases
ir.actions.act_window
study.phase
- Objectifsr
+ Objectifs
ir.actions.act_window
study.purpose.type
- Catégories de questionnairer
+ Catégories de questionnaire
ir.actions.act_window
study.questionnaire.category
- États des réponsesr
+ États des réponses
ir.actions.act_window
study.questionnaire.response.state
+
+ Statuts des réponses aux questionnaires
+ ir.actions.act_window
+ study.questionnaire.response.progress.status
+
+
+ Statuts des questionnaires
+ ir.actions.act_window
+ study.questionnaire.progress.status
+
- Statuts de publicationr
+ Statuts de publication (questionnaires)
ir.actions.act_window
study.questionnaire.status
@@ -239,80 +291,98 @@
study.questionnaire.type
- Zones géographiques étudiéesr
+ Zones géographiques étudiées
ir.actions.act_window
study.region
- Status des étudesr
+ Statuts de publication des études
ir.actions.act_window
study.status
- Mots-clés des étudesr
+ Mots-clés des études
ir.actions.act_window
study.tag
- Types d'étudesr
+ Types d'études
ir.actions.act_window
study.type
-
+
-