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):