changeset 8e9d429ef1b5 in modules/account_invoice:default
details: 
https://hg.tryton.org/modules/account_invoice?cmd=changeset&node=8e9d429ef1b5
description:
        Rename split lines into reschedule lines

        issue11069
        review387661002
diffstat:

 __init__.py                                 |    2 +-
 account.py                                  |    8 +-
 doc/design.rst                              |    4 +-
 invoice.py                                  |    2 +-
 tests/scenario_invoice_reschedule_lines.rst |  110 ++++++++++++++++++++++++++++
 tests/scenario_invoice_split_lines.rst      |  109 ---------------------------
 tests/test_account_invoice.py               |    2 +-
 7 files changed, 119 insertions(+), 118 deletions(-)

diffs (299 lines):

diff -r 02be5467be12 -r 8e9d429ef1b5 __init__.py
--- a/__init__.py       Tue Jan 25 23:30:35 2022 +0100
+++ b/__init__.py       Wed Jan 26 00:32:20 2022 +0100
@@ -47,7 +47,7 @@
         party.Replace,
         party.Erase,
         account.RenewFiscalYear,
-        account.SplitLines,
+        account.RescheduleLines,
         module='account_invoice', type_='wizard')
     Pool.register(
         invoice.InvoiceReport,
diff -r 02be5467be12 -r 8e9d429ef1b5 account.py
--- a/account.py        Tue Jan 25 23:30:35 2022 +0100
+++ b/account.py        Wed Jan 26 00:32:20 2022 +0100
@@ -413,14 +413,14 @@
         return fiscalyear
 
 
-class SplitLines(metaclass=PoolMeta):
-    __name__ = 'account.move.line.split'
+class RescheduleLines(metaclass=PoolMeta):
+    __name__ = 'account.move.line.reschedule'
 
     @classmethod
-    def split_lines(cls, lines, journal, terms):
+    def reschedule_lines(cls, lines, journal, terms):
         pool = Pool()
         Invoice = pool.get('account.invoice')
-        move, balance_line = super().split_lines(lines, journal, terms)
+        move, balance_line = super().reschedule_lines(lines, journal, terms)
 
         move_ids = list({l.move.id for l in lines})
         invoices = Invoice.search(['OR',
diff -r 02be5467be12 -r 8e9d429ef1b5 doc/design.rst
--- a/doc/design.rst    Tue Jan 25 23:30:35 2022 +0100
+++ b/doc/design.rst    Wed Jan 26 00:32:20 2022 +0100
@@ -108,8 +108,8 @@
 ^^^^^^^^^^^^^^^^^^^^^^^
 
 The *Reschedule Lines to Pay* wizard allows to modify the payment terms of the
-remaining lines to pay using the `Split Lines <wizard-account.move.line.split>`
-wizard.
+remaining lines to pay using the `Reschedule Lines
+<wizard-account.move.line.reschedule>` wizard.
 
 Reports
 -------
diff -r 02be5467be12 -r 8e9d429ef1b5 invoice.py
--- a/invoice.py        Tue Jan 25 23:30:35 2022 +0100
+++ b/invoice.py        Wed Jan 26 00:32:20 2022 +0100
@@ -3226,7 +3226,7 @@
 class RescheduleLinesToPay(Wizard):
     "Reschedule Lines to Pay"
     __name__ = 'account.invoice.lines_to_pay.reschedule'
-    start = StateAction('account.act_split_lines_wizard')
+    start = StateAction('account.act_reschedule_lines_wizard')
 
     def do_start(self, action):
         return action, {
diff -r 02be5467be12 -r 8e9d429ef1b5 tests/scenario_invoice_reschedule_lines.rst
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/scenario_invoice_reschedule_lines.rst       Wed Jan 26 00:32:20 
2022 +0100
@@ -0,0 +1,110 @@
+=================================
+Invoice Reschedule Lines Scenario
+=================================
+
+Imports::
+
+    >>> from decimal import Decimal
+    >>> from proteus import Model, Wizard
+    >>> from trytond.tests.tools import activate_modules
+    >>> from trytond.modules.company.tests.tools import (
+    ...     create_company, get_company)
+    >>> from trytond.modules.account.tests.tools import (
+    ...     create_fiscalyear, create_chart, get_accounts)
+    >>> from trytond.modules.account_invoice.tests.tools import (
+    ...     set_fiscalyear_invoice_sequences)
+
+Activate modules::
+
+    >>> config = activate_modules('account_invoice')
+
+    >>> Invoice = Model.get('account.invoice')
+    >>> Journal = Model.get('account.journal')
+    >>> PaymentMethod = Model.get('account.invoice.payment.method')
+
+Create company::
+
+    >>> _ = create_company()
+    >>> company = get_company()
+
+Create fiscal year::
+
+    >>> fiscalyear = set_fiscalyear_invoice_sequences(
+    ...     create_fiscalyear(company))
+    >>> fiscalyear.click('create_period')
+    >>> period = fiscalyear.periods[0]
+
+Create chart of accounts::
+
+    >>> _ = create_chart(company)
+    >>> accounts = get_accounts(company)
+
+    >>> journal_cash, = Journal.find([
+    ...         ('code', '=', 'CASH'),
+    ...         ])
+
+    >>> payment_method = PaymentMethod()
+    >>> payment_method.name = "Cash"
+    >>> payment_method.journal = journal_cash
+    >>> payment_method.credit_account = accounts['cash']
+    >>> payment_method.debit_account = accounts['cash']
+    >>> payment_method.save()
+
+Create party::
+
+    >>> Party = Model.get('party.party')
+    >>> party = Party(name='Party')
+    >>> party.save()
+
+Post customer invoice::
+
+    >>> invoice = Invoice()
+    >>> invoice.party = party
+    >>> line = invoice.lines.new()
+    >>> line.account = accounts['revenue']
+    >>> line.quantity = 1
+    >>> line.unit_price = Decimal(10)
+    >>> invoice.click('post')
+    >>> invoice.state
+    'posted'
+    >>> len(invoice.lines_to_pay)
+    1
+    >>> invoice.amount_to_pay
+    Decimal('10.00')
+
+Reschedule line::
+
+    >>> reschedule = Wizard(
+    ...     'account.invoice.lines_to_pay.reschedule', [invoice])
+    >>> reschedule_lines, = reschedule.actions
+    >>> reschedule_lines.form.total_amount
+    Decimal('10.00')
+    >>> reschedule_lines.form.start_date = period.end_date
+    >>> reschedule_lines.form.frequency ='monthly'
+    >>> reschedule_lines.form.number = 2
+    >>> reschedule_lines.execute('preview')
+    >>> reschedule_lines.execute('reschedule')
+
+    >>> invoice.reload()
+    >>> invoice.state
+    'posted'
+    >>> len(invoice.lines_to_pay)
+    4
+    >>> len([l for l in invoice.lines_to_pay if not l.reconciliation])
+    2
+    >>> invoice.amount_to_pay
+    Decimal('10.00')
+
+Pay the invoice::
+
+    >>> pay = Wizard('account.invoice.pay', [invoice])
+    >>> pay.form.amount
+    Decimal('10.00')
+    >>> pay.form.payment_method = payment_method
+    >>> pay.execute('choice')
+    >>> pay.state
+    'end'
+    >>> invoice.state
+    'paid'
+    >>> len(invoice.reconciliation_lines)
+    1
diff -r 02be5467be12 -r 8e9d429ef1b5 tests/scenario_invoice_split_lines.rst
--- a/tests/scenario_invoice_split_lines.rst    Tue Jan 25 23:30:35 2022 +0100
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-============================
-Invoice Split Lines Scenario
-============================
-
-Imports::
-
-    >>> from decimal import Decimal
-    >>> from proteus import Model, Wizard
-    >>> from trytond.tests.tools import activate_modules
-    >>> from trytond.modules.company.tests.tools import (
-    ...     create_company, get_company)
-    >>> from trytond.modules.account.tests.tools import (
-    ...     create_fiscalyear, create_chart, get_accounts)
-    >>> from trytond.modules.account_invoice.tests.tools import (
-    ...     set_fiscalyear_invoice_sequences)
-
-Activate modules::
-
-    >>> config = activate_modules('account_invoice')
-
-    >>> Invoice = Model.get('account.invoice')
-    >>> Journal = Model.get('account.journal')
-    >>> PaymentMethod = Model.get('account.invoice.payment.method')
-
-Create company::
-
-    >>> _ = create_company()
-    >>> company = get_company()
-
-Create fiscal year::
-
-    >>> fiscalyear = set_fiscalyear_invoice_sequences(
-    ...     create_fiscalyear(company))
-    >>> fiscalyear.click('create_period')
-    >>> period = fiscalyear.periods[0]
-
-Create chart of accounts::
-
-    >>> _ = create_chart(company)
-    >>> accounts = get_accounts(company)
-
-    >>> journal_cash, = Journal.find([
-    ...         ('code', '=', 'CASH'),
-    ...         ])
-
-    >>> payment_method = PaymentMethod()
-    >>> payment_method.name = "Cash"
-    >>> payment_method.journal = journal_cash
-    >>> payment_method.credit_account = accounts['cash']
-    >>> payment_method.debit_account = accounts['cash']
-    >>> payment_method.save()
-
-Create party::
-
-    >>> Party = Model.get('party.party')
-    >>> party = Party(name='Party')
-    >>> party.save()
-
-Post customer invoice::
-
-    >>> invoice = Invoice()
-    >>> invoice.party = party
-    >>> line = invoice.lines.new()
-    >>> line.account = accounts['revenue']
-    >>> line.quantity = 1
-    >>> line.unit_price = Decimal(10)
-    >>> invoice.click('post')
-    >>> invoice.state
-    'posted'
-    >>> len(invoice.lines_to_pay)
-    1
-    >>> invoice.amount_to_pay
-    Decimal('10.00')
-
-Reschedule line::
-
-    >>> reschedule = Wizard('account.invoice.lines_to_pay.reschedule', 
[invoice])
-    >>> split_lines, = reschedule.actions
-    >>> split_lines.form.total_amount
-    Decimal('10.00')
-    >>> split_lines.form.start_date = period.end_date
-    >>> split_lines.form.frequency ='monthly'
-    >>> split_lines.form.number = 2
-    >>> split_lines.execute('preview')
-    >>> split_lines.execute('split')
-
-    >>> invoice.reload()
-    >>> invoice.state
-    'posted'
-    >>> len(invoice.lines_to_pay)
-    4
-    >>> len([l for l in invoice.lines_to_pay if not l.reconciliation])
-    2
-    >>> invoice.amount_to_pay
-    Decimal('10.00')
-
-Pay the invoice::
-
-    >>> pay = Wizard('account.invoice.pay', [invoice])
-    >>> pay.form.amount
-    Decimal('10.00')
-    >>> pay.form.payment_method = payment_method
-    >>> pay.execute('choice')
-    >>> pay.state
-    'end'
-    >>> invoice.state
-    'paid'
-    >>> len(invoice.reconciliation_lines)
-    1
diff -r 02be5467be12 -r 8e9d429ef1b5 tests/test_account_invoice.py
--- a/tests/test_account_invoice.py     Tue Jan 25 23:30:35 2022 +0100
+++ b/tests/test_account_invoice.py     Wed Jan 26 00:32:20 2022 +0100
@@ -310,7 +310,7 @@
             checker=doctest_checker,
             optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
     suite.addTests(doctest.DocFileSuite(
-            'scenario_invoice_split_lines.rst',
+            'scenario_invoice_reschedule_lines.rst',
             tearDown=doctest_teardown, encoding='utf-8',
             checker=doctest_checker,
             optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))

Reply via email to