[NEW] Addons account_budget_forecast creation
This commit is contained in:
30
account_budget_forecast/models/sale_order.py
Normal file
30
account_budget_forecast/models/sale_order.py
Normal file
@@ -0,0 +1,30 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from odoo import models, fields, _, api
|
||||
from odoo.exceptions import Warning
|
||||
|
||||
|
||||
class SaleOrder(models.Model):
|
||||
_inherit = "sale.order"
|
||||
|
||||
plan_amount_with_coeff = fields.Float(
|
||||
related="analytic_account_id.plan_amount_with_coeff"
|
||||
)
|
||||
|
||||
def action_budget_forecast(self):
|
||||
if not self.analytic_account_id:
|
||||
raise Warning(_("Please set the analytic account"))
|
||||
return self.analytic_account_id.action_budget_forecast()
|
||||
|
||||
@api.returns("self", lambda value: value.id)
|
||||
def copy(self, default=None):
|
||||
record = super(SaleOrder, self).copy(default=default)
|
||||
if self.analytic_account_id.budget_forecast_ids:
|
||||
if self.name in self.analytic_account_id.name:
|
||||
name = self.analytic_account_id.name.replace(self.name, record.name)
|
||||
else:
|
||||
name = "%s: %s" % (self.analytic_account_id.name, record.name)
|
||||
record.analytic_account_id = self.analytic_account_id.copy(
|
||||
default=dict(name=name)
|
||||
)
|
||||
return record
|
Reference in New Issue
Block a user