Skip to content
Snippets Groups Projects

Feature/add constrain to spa

Merged emanuel buzey requested to merge feature/add-constrain-to-spa into dev
1 unresolved thread
1 file
+ 11
14
Compare changes
  • Side-by-side
  • Inline
from odoo import api, fields, models, _
from odoo import fields, models, api
from odoo.exceptions import ValidationError
class SupplyPointAssignation(models.Model):
_name = "energy_selfconsumption.supply_point_assignation"
_description = "Supply Point Assignation"
_name = 'energy_selfconsumption.supply_point_assignation'
_description = 'Supply Point Assignation'
@api.depends("distribution_table_id")
@api.depends('distribution_table_id')
def _compute_supply_point_filtered_ids(self):
'''
List of supply point of partners subscribed to the project and not in the list of the distribution table to
@@ -16,10 +16,9 @@ class SupplyPointAssignation(models.Model):
'''
for record in self:
record.supply_point_filtered_ids = \
record.distribution_table_id.selfconsumption_project_id.inscription_ids.mapped("partner_id.supply_ids") \
.filtered_domain([("id", "not in", record.distribution_table_id.supply_point_assignation_ids.mapped(
"supply_point_id.id"))])
record.distribution_table_id.selfconsumption_project_id.inscription_ids.mapped('partner_id.supply_ids') \
.filtered_domain([('id', 'not in', record.distribution_table_id.supply_point_assignation_ids.mapped(
'supply_point_id.id'))])
distribution_table_id = fields.Many2one(
"energy_selfconsumption.distribution_table", required=True
@@ -43,20 +42,18 @@ class SupplyPointAssignation(models.Model):
)
supply_point_filtered_ids = fields.One2many("energy_selfconsumption.supply_point",
supply_point_filtered_ids = fields.One2many('energy_selfconsumption.supply_point',
compute=_compute_supply_point_filtered_ids, readonly=True)
company_id = fields.Many2one(
"res.company", default=lambda self: self.env.company, readonly=True
)
@api.constrains("coefficient", "owner_id")
@api.constrains('coefficient')
def constraint_coefficient(self):
for record in self:
if record.owner_id and not record.owner_id.member:
raise ValidationError(_("The selected partner is not a member"))
if record.coefficient < 0:
raise ValidationError(_("Coefficient can't be negative."))
raise ValidationError("Coefficient can't be negative.")
@api.onchange("coefficient")
@api.onchange('coefficient')
def _onchange_coefficient(self):
if self.coefficient < 0:
self.coefficient = -self.coefficient
Loading