[ADD] domain field for additional filtering
parent
28f3aed4b0
commit
bf8ba49e8b
|
@ -182,6 +182,7 @@ class GeneralLedgerReport(models.AbstractModel):
|
|||
fy_start_date,
|
||||
analytic_tag_ids,
|
||||
cost_center_ids,
|
||||
extra_domain,
|
||||
):
|
||||
base_domain = []
|
||||
if company_id:
|
||||
|
@ -194,6 +195,8 @@ class GeneralLedgerReport(models.AbstractModel):
|
|||
base_domain += [("analytic_tag_ids", "in", analytic_tag_ids)]
|
||||
if cost_center_ids:
|
||||
base_domain += [("analytic_account_id", "in", cost_center_ids)]
|
||||
if extra_domain:
|
||||
base_domain += extra_domain
|
||||
initial_domain_bs = self._get_initial_balances_bs_ml_domain(
|
||||
account_ids, company_id, date_from, base_domain
|
||||
)
|
||||
|
@ -439,6 +442,7 @@ class GeneralLedgerReport(models.AbstractModel):
|
|||
partners_ids,
|
||||
analytic_tag_ids,
|
||||
cost_center_ids,
|
||||
extra_domain,
|
||||
):
|
||||
domain = self._get_period_domain(
|
||||
account_ids,
|
||||
|
@ -450,6 +454,8 @@ class GeneralLedgerReport(models.AbstractModel):
|
|||
analytic_tag_ids,
|
||||
cost_center_ids,
|
||||
)
|
||||
if extra_domain:
|
||||
domain += extra_domain
|
||||
ml_fields = [
|
||||
"id",
|
||||
"name",
|
||||
|
@ -774,6 +780,7 @@ class GeneralLedgerReport(models.AbstractModel):
|
|||
only_posted_moves = data["only_posted_moves"]
|
||||
unaffected_earnings_account = data["unaffected_earnings_account"]
|
||||
fy_start_date = data["fy_start_date"]
|
||||
extra_domain = data["domain"]
|
||||
gen_ld_data, partners_data, partners_ids = self._get_initial_balance_data(
|
||||
account_ids,
|
||||
partner_ids,
|
||||
|
@ -785,6 +792,7 @@ class GeneralLedgerReport(models.AbstractModel):
|
|||
fy_start_date,
|
||||
analytic_tag_ids,
|
||||
cost_center_ids,
|
||||
extra_domain,
|
||||
)
|
||||
centralize = data["centralize"]
|
||||
(
|
||||
|
@ -809,6 +817,7 @@ class GeneralLedgerReport(models.AbstractModel):
|
|||
partners_ids,
|
||||
analytic_tag_ids,
|
||||
cost_center_ids,
|
||||
extra_domain,
|
||||
)
|
||||
general_ledger = self._create_general_ledger(
|
||||
gen_ld_data,
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
|
||||
import time
|
||||
from ast import literal_eval
|
||||
|
||||
from odoo import _, api, fields, models
|
||||
from odoo.exceptions import ValidationError
|
||||
|
@ -87,6 +88,16 @@ class GeneralLedgerReportWizard(models.TransientModel):
|
|||
)
|
||||
show_partner_details = fields.Boolean(string="Show Partner Details", default=True,)
|
||||
show_cost_center = fields.Boolean(string="Show Analytic Account", default=True,)
|
||||
domain = fields.Char(
|
||||
string="Journal Items Domain",
|
||||
default=[],
|
||||
help="This domain will be used to select specific domain for Journal " "Items",
|
||||
)
|
||||
|
||||
@api.multi
|
||||
def _get_account_move_lines_domain(self):
|
||||
domain = literal_eval(self.domain) if self.domain else []
|
||||
return domain
|
||||
|
||||
@api.onchange("account_code_from", "account_code_to")
|
||||
def on_change_account_range(self):
|
||||
|
@ -311,6 +322,7 @@ class GeneralLedgerReportWizard(models.TransientModel):
|
|||
"fy_start_date": self.fy_start_date,
|
||||
"unaffected_earnings_account": self.unaffected_earnings_account.id,
|
||||
"account_financial_report_lang": self.env.lang,
|
||||
"domain": self._get_account_move_lines_domain(),
|
||||
}
|
||||
|
||||
def _export(self, report_type):
|
||||
|
|
|
@ -93,6 +93,13 @@
|
|||
options="{'no_create': True}"
|
||||
/>
|
||||
</page>
|
||||
<page string="Additional Filtering">
|
||||
<field
|
||||
name="domain"
|
||||
widget="domain"
|
||||
options="{'model': 'account.move.line', 'in_dialog': True}"
|
||||
/>
|
||||
</page>
|
||||
</notebook>
|
||||
</div>
|
||||
<div
|
||||
|
|
Loading…
Reference in New Issue