35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import fields, models
|
|
|
|
|
|
class AccountAnalyticLine(models.Model):
|
|
_inherit = "account.analytic.line"
|
|
|
|
# [XBO] TODO: remove me in master
|
|
allowed_so_line_ids = fields.Many2many('sale.order.line', compute='_compute_allowed_so_line_ids')
|
|
so_line = fields.Many2one('sale.order.line', string='Sales Order Item', domain=[('qty_delivered_method', '=', 'analytic')])
|
|
|
|
def _default_sale_line_domain(self):
|
|
""" This is only used for delivered quantity of SO line based on analytic line, and timesheet
|
|
(see sale_timesheet). This can be override to allow further customization.
|
|
[XBO] TODO: remove me in master
|
|
"""
|
|
return [('qty_delivered_method', '=', 'analytic')]
|
|
|
|
def _compute_allowed_so_line_ids(self):
|
|
# [XBO] TODO: remove me in master
|
|
self.allowed_so_line_ids = False
|
|
|
|
class AccountAnalyticApplicability(models.Model):
|
|
_inherit = 'account.analytic.applicability'
|
|
_description = "Analytic Plan's Applicabilities"
|
|
|
|
business_domain = fields.Selection(
|
|
selection_add=[
|
|
('sale_order', 'Sale Order'),
|
|
],
|
|
ondelete={'sale_order': 'cascade'},
|
|
)
|