From 8ba8b3cd28f12bc55e3ea842ce5b6292b2df42a1 Mon Sep 17 00:00:00 2001
From: Julien Ortet <julien@le-filament.com>
Date: Tue, 27 Feb 2024 12:15:28 +0100
Subject: [PATCH] Customer review

---
 README.rst                                   |  8 +++---
 __manifest__.py                              |  4 +--
 models/acc_repartition_keys.py               |  5 ++--
 tools/key_file.py                            |  4 +--
 views/acc_operation_views.xml                | 13 ++++++----
 wizard/acc_repartition_keys_wizard.py        |  4 ++-
 wizard/acc_repartition_keys_wizard_views.xml | 27 ++++++++++----------
 7 files changed, 36 insertions(+), 29 deletions(-)

diff --git a/README.rst b/README.rst
index d5c9203..3c0f61f 100644
--- a/README.rst
+++ b/README.rst
@@ -4,14 +4,14 @@
 
 
 ============================
-OACC - Clefs de répartition
+OACC - clés de répartition
 ============================
 
-Ce module permet d'uploader de tester et d envoyer a enedis les clefs de répartion pour une Opération d'AutoConsommation Collective:
+Ce module permet d'uploader de tester et d envoyer a enedis les clés de répartion pour une Opération d'AutoConsommation Collective:
 
 * Ajoute un onglet à la vue des opérations
-* Ajout du test d'un fichier de clefs de répartition
-* Ajout l'envoi via l'API enedis des clefs
+* Ajout du test d'un fichier de clés de répartition
+* Ajout l'envoi via l'API enedis des clés
 * Stockage des fichiers
 
 
