changeset caf8ad9e922c in modules/account_es:default
details: 
https://hg.tryton.org/modules/account_es?cmd=changeset;node=caf8ad9e922c
description:
        Allow requests for advancements on SEPA payments

        issue9005
        review282781003
diffstat:

 CHANGELOG                     |   1 +
 __init__.py                   |   5 +++++
 account_payment.py            |  36 ++++++++++++++++++++++++++++++++++++
 account_payment.xml           |  13 +++++++++++++
 setup.py                      |   1 +
 tests/test_account_es.py      |   2 +-
 tryton.cfg                    |   2 ++
 view/payment_journal_form.xml |  10 ++++++++++
 8 files changed, 69 insertions(+), 1 deletions(-)

diffs (137 lines):

diff -r 1148f779bd2d -r caf8ad9e922c CHANGELOG
--- a/CHANGELOG Mon Feb 17 09:53:12 2020 +0100
+++ b/CHANGELOG Sat Feb 22 15:17:32 2020 +0100
@@ -1,3 +1,4 @@
+* Allow requests for advancements on SEPA payments
 * Exclude taxes from other reports on Spanish VAT List
 
 Version 5.4.0 - 2019-11-04
diff -r 1148f779bd2d -r caf8ad9e922c __init__.py
--- a/__init__.py       Mon Feb 17 09:53:12 2020 +0100
+++ b/__init__.py       Sat Feb 22 15:17:32 2020 +0100
@@ -4,6 +4,7 @@
 from . import account
 from . import party
 from . import reporting_tax
+from . import account_payment
 
 
 def register():
@@ -29,3 +30,7 @@
     Pool.register(
         reporting_tax.PrintAEAT,
         module='account_es', type_='wizard')
+    Pool.register(
+        account_payment.Journal,
+        account_payment.Group,
+        module='account_es', type_='model', depends=['account_payment_sepa'])
diff -r 1148f779bd2d -r caf8ad9e922c account_payment.py
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/account_payment.py        Sat Feb 22 15:17:32 2020 +0100
@@ -0,0 +1,36 @@
+# This file is part of Tryton.  The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+from trytond.model import fields
+from trytond.pool import PoolMeta
+from trytond.pyson import Eval
+
+
+class Journal(metaclass=PoolMeta):
+    __name__ = 'account.payment.journal'
+    es_sepa_bank_account_country_code = fields.Function(
+        fields.Char("Bank Account Country Code"),
+        'on_change_with_es_sepa_bank_account_country_code')
+    es_sepa_request_advancement = fields.Boolean("Request Advancement",
+        states={
+            'invisible': ((Eval('process_method') != 'sepa')
+                | (Eval('es_sepa_bank_account_country_code') != 'ES')),
+            },
+        depends=['process_method', 'es_sepa_bank_account_country_code'],
+        help="Check to receive payments before the payment date.")
+
+    @fields.depends('sepa_bank_account_number')
+    def on_change_with_es_sepa_bank_account_country_code(self, name=None):
+        if self.sepa_bank_account_number:
+            return self.sepa_bank_account_number.number[:2]
+
+
+class Group(metaclass=PoolMeta):
+    __name__ = 'account.payment.group'
+
+    @property
+    def sepa_message_id(self):
+        message_id = super().sepa_message_id
+        if (self.kind == 'receivable'
+                and self.journal.es_sepa_request_advancement):
+            message_id = 'FSDD%s' % message_id
+        return message_id
diff -r 1148f779bd2d -r caf8ad9e922c account_payment.xml
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/account_payment.xml       Sat Feb 22 15:17:32 2020 +0100
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<tryton>
+    <data depends="account_payment_sepa">
+        <record model="ir.ui.view" id="journal_form">
+            <field name="model">account.payment.journal</field>
+            <field name="inherit" 
ref="account_payment.payment_journal_view_form"/>
+            <field name="name">payment_journal_form</field>
+        </record>
+
+    </data>
+</tryton>
diff -r 1148f779bd2d -r caf8ad9e922c setup.py
--- a/setup.py  Mon Feb 17 09:53:12 2020 +0100
+++ b/setup.py  Sat Feb 22 15:17:32 2020 +0100
@@ -60,6 +60,7 @@
 tests_require = [
     get_require_version('proteus'),
     get_require_version('trytond_account_asset'),
+    get_require_version('trytond_account_payment_sepa'),
     ]
 dependency_links = []
 if minor_version % 2:
diff -r 1148f779bd2d -r caf8ad9e922c tests/test_account_es.py
--- a/tests/test_account_es.py  Mon Feb 17 09:53:12 2020 +0100
+++ b/tests/test_account_es.py  Sat Feb 22 15:17:32 2020 +0100
@@ -12,7 +12,7 @@
 class AccountTestCase(ModuleTestCase):
     'Test Account Es module'
     module = 'account_es'
-    extras = ['account_asset']
+    extras = ['account_asset', 'account_payment_sepa']
 
 
 def suite():
diff -r 1148f779bd2d -r caf8ad9e922c tryton.cfg
--- a/tryton.cfg        Mon Feb 17 09:53:12 2020 +0100
+++ b/tryton.cfg        Sat Feb 22 15:17:32 2020 +0100
@@ -8,6 +8,7 @@
     party
 extras_depend:
     account_asset
+    account_payment_sepa
 xml:
     tax_groups.xml
     account_normal.xml
@@ -18,3 +19,4 @@
     reporting_tax.xml
     message.xml
     party.xml
+    account_payment.xml
diff -r 1148f779bd2d -r caf8ad9e922c view/payment_journal_form.xml
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/view/payment_journal_form.xml     Sat Feb 22 15:17:32 2020 +0100
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<data>
+    <xpath expr="/form/field[@name='sepa_receivable_flavor']" position="after">
+        <label id="empty" colspan="2"/>
+        <label name="es_sepa_request_advancement"/>
+        <field name="es_sepa_request_advancement"/>
+    </xpath>
+</data>

Reply via email to