[IMP] pre-commit: first run on whole repo
This commit is contained in:
@@ -6,47 +6,70 @@ from odoo import api, fields, models
|
||||
|
||||
|
||||
class AccountInvoiceReport(models.Model):
|
||||
_inherit = 'account.invoice.report'
|
||||
_inherit = "account.invoice.report"
|
||||
|
||||
margin = fields.Float(string='Margin', readonly=True)
|
||||
margin = fields.Float(string="Margin", readonly=True)
|
||||
# why digits=0 ??? Why is it like that in the native "account" module
|
||||
user_currency_margin = fields.Float(
|
||||
string="Margin", compute='_compute_user_currency_margin', digits=0)
|
||||
string="Margin", compute="_compute_user_currency_margin", digits=0
|
||||
)
|
||||
|
||||
_depends = {
|
||||
'account.invoice': [
|
||||
'account_id', 'amount_total_company_signed',
|
||||
'commercial_partner_id', 'company_id',
|
||||
'currency_id', 'date_due', 'date_invoice', 'fiscal_position_id',
|
||||
'journal_id', 'number', 'partner_bank_id', 'partner_id',
|
||||
'payment_term_id', 'residual', 'state', 'type', 'user_id',
|
||||
"account.invoice": [
|
||||
"account_id",
|
||||
"amount_total_company_signed",
|
||||
"commercial_partner_id",
|
||||
"company_id",
|
||||
"currency_id",
|
||||
"date_due",
|
||||
"date_invoice",
|
||||
"fiscal_position_id",
|
||||
"journal_id",
|
||||
"number",
|
||||
"partner_bank_id",
|
||||
"partner_id",
|
||||
"payment_term_id",
|
||||
"residual",
|
||||
"state",
|
||||
"type",
|
||||
"user_id",
|
||||
],
|
||||
'account.invoice.line': [
|
||||
'account_id', 'invoice_id', 'price_subtotal', 'product_id',
|
||||
'quantity', 'uom_id', 'account_analytic_id',
|
||||
'margin_company_currency',
|
||||
"account.invoice.line": [
|
||||
"account_id",
|
||||
"invoice_id",
|
||||
"price_subtotal",
|
||||
"product_id",
|
||||
"quantity",
|
||||
"uom_id",
|
||||
"account_analytic_id",
|
||||
"margin_company_currency",
|
||||
],
|
||||
'product.product': ['product_tmpl_id'],
|
||||
'product.template': ['categ_id'],
|
||||
'uom.uom': ['category_id', 'factor', 'name', 'uom_type'],
|
||||
'res.currency.rate': ['currency_id', 'name'],
|
||||
'res.partner': ['country_id'],
|
||||
"product.product": ["product_tmpl_id"],
|
||||
"product.template": ["categ_id"],
|
||||
"uom.uom": ["category_id", "factor", "name", "uom_type"],
|
||||
"res.currency.rate": ["currency_id", "name"],
|
||||
"res.partner": ["country_id"],
|
||||
}
|
||||
|
||||
@api.depends('currency_id', 'date', 'margin')
|
||||
@api.depends("currency_id", "date", "margin")
|
||||
def _compute_user_currency_margin(self):
|
||||
user_currency = self.env.user.company_id.currency_id
|
||||
currency_rate = self.env['res.currency.rate'].search([
|
||||
('rate', '=', 1),
|
||||
'|',
|
||||
('company_id', '=', self.env.user.company_id.id),
|
||||
('company_id', '=', False)], limit=1)
|
||||
currency_rate = self.env["res.currency.rate"].search(
|
||||
[
|
||||
("rate", "=", 1),
|
||||
"|",
|
||||
("company_id", "=", self.env.user.company_id.id),
|
||||
("company_id", "=", False),
|
||||
],
|
||||
limit=1,
|
||||
)
|
||||
base_currency = currency_rate.currency_id
|
||||
for record in self:
|
||||
date = record.date or fields.Date.today()
|
||||
company = record.company_id
|
||||
record.user_currency_margin = base_currency._convert(
|
||||
record.margin, user_currency, company, date)
|
||||
record.margin, user_currency, company, date
|
||||
)
|
||||
|
||||
# TODO check for refunds
|
||||
def _sub_select(self):
|
||||
|
||||
Reference in New Issue
Block a user