31 lines
925 B
Python
31 lines
925 B
Python
from odoo import models
|
|
from odoo.tools import populate
|
|
|
|
|
|
class AnalyticAccount(models.Model):
|
|
_inherit = "account.analytic.account"
|
|
_populate_sizes = {
|
|
'small': 100,
|
|
'medium': 1_000,
|
|
'large': 10_000,
|
|
}
|
|
|
|
def _populate_factories(self):
|
|
project_plan = self._search_or_create_plan('Projects')
|
|
department_plan = self._search_or_create_plan('Departments')
|
|
return [
|
|
('company_id', populate.constant(False)),
|
|
('plan_id', populate.cartesian(
|
|
[project_plan.id, department_plan.id],
|
|
[0.99, 0.01],
|
|
)),
|
|
('name', populate.constant("Account {counter}")),
|
|
]
|
|
|
|
def _search_or_create_plan(self, name):
|
|
return self.env['account.analytic.plan'].search([
|
|
('name', '=', name),
|
|
]) or self.env['account.analytic.plan'].create({
|
|
'name': name,
|
|
})
|