Merge PR #1248 into 17.0

Signed-off-by pedrobaeza
This commit is contained in:
OCA-git-bot
2024-04-10 22:27:32 +00:00
3 changed files with 19 additions and 23 deletions

View File

@@ -190,7 +190,6 @@ class TestPaymentOrderOutbound(TestPaymentOrderOutboundBase):
)
)
line_create.payment_mode = "any"
line_create.move_line_filters_change()
line_create.populate()
line_create.create_payment_lines()
line_created_due = (

View File

@@ -41,6 +41,7 @@ class AccountPaymentLineCreate(models.TransientModel):
move_line_ids = fields.Many2many(
comodel_name="account.move.line", string="Move Lines"
)
move_line_domain = fields.Binary(compute="_compute_move_line_domain")
@api.model
def default_get(self, field_list):
@@ -66,7 +67,18 @@ class AccountPaymentLineCreate(models.TransientModel):
)
return res
def _prepare_move_line_domain(self):
@api.depends(
"date_type",
"move_date",
"due_date",
"journal_ids",
"invoice",
"target_move",
"allow_blocked",
"payment_mode",
"partner_ids",
)
def _compute_move_line_domain(self):
self.ensure_one()
domain = [
("reconciled", "=", False),
@@ -85,11 +97,11 @@ class AccountPaymentLineCreate(models.TransientModel):
if self.date_type == "due":
domain += [
"|",
("date_maturity", "<=", self.due_date),
("date_maturity", "<=", fields.Date.to_string(self.due_date)),
("date_maturity", "=", False),
]
elif self.date_type == "move":
domain.append(("date", "<=", self.move_date))
domain.append(("date", "<=", fields.Date.to_string(self.move_date)))
if self.invoice:
domain.append(
(
@@ -150,11 +162,10 @@ class AccountPaymentLineCreate(models.TransientModel):
if paylines:
move_lines_ids = [payline.move_line_id.id for payline in paylines]
domain += [("id", "not in", move_lines_ids)]
return domain
self.move_line_domain = domain
def populate(self):
domain = self._prepare_move_line_domain()
lines = self.env["account.move.line"].search(domain)
lines = self.env["account.move.line"].search(self.move_line_domain)
self.move_line_ids = lines
action = {
"name": _("Select Move Lines to Create Transactions"),
@@ -167,22 +178,6 @@ class AccountPaymentLineCreate(models.TransientModel):
}
return action
@api.onchange(
"date_type",
"move_date",
"due_date",
"journal_ids",
"invoice",
"target_move",
"allow_blocked",
"payment_mode",
"partner_ids",
)
def move_line_filters_change(self):
domain = self._prepare_move_line_domain()
res = {"domain": {"move_line_ids": domain}}
return res
def create_payment_lines(self):
if self.move_line_ids:
self.move_line_ids.create_payment_line_from_move_line(self.order_id)

View File

@@ -53,11 +53,13 @@
name="move_lines"
string="Selected Move Lines to Create Transactions"
>
<field name="move_line_domain" invisible="1" />
<field
name="move_line_ids"
nolabel="1"
force_save="1"
context="{'tree_view_ref': 'account_payment_order.view_move_line_tree', 'form_view_ref':'account_payment_order.view_move_line_form_no_edit'}"
domain="move_line_domain"
colspan="2"
>
<tree>