Skip to content
Snippets Groups Projects
selfconsumption.py 1.21 KiB
Newer Older
from odoo import _, fields, models
from odoo.exceptions import ValidationError


class Selfconsumption(models.Model):
    _name = "energy_selfconsumption.selfconsumption"
    _inherit = ["mail.thread", "mail.activity.mixin"]
    _inherits = {
        "energy_project.project": "project_id",
    }
    _description = "Self-consumption Energy Project"

    project_id = fields.Many2one(
        "energy_project.project", required=True, ondelete="cascade"
    )
    code = fields.Char(string="CAU")
    power = fields.Float(string="Generation Power (kWh)")
    distribution_table_id = fields.Many2one('energy_selfconsumption.distribution_table')

    def set_activation(self):
        for record in self:
            record.write({"state": "activation"})

    def activate(self):
        for record in self:
            if not record.code:
                raise ValidationError(_("Project must have a valid Code."))
            if not record.power or record.power <= 0:
                raise ValidationError(_("Project must have a valid Generation Power."))
            if not record.distribution_table_id:
                raise ValidationError(_("Must select a valid Distribution Table."))