diff --git a/__manifest__.py b/__manifest__.py index f588efd652d3ae479e75741f281a3f9439208dee..2bf177ed276ceb6ec39858e5dc36b2ee73933312 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -3,7 +3,7 @@ "summary": "Gestion de projet de création", "author": "Le Filament", "website": "https://le-filament.com", - "version": "14.0.2.0.0", + "version": "14.0.3.0.0", "license": "AGPL-3", "depends": ["product", "stock", "sale_management", "ap_partner"], "data": [ diff --git a/migrations/14.0.3.0.0/post-migration.py b/migrations/14.0.3.0.0/post-migration.py new file mode 100644 index 0000000000000000000000000000000000000000..03fc82ccf7128a8ea489933800ef3490f33e6072 --- /dev/null +++ b/migrations/14.0.3.0.0/post-migration.py @@ -0,0 +1,25 @@ +# Copyright 2022 Le Filament (<http://www.le-filament.com>) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from odoo import SUPERUSER_ID, api + + +def _init_sale_project_intervention_sequence(env): + for project in ( + env["sale.project"] + .with_context(active_test=False) + .search([("intervention_ids", "!=", False)]) + ): + project.intervention_sequence = project.intervention_counter + + +def _rename_sale_intervention(env): + for inter in env["sale.intervention"].with_context(active_test=False).search([]): + substr = inter.project_id.name + "-" + updstr = inter.name.replace(substr, "Séquence ") + inter.name = updstr.replace("0", "") + + +def migrate(cr, version): + env = api.Environment(cr, SUPERUSER_ID, {}) + _init_sale_project_intervention_sequence(env) + _rename_sale_intervention(env) diff --git a/models/sale_intervention.py b/models/sale_intervention.py index 5b5902e584267a55ba78f3a0d77a21156869caa7..e9cf960bea6f40ba77d757f3adafc8be6ebf74b6 100644 --- a/models/sale_intervention.py +++ b/models/sale_intervention.py @@ -956,8 +956,8 @@ class SaleIntervention(models.Model): def create(self, vals_list): res = super().create(vals_list) for rec in res: - seq = str(rec.project_id.intervention_counter).zfill(3) - rec.name = rec.project_id.name + "-" + seq + rec.project_id.intervention_sequence += 1 + rec.name = "Séquence " + str(rec.project_id.intervention_sequence) return res def write(self, values): diff --git a/models/sale_project.py b/models/sale_project.py index b6f3c839c44bb8f7f1342733e35146488e9a599d..30bb5231d0da023ea4eb83f4fd422d42488532f3 100644 --- a/models/sale_project.py +++ b/models/sale_project.py @@ -146,6 +146,9 @@ class SaleProject(models.Model): string="Nombre d'interventions", compute_sudo="True", ) + intervention_sequence = fields.Integer( + string="Séquence d'interventions", default="0" + ) intervention_total_length = fields.Float( compute="_compute_intervention_values", string="Longeur interventions", diff --git a/views/sale_intervention_view.xml b/views/sale_intervention_view.xml index 97123a4c8fdbf7a01ba9369b65c7a46340b26ee4..bc1957e9c1877daabe17987487087809af07b470 100644 --- a/views/sale_intervention_view.xml +++ b/views/sale_intervention_view.xml @@ -10,11 +10,17 @@ <field name="arch" type="xml"> <form string="Intervention"> <sheet> + <div class="oe_title"> + <h1> + <field name="name" readonly="1" /> + <br /> + Client : <field name="partner_id" readonly="1" /> + </h1> + </div> <group> <field name="state" invisible="1" /> - <field name="project_id" invisible="True" /> + <field name="project_id" readonly="1" /> <field name="sale_order_id" invisible="True" /> - <field name="partner_id" /> <field name="intervention_type_id" options="{'no_open': True, 'no_create': True}" @@ -288,10 +294,10 @@ <field name="model">sale.intervention</field> <field name="arch" type="xml"> <tree string="Interventions" expand="True"> + <field name="project_id" optional="show" /> <field name="name" optional="show" readonly="True" /> <field name="state" invisible="1" /> <field name="sale_order_id" optional="hide" /> - <field name="project_id" optional="hide" /> <field name="partner_id" optional="show" /> <field name="intervention_type_id" optional="show" /> <field name="intervention_length" sum="Total" optional="show" /> diff --git a/views/sale_project_view.xml b/views/sale_project_view.xml index 789ed4507e4ca4cc75fc59cc0262a927951da193..6de1de8918ac00a3f92e7842cc97bded2ac836d0 100644 --- a/views/sale_project_view.xml +++ b/views/sale_project_view.xml @@ -25,6 +25,13 @@ icon="fa-pagelines" /> </div> + <div class="oe_title"> + <h1> + <field name="name" readonly="1" /> + <br /> + Client : <field name="partner_id" readonly="1" /> + </h1> + </div> <field name="sale_order_id" invisible="True" /> <group name="required_infos" string="Projet">