diff --git a/__manifest__.py b/__manifest__.py
index 173a141..2cb8596 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -1,6 +1,6 @@
 {
-    "name": "OACC - Clefs de répartions",
-    "summary": "Module de gestion des clefs de répartitions enedis OACC",
+    "name": "OACC - clés de répartions",
+    "summary": "Module de gestion des clés de répartitions enedis OACC",
     "author": "Le Filament",
     "website": "https://le-filament.com",
     "version": "16.0.1.0.0",
diff --git a/models/acc_repartition_keys.py b/models/acc_repartition_keys.py
index 52471e3..234cd0e 100644
--- a/models/acc_repartition_keys.py
+++ b/models/acc_repartition_keys.py
@@ -3,13 +3,14 @@ from odoo import fields, models
 
 class AccRepartitionKeys(models.Model):
     _name = "acc.repartition.keys"
-    _description = "Clefs de repartition"
+    _description = "clés de repartition"
     _order = "date_send DESC, id DESC"
 
     # ------------------------------------------------------
     # Fields declaration
     csv_file = fields.Binary("Contenu du fichier CSV", required=True)
-    date_send = fields.Date("Date de l'envoi des clefs", required=True, default=None)
+    filename = fields.Char("Nom du fichier", required=True)
+    date_send = fields.Date("Date de l'envoi des clés", required=True, default=None)
     operation_id = fields.Many2one("acc.operation", "Opération", required=True)
 
     # ------------------------------------------------------
diff --git a/tools/key_file.py b/tools/key_file.py
index b7b10c8..f360a92 100644
--- a/tools/key_file.py
+++ b/tools/key_file.py
@@ -171,10 +171,10 @@ class RepartitionKeyEntryFile:
         [{ "id":id, "key":key}, ...]
 
         """
-        keys_sum = 0
+        keys_sum = 0.0
         for key in horo:
             if key["key"] == "0.00000000":
                 key["key"] = 0.0
             keys_sum = keys_sum + float(key["key"])
 
-        return keys_sum
+        return round(keys_sum, 4)
diff --git a/views/acc_operation_views.xml b/views/acc_operation_views.xml
index 588f02d..ac9c54c 100644
--- a/views/acc_operation_views.xml
+++ b/views/acc_operation_views.xml
@@ -8,11 +8,14 @@
         <field name="inherit_id" ref="oacc.acc_operation_form_view" />
         <field name="arch" type="xml">
             <xpath expr="//notebook" position="inside">
-                <page string="Clefs de répartition" name="keys">
-                    <tree>
-                        <field name="keys_repartition_ids" />
-                    </tree>
-                        <button
+                <page string="clés de répartition" name="keys">
+                    <field name="keys_repartition_ids" mode="tree">
+                        <tree create="0">
+                            <field name="date_send" />
+                            <field name="filename" />
+                        </tree>
+                    </field>
+                <button
             string="Importer un fichier"
             type="action"
             name="%(oacc_repartition_keys.acc_repartition_keys_wizard_action)d"
diff --git a/wizard/acc_repartition_keys_wizard.py b/wizard/acc_repartition_keys_wizard.py
index 360dd94..1f4de09 100644
--- a/wizard/acc_repartition_keys_wizard.py
+++ b/wizard/acc_repartition_keys_wizard.py
@@ -11,7 +11,7 @@ from ..tools.key_file import RepartitionKeyEntryFile
 
 class AccRepartitionKeysWizard(models.TransientModel):
     _name = "acc.repartition.keys.wizard"
-    _description = "Clefs de répartition"
+    _description = "clés de répartition"
 
     # ------------------------------------------------------
     # Default methods
@@ -23,6 +23,7 @@ class AccRepartitionKeysWizard(models.TransientModel):
     # Fields declaration
     # ------------------------------------------------------
     csv_file = fields.Binary("Contenu du fichier CSV")
+    filename = fields.Char("Nom du fichier")
     date_send = fields.Date(default=None)
     operation_id = fields.Many2one(
         "acc.operation", "Opération", default=_default_operation_id
@@ -108,6 +109,7 @@ class AccRepartitionKeysWizard(models.TransientModel):
             self.env["acc.repartition.keys"].create(
                 {
                     "csv_file": self.csv_file,
+                    "filename": self.filename,
                     "date_send": fields.Date.context_today(self),
                     "operation_id": self.operation_id.id,
                 }
diff --git a/wizard/acc_repartition_keys_wizard_views.xml b/wizard/acc_repartition_keys_wizard_views.xml
index ebd2c5f..e7e154f 100644
--- a/wizard/acc_repartition_keys_wizard_views.xml
+++ b/wizard/acc_repartition_keys_wizard_views.xml
@@ -4,21 +4,22 @@
         <field name="name">acc.repartition.keys.wizard.form</field>
         <field name="model">acc.repartition.keys.wizard</field>
         <field name="arch" type="xml">
-            <form string="Création clefs de repartition">
-                <field name="csv_file" />
+            <form string="Création clés de repartition">
+                <field name="filename" invisible="1" />
+                <field widget="binary" name="csv_file" filename="filename" />
                 <footer>
                     <button
-            class="btn btn-primary"
-            name="send_imported_file"
-            type="object"
-            string="Envoyer a enedis"
-          />
+                        class="btn btn-primary"
+                        name="send_imported_file"
+                        type="object"
+                        string="Envoyer a enedis"
+                    />
                     <button
-            class="btn btn-primary"
-            name="ignore"
-            type="object"
-            string="Ignorer"
-          />
+                        class="btn btn-primary"
+                        name="ignore"
+                        type="object"
+                        string="Ignorer"
+                    />
                 </footer>
             </form>
         </field>
@@ -28,7 +29,7 @@
     id="acc_repartition_keys_wizard_action"
     model="ir.actions.act_window"
   >
-        <field name="name">Création clefs de repartition</field>
+        <field name="name">Création clés de repartition</field>
         <field name="type">ir.actions.act_window</field>
         <field name="res_model">acc.repartition.keys.wizard</field>
         <field name="view_mode">form</field>
-- 
GitLab