diff --git a/README.rst b/README.rst index d5c92036ccae1db6bdc2f5a362fc688ddd9df9ba..3c0f61f1e922e178bf2eaf482e19e4445da22764 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 173a141ea9e4ab719cec472de486a6a3f6c449bd..2cb8596feea56970af84e38fb35a07532eb4742b 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 52471e399d3d2fda2375c0745377c5593c093bdb..234cd0eeda7e05845ffbf9a5bdcab066d41bcdbe 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 b7b10c88d797068fe6ed6c92461bff7faa7b70b4..f360a922ad461f12f5953b20535f0bf325cd86f3 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 588f02db9ab33dc27fd89357bc0e3aa9b1123372..ac9c54cd7b7d198f95fc1f46c74827c725a3bcf6 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 360dd9436f4f105bd944da7095dee1fa2a0f05e9..1f4de09f2ee7dc7e574695565604ecbbbb21e536 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 ebd2c5fa18eb19110a3d35c7fa2a96075198b689..e7e154fedca01985726fc79ec30617b910f517db 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>