changeset 1657b46e91bf in tryton-tools:default
details: https://hg.tryton.org/tryton-tools?cmd=changeset&node=1657b46e91bf
description:
        Skip warnings when posting invoices
diffstat:

 tryton_demo.py |  21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 deletions(-)

diffs (51 lines):

diff -r 6865061c9a0a -r 1657b46e91bf tryton_demo.py
--- a/tryton_demo.py    Sun Oct 31 17:30:49 2021 +0100
+++ b/tryton_demo.py    Sun Oct 31 17:31:09 2021 +0100
@@ -1,14 +1,15 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 import datetime
+import hashlib
 import os
 import random
 import sys
-from dateutil.relativedelta import relativedelta
+from argparse import ArgumentDefaultsHelpFormatter, ArgumentParser
 from decimal import Decimal
-from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter
 from itertools import chain
 
+from dateutil.relativedelta import relativedelta
 from proteus import Model, Wizard
 from proteus import config as pconfig
 
@@ -25,6 +26,16 @@
     return pconfig.set_trytond(database, config_file=config_file)
 
 
+def format_warning(name, records):
+    key = '|'.join(map(str, records)).encode('utf-8')
+    return '%s.%s' % (hashlib.md5(key).hexdigest(), name)
+
+
+def skip_warning(config, name, records):
+    Warning_ = Model.get('res.user.warning')
+    Warning_(user=config.user, name=format_warning(name, records)).save()
+
+
 def activate_modules(config, modules):
     Module = Model.get('ir.module')
     modules = Module.find([
@@ -398,7 +409,11 @@
             invoice.save()
         i += j
         invoice_date += relativedelta(days=random.randint(1, 3))
-    Invoice.post([inv.id for inv in invoices[0:i]], config.context)
+    invoices = [inv for inv in invoices[0:i]]
+    for invoice in invoices:
+        skip_warning(config, 'invoice_payment_term', [invoice])
+    skip_warning(config, 'invoice_date_future', invoices)
+    Invoice.click(invoices, 'post')
 
 
 def setup_account_payment(config, modules, company):

Reply via email to