[IMP] studies_base: add progres status management for studies

This commit is contained in:
Stéphan Sainléger
2025-07-31 11:54:57 +02:00
committed by b0g
parent e24be51568
commit 34759aefdc
9 changed files with 102 additions and 14 deletions

View File

@@ -0,0 +1 @@
from . import create_progress_status

View File

@@ -0,0 +1,28 @@
from datetime import datetime
from odoo import fields, models
class CreateProgressStatus(models.TransientModel):
_name = "create.progress.status"
_description = "create Progress Status"
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")
def create_progress_status(self):
study = self.env["study.study"].browse(self._context.get("active_ids"))
study.progress_status_id.date_end = datetime.now()
values = {
"study_id": study.id,
"state": self.state,
"date_begin": datetime.now(),
"date_end": None,
}
self.env["study.progress.status"].create(values)
study.write({"updated": datetime.now()})

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="create_progress_status_wizard_view_form" model="ir.ui.view">
<field name="name">create.progress.status.wizard.view.form</field>
<field name="model">create.progress.status</field>
<field name="arch" type="xml">
<form string="Update study progress status">
<sheet>
<group>
<field name="state" />
</group>
</sheet>
<footer>
<button string="Update" name="create_progress_status" type="object"
class="btn-primary" />
<button string="Cancel" class="btn-secondary" special="cancel" />
</footer>
</form>
</field>
</record>
<record
id="action_create_progress_status_wizard" model="ir.actions.act_window">
<field name="name">Create Progress Status</field>
<field name="res_model">create.progress.status</field>
<field name="view_mode">form</field>
<field name="view_id" ref="create_progress_status_wizard_view_form" />
<field name="target">new</field>
</record>
</odoo>