2 Commits

Author SHA1 Message Date
Stéphan Sainléger
643c532939 [IMP] study_base: prevent opening of progress_status from a study 2025-09-05 08:56:39 +02:00
Stéphan Sainléger
e69fcf224b [IMP] studies_base: add progres status management for studies 2025-08-13 00:32:17 +02:00
7 changed files with 38 additions and 79 deletions

View File

@@ -172,7 +172,7 @@
</record>
<record id="study_questionnaire_subject_type_PRACTITIONER" model="study.questionnaire.subject.type">
<field name="name">Praticien</field>
<field name="name">Praticient</field>
<field name="value">PRACTITIONER</field>
</record>

View File

@@ -34,17 +34,3 @@ class StudyParticipant(models.Model):
updated = fields.Datetime("Date mise à jour")
active = fields.Boolean("Actif", default=True)
@api.depends("write_date")
def _compute_updated(self):
for record in self:
## XXXb0g : the following two lines are to be removed when all records will have been updated during migration
# if record.updated:
# continue
record.updated = record.write_date
@api.depends("create_date")
def _compute_created(self):
for record in self:
if not record.created:
record.created = record.create_date

View File

@@ -34,17 +34,3 @@ class StudyQuestionnaireResponse(models.Model):
updated = fields.Datetime("Date mise à jour")
active = fields.Boolean("Actif", default=True)
@api.depends("write_date")
def _compute_updated(self):
for record in self:
## XXXb0g : the following two lines are to be removed when all records will have been updated during migration
# if record.updated:
# continue
record.updated = record.write_date
@api.depends("create_date")
def _compute_created(self):
for record in self:
if not record.created:
record.created = record.create_date

View File

@@ -19,7 +19,7 @@ class StudyStudy(models.Model):
"study.progress.status",
string="Avancement de l'étude",
domain="[('study_id', '=', id)]",
compute="_compute_progress_status_id",
compute="_compute_progress_status_id"
)
progress_status = fields.One2many(
"study.progress.status", "study_id", "All progress status"
@@ -101,25 +101,20 @@ class StudyStudy(models.Model):
@api.depends("progress_status")
def _compute_progress_status_id(self):
for record in self:
unfinished_progress_status = record.progress_status.filtered(
lambda x: x.actual == True
)
record.progress_status_id = (
unfinished_progress_status.id
if len(unfinished_progress_status) == 1
else None
)
unfinished_progress_status = record.progress_status.filtered(lambda x: x.actual == True)
record.progress_status_id = unfinished_progress_status.id if len(unfinished_progress_status) == 1 else None
def copy(self, default=None):
default = dict(default or {}, identifier_primary_id=None)
return super().copy(default)
@api.depends("title", "name")
def name_get(self):
result = []
for study in self:
if not study.name:
result.append((study.id, study.title))
else:
result.append((study.id, f"[{study.name}] {study.title}"))
return result
@api.depends("title", "name")
def name_get(self):
result = []
for study in self:
if not study.name:
result.append((study.id, study.title))
else:
result.append((study.id, f"[{study.name}] {study.title}"))
return result

View File

@@ -57,8 +57,8 @@
</group>
<group name="technique" string="Technique">
<group name="technique_left">
<field name="created" />
<field name="updated" />
<field name="create_date" />
<field name="write_date" />
</group>
<group name="technique_right">
</group>

View File

@@ -61,8 +61,8 @@
</group>
<group name="technique" string="Technique">
<group name="technique_left">
<field name="created" />
<field name="updated" />
<field name="create_date" />
<field name="write_date" />
</group>
<group name="technique_right">
</group>

View File

@@ -131,19 +131,11 @@
<field name="model">study.study</field>
<field name="arch" type="xml">
<search string="Études">
<field name="active" string="Actif" />
<field name="description" string="Description" />
<field name="identifier_author" string="ID Plateforme" />
<field name="identifier_primary_id" string="Seintinelles ID"/>
<field name="keywords" string="Mots-clés" />
<field name="name" string="Acronyme" />
<field name="period_end" string="Date de fin" />
<field name="period_start" string="Date de début" />
<field name="phase" string="Phase" />
<field name="progress_status_id" string="Statut" />
<field name="region" string="Région" />
<field name="title" string="Nom de l'étude" />
<field name="version" string="Version" />
<field name="name" string="Acronyme" />
<field name="identifier_primary_id" string="Seintinelles ID"/>
<field name="period_start" string="Date de début" />
<field name="period_end" string="Date de fin" />
</search>
</field>
</record>