Initial commit: Odoo 18.0-20251222 extra-addons
Some checks failed
pre-commit / pre-commit (push) Has been cancelled
tests / Detect unreleased dependencies (push) Has been cancelled
tests / test with OCB (push) Has been cancelled
tests / test with Odoo (push) Has been cancelled

This commit is contained in:
tocmo0nlord
2026-03-13 20:43:25 +00:00
parent 36e847a7df
commit adbe430761
9472 changed files with 1265727 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import account_move
from . import account_move_line
from . import res_company

View File

@@ -0,0 +1,49 @@
# Copyright 2017 ACSONE SA/NV
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
from odoo.osv import expression
class AccountMove(models.Model):
_inherit = "account.move"
date_range_fy_id = fields.Many2one(
comodel_name="account.fiscal.year",
string="Fiscal year",
compute="_compute_date_range_fy",
search="_search_date_range_fy",
)
@api.depends("date", "company_id")
def _compute_date_range_fy(self):
for rec in self:
date = fields.Date.to_date(rec.date)
company = rec.company_id
rec.date_range_fy_id = company and company.find_daterange_fy(date) or False
@api.model
def _search_date_range_fy(self, operator, value):
if operator in ("=", "!=", "in", "not in"):
date_range_domain = [("id", operator, value)]
else:
date_range_domain = [("name", operator, value)]
date_ranges = self.env["account.fiscal.year"].search(date_range_domain)
domain = [("id", "=", -1)]
for date_range in date_ranges:
domain = expression.OR(
[
domain,
[
"&",
("date", ">=", date_range.date_from),
("date", "<=", date_range.date_to),
"|",
("company_id", "=", False),
("company_id", "=", date_range.company_id.id),
],
]
)
return domain

View File

@@ -0,0 +1,12 @@
# Copyright 2017 ACSONE SA/NV
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import fields, models
class AccountMoveLine(models.Model):
_inherit = "account.move.line"
date_range_fy_id = fields.Many2one(
related="move_id.date_range_fy_id",
)

View File

@@ -0,0 +1,24 @@
# Author: Damien Crier
# Copyright 2016 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models
class ResCompany(models.Model):
_inherit = "res.company"
def find_daterange_fy(self, date):
"""
try to find a date range with type 'fiscalyear'
with @param:date contained in its date_start/date_end interval
"""
fiscalyear = self.env["account.fiscal.year"].search(
[
("company_id", "=", self.id),
("date_from", "<=", date),
("date_to", ">=", date),
],
limit=1,
)
return fiscalyear