Initial commit
This commit is contained in:
33
Fusion Accounting/models/executive_summary_report.py
Normal file
33
Fusion Accounting/models/executive_summary_report.py
Normal file
@@ -0,0 +1,33 @@
|
||||
# Fusion Accounting - Executive Summary Report
|
||||
|
||||
from odoo import fields, models
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
|
||||
class ExecutiveSummaryReport(models.Model):
|
||||
"""Extends the accounting report to provide an executive summary metric
|
||||
that computes the number of days in the selected reporting period."""
|
||||
|
||||
_inherit = 'account.report'
|
||||
|
||||
def _report_custom_engine_executive_summary_ndays(
|
||||
self, expressions, options, date_scope,
|
||||
current_groupby, next_groupby,
|
||||
offset=0, limit=None, warnings=None,
|
||||
):
|
||||
"""Calculate the total number of calendar days within the report period.
|
||||
|
||||
This engine expression is used by the executive summary layout to
|
||||
display the length of the chosen date window. Group-by is
|
||||
intentionally unsupported because the metric is inherently scalar.
|
||||
"""
|
||||
if current_groupby or next_groupby:
|
||||
raise UserError(
|
||||
"The executive summary day-count expression "
|
||||
"does not support grouping."
|
||||
)
|
||||
|
||||
period_start = fields.Date.from_string(options['date']['date_from'])
|
||||
period_end = fields.Date.from_string(options['date']['date_to'])
|
||||
elapsed = period_end - period_start
|
||||
return {'result': elapsed.days}
|
||||
Reference in New Issue
Block a user