mirror of
https://github.com/OCA/bank-payment.git
synced 2025-02-02 10:37:31 +02:00
@@ -83,11 +83,8 @@ class AccountPaymentOrder(models.Model):
|
|||||||
priority = payment_line.priority
|
priority = payment_line.priority
|
||||||
local_instrument = payment_line.local_instrument
|
local_instrument = payment_line.local_instrument
|
||||||
categ_purpose = payment_line.category_purpose
|
categ_purpose = payment_line.category_purpose
|
||||||
# The field line.date is the requested payment date
|
# The field line.payment_line_date is the requested payment date
|
||||||
# taking into account the 'date_prefered' setting
|
key = (line.payment_line_date, priority, local_instrument, categ_purpose)
|
||||||
# cf account_banking_payment_export/models/account_payment.py
|
|
||||||
# in the inherit of action_open()
|
|
||||||
key = (line.date, priority, local_instrument, categ_purpose)
|
|
||||||
if key in lines_per_group:
|
if key in lines_per_group:
|
||||||
lines_per_group[key].append(line)
|
lines_per_group[key].append(line)
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -93,11 +93,8 @@ class AccountPaymentOrder(models.Model):
|
|||||||
)
|
)
|
||||||
% payment_line.mandate_id.unique_mandate_reference
|
% payment_line.mandate_id.unique_mandate_reference
|
||||||
)
|
)
|
||||||
# The field line.date is the requested payment date
|
# The field line.payment_line_date is the requested payment date
|
||||||
# taking into account the 'date_preferred' setting
|
key = (line.payment_line_date, priority, categ_purpose, seq_type, scheme)
|
||||||
# cf account_banking_payment_export/models/account_payment.py
|
|
||||||
# in the inherit of action_open()
|
|
||||||
key = (line.date, priority, categ_purpose, seq_type, scheme)
|
|
||||||
if key in lines_per_group:
|
if key in lines_per_group:
|
||||||
lines_per_group[key].append(line)
|
lines_per_group[key].append(line)
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ class AccountPayment(models.Model):
|
|||||||
|
|
||||||
payment_order_id = fields.Many2one(comodel_name="account.payment.order")
|
payment_order_id = fields.Many2one(comodel_name="account.payment.order")
|
||||||
payment_line_ids = fields.Many2many(comodel_name="account.payment.line")
|
payment_line_ids = fields.Many2many(comodel_name="account.payment.line")
|
||||||
|
payment_line_date = fields.Date(compute="_compute_payment_line_date")
|
||||||
# Compatibility with previous approach for returns - To be removed on v16
|
# Compatibility with previous approach for returns - To be removed on v16
|
||||||
old_bank_payment_line_name = fields.Char()
|
old_bank_payment_line_name = fields.Char()
|
||||||
|
|
||||||
@@ -45,6 +46,11 @@ class AccountPayment(models.Model):
|
|||||||
)
|
)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
@api.depends("payment_line_ids", "payment_line_ids.date")
|
||||||
|
def _compute_payment_line_date(self):
|
||||||
|
for item in self:
|
||||||
|
item.payment_line_date = item.payment_line_ids[:1].date
|
||||||
|
|
||||||
def _prepare_move_line_default_vals(self, write_off_line_vals=None):
|
def _prepare_move_line_default_vals(self, write_off_line_vals=None):
|
||||||
"""Overwrite date_maturity of the move_lines that are generated when related
|
"""Overwrite date_maturity of the move_lines that are generated when related
|
||||||
to a payment order.
|
to a payment order.
|
||||||
|
|||||||
@@ -145,11 +145,13 @@ class TestPaymentOrderInbound(TestPaymentOrderInboundBase):
|
|||||||
self.assertEqual(len(self.payment_order_obj.search(self.domain)), 0)
|
self.assertEqual(len(self.payment_order_obj.search(self.domain)), 0)
|
||||||
|
|
||||||
@freeze_time("2024-04-01")
|
@freeze_time("2024-04-01")
|
||||||
def test_creation_transfer_move_date(self):
|
def test_creation_transfer_move_date_01(self):
|
||||||
self.inbound_order.date_prefered = "fixed"
|
self.inbound_order.date_prefered = "fixed"
|
||||||
self.inbound_order.date_scheduled = "2024-06-01"
|
self.inbound_order.date_scheduled = "2024-06-01"
|
||||||
self.inbound_order.draft2open()
|
self.inbound_order.draft2open()
|
||||||
payment_move = self.inbound_order.payment_ids.move_id
|
payment = self.inbound_order.payment_ids
|
||||||
|
self.assertEqual(payment.payment_line_date, date(2024, 6, 1))
|
||||||
|
payment_move = payment.move_id
|
||||||
self.assertEqual(payment_move.date, date(2024, 4, 1)) # now
|
self.assertEqual(payment_move.date, date(2024, 4, 1)) # now
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
payment_move.line_ids.mapped("date_maturity"),
|
payment_move.line_ids.mapped("date_maturity"),
|
||||||
@@ -159,7 +161,35 @@ class TestPaymentOrderInbound(TestPaymentOrderInboundBase):
|
|||||||
self.inbound_order.open2generated()
|
self.inbound_order.open2generated()
|
||||||
self.inbound_order.generated2uploaded()
|
self.inbound_order.generated2uploaded()
|
||||||
self.assertEqual(self.inbound_order.state, "uploaded")
|
self.assertEqual(self.inbound_order.state, "uploaded")
|
||||||
payment_move = self.inbound_order.payment_ids.move_id
|
payment = self.inbound_order.payment_ids
|
||||||
|
self.assertEqual(payment.payment_line_date, date(2024, 6, 1))
|
||||||
|
payment_move = payment.move_id
|
||||||
|
self.assertEqual(payment_move.date, date(2024, 4, 1)) # now
|
||||||
|
self.assertEqual(
|
||||||
|
payment_move.line_ids.mapped("date_maturity"),
|
||||||
|
[date(2024, 6, 1), date(2024, 6, 1)],
|
||||||
|
)
|
||||||
|
|
||||||
|
@freeze_time("2024-04-01")
|
||||||
|
def test_creation_transfer_move_date_02(self):
|
||||||
|
# Simulate that the invoice had a different due date
|
||||||
|
self.inbound_order.payment_line_ids.ml_maturity_date = "2024-06-01"
|
||||||
|
self.inbound_order.draft2open()
|
||||||
|
payment = self.inbound_order.payment_ids
|
||||||
|
self.assertEqual(payment.payment_line_date, date(2024, 6, 1))
|
||||||
|
payment_move = payment.move_id
|
||||||
|
self.assertEqual(payment_move.date, date(2024, 4, 1)) # now
|
||||||
|
self.assertEqual(
|
||||||
|
payment_move.line_ids.mapped("date_maturity"),
|
||||||
|
[date(2024, 6, 1), date(2024, 6, 1)],
|
||||||
|
)
|
||||||
|
self.assertEqual(self.inbound_order.payment_count, 1)
|
||||||
|
self.inbound_order.open2generated()
|
||||||
|
self.inbound_order.generated2uploaded()
|
||||||
|
self.assertEqual(self.inbound_order.state, "uploaded")
|
||||||
|
payment = self.inbound_order.payment_ids
|
||||||
|
self.assertEqual(payment.payment_line_date, date(2024, 6, 1))
|
||||||
|
payment_move = payment.move_id
|
||||||
self.assertEqual(payment_move.date, date(2024, 4, 1)) # now
|
self.assertEqual(payment_move.date, date(2024, 4, 1)) # now
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
payment_move.line_ids.mapped("date_maturity"),
|
payment_move.line_ids.mapped("date_maturity"),
|
||||||
|
|||||||
Reference in New Issue
Block a user