From 506bd5872ca317e52c4c2b1911a8fa48bcabd4a4 Mon Sep 17 00:00:00 2001
From: Daniil Digtyar Vasilieva <daniildigtyar@gmail.com>
Date: Tue, 23 May 2023 17:55:33 +0200
Subject: [PATCH] [IMP] new model distribution table and supply point
 assignation

---
 energy_selfconsumption/models/__init__.py         |  2 ++
 .../models/distribution_table.py                  | 15 +++++++++++++++
 .../models/supply_point_assignation.py            | 12 ++++++++++++
 3 files changed, 29 insertions(+)
 create mode 100644 energy_selfconsumption/models/distribution_table.py
 create mode 100644 energy_selfconsumption/models/supply_point_assignation.py

diff --git a/energy_selfconsumption/models/__init__.py b/energy_selfconsumption/models/__init__.py
index 6297cdd02..be99bd5d4 100644
--- a/energy_selfconsumption/models/__init__.py
+++ b/energy_selfconsumption/models/__init__.py
@@ -1,3 +1,5 @@
 from . import selfconsumption
 from . import supply_point
 from . import partner
+from . import distribution_table
+from . import supply_point_assignation
diff --git a/energy_selfconsumption/models/distribution_table.py b/energy_selfconsumption/models/distribution_table.py
new file mode 100644
index 000000000..428bc5922
--- /dev/null
+++ b/energy_selfconsumption/models/distribution_table.py
@@ -0,0 +1,15 @@
+from odoo import fields, models, api, _
+
+STATE_VALUES = [
+    ("draft", _("Draft")),
+    ("active", _("Active")),
+]
+
+class DistributionTable(models.Model):
+    _name = 'energy_selfconsumption.distribution_table'
+    _description = 'Distribution Table'
+
+    name = fields.Char()
+    selfconsumption_project_id = fields.Many2one('energy_selfconsumption.selfconsumption', required=True)
+    state = fields.Selection(STATE_VALUES, default="draft", required=True)
+    supply_point_assignations_ids = fields.One2many('energy_selfconsumption.supply_point_assignation', 'distribution_table_id')
diff --git a/energy_selfconsumption/models/supply_point_assignation.py b/energy_selfconsumption/models/supply_point_assignation.py
new file mode 100644
index 000000000..63d35bccc
--- /dev/null
+++ b/energy_selfconsumption/models/supply_point_assignation.py
@@ -0,0 +1,12 @@
+from odoo import fields, models, api
+
+
+class SupplyPointAssignation(models.Model):
+    _name = 'energy_selfconsumption.supply_point_assignation'
+    _description = 'Supply Point Assignation'
+
+    distribution_table_id = fields.Many2one('energy_selfconsumption.distribution_table', required=True)
+    supply_point_id = fields.Many2one('energy_selfconsumption.supply_point', required=True)
+    coefficient = fields.Float(string='Distribution coefficient')
+    owner_id = fields.Many2one("res.partner", related='supply_point_id.owner_id')
+
-- 
GitLab