trytond-patches/domain_validation_warning.diff

415 lines
17 KiB
Diff
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Index: b/trytond/trytond/model/modelstorage.py
===================================================================
--- a/trytond/trytond/model/modelstorage.py
+++ b/trytond/trytond/model/modelstorage.py
@@ -5,6 +5,7 @@ import datetime
import time
import csv
import warnings
+import logging
from decimal import Decimal
from itertools import islice, ifilter, chain, izip
@@ -27,6 +28,7 @@ from .modelview import ModelView
from .descriptors import dualmethod
__all__ = ['ModelStorage', 'EvalEnvironment']
+logger = logging.getLogger(__name__)
def without_check_access(func):
@@ -1009,8 +1011,27 @@ class ModelStorage(Model):
domain,
])
if sub_relations != set(finds):
+ fail_field_value = sub_relations.difference(
+ set(finds)).pop()
+ error_args = cls._get_error_args(field.name)
+ error_args.update({
+ 'value': fail_field_value.rec_name if
+ isinstance(fail_field_value, Model)
+ else fail_field_value,
+ 'domain': getattr(cls, field_name).domain
+ })
+ msg = cls.raise_user_error('domain_validation_record',
+ error_args=error_args, raise_exception=False)
+ msg += ' Records: ' + ', '.join(
+ [str(r.id) for r in records])
+ msg += ' Domain: %s' % (domain,)
+ msg += ' Relations: ' + ', '.join(
+ [str(r.id) for r in list(sub_relations)])
+ msg += ' Finds: ' + ', '.join(
+ [str(r.id) for r in finds])
+ logger.warn(msg)
cls.raise_user_error('domain_validation_record',
- error_args=cls._get_error_args(field.name))
+ error_args=error_args)
field_names = set(field_names or [])
function_fields = {name for name, field in cls._fields.iteritems()
Index: b/trytond/trytond/ir/translation.xml
===================================================================
--- a/trytond/trytond/ir/translation.xml
+++ b/trytond/trytond/ir/translation.xml
@@ -129,8 +129,8 @@ this repository contains the full copyri
<field name="name">domain_validation_record</field>
<field name="lang">en</field>
<field name="type">error</field>
- <field name="src">The value of the field "%(field)s" on "%(model)s" is not valid according to its domain.</field>
- <field name="value">The value of the field "%(field)s" on "%(model)s" is not valid according to its domain.</field>
+ <field name="src">The value "%(value)s" of the field "%(field)s" on "%(model)s" is not valid according to its domain "%(domain)s".</field>
+ <field name="value">The value "%(value)s" of the field "%(field)s" on "%(model)s" is not valid according to its domain "%(domain)s".</field>
<field name="module">ir</field>
<field name="fuzzy" eval="False"/>
</record>
Index: b/trytond/trytond/ir/locale/bg.po
===================================================================
--- a/trytond/trytond/ir/locale/bg.po
+++ b/trytond/trytond/ir/locale/bg.po
@@ -26,11 +26,11 @@ msgstr ""
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgctxt "error:foreign_model_exist:"
msgid ""
Index: b/trytond/trytond/ir/locale/ca.po
===================================================================
--- a/trytond/trytond/ir/locale/ca.po
+++ b/trytond/trytond/ir/locale/ca.po
@@ -24,11 +24,11 @@ msgstr ""
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"El valor del camp \"%(field)s\" de \"%(model)s\" no és correcte segons "
-"aquest domini."
+"El valor \"%(field)s\" del camp \"%(field)s\" de \"%(model)s\" no és correcte segons "
+"aquest domini \"%(domain)s\"."
msgctxt "error:foreign_model_exist:"
msgid ""
Index: b/trytond/trytond/ir/locale/cs.po
===================================================================
--- a/trytond/trytond/ir/locale/cs.po
+++ b/trytond/trytond/ir/locale/cs.po
@@ -24,11 +24,11 @@ msgstr ""
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgctxt "error:foreign_model_exist:"
msgid ""
Index: b/trytond/trytond/ir/locale/de.po
===================================================================
--- a/trytond/trytond/ir/locale/de.po
+++ b/trytond/trytond/ir/locale/de.po
@@ -23,11 +23,11 @@ msgstr ""
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"Der Wert des Feldes \"%(field)s\" in \"%(model)s\" liegt nicht im gültigen "
-"Wertebereich (Domain)."
+"Der Wert \"%(value)s\" des Feldes \"%(field)s\" in \"%(model)s\" liegt nicht im gültigen "
+"Wertebereich (Domain) \"%(domain)s\"."
msgctxt "error:foreign_model_exist:"
msgid ""
Index: b/trytond/trytond/ir/locale/es.po
===================================================================
--- a/trytond/trytond/ir/locale/es.po
+++ b/trytond/trytond/ir/locale/es.po
@@ -22,11 +22,11 @@ msgstr ""
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"El valor del campo \"%(field)s\" de \"%(model)s\" no es correcto según su "
-"dominio."
+"El valor \"%(value)s\" del campo \"%(field)s\" de \"%(model)s\" no es correcto según su "
+"dominio \"%(domain)s\"."
msgctxt "error:foreign_model_exist:"
msgid ""
Index: b/trytond/trytond/ir/locale/es_419.po
===================================================================
--- a/trytond/trytond/ir/locale/es_419.po
+++ b/trytond/trytond/ir/locale/es_419.po
@@ -20,8 +20,8 @@ msgstr ""
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
msgctxt "error:foreign_model_exist:"
Index: b/trytond/trytond/ir/locale/fa.po
===================================================================
--- a/trytond/trytond/ir/locale/fa.po
+++ b/trytond/trytond/ir/locale/fa.po
@@ -24,8 +24,8 @@ msgstr ""
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr "مقدار فیلد: \"%s\" در مدل: \"%s\" باتوجه به دامنه آن معتبر نیست."
msgctxt "error:foreign_model_exist:"
Index: b/trytond/trytond/ir/locale/fr.po
===================================================================
--- a/trytond/trytond/ir/locale/fr.po
+++ b/trytond/trytond/ir/locale/fr.po
@@ -24,11 +24,11 @@ msgstr ""
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"La valeur du champ « %(field)s » sur « %(model)s » n'est pas valide selon "
-"son domaine."
+"La valeur \"%(value)s\" du champ « %(field)s » sur « %(model)s » n'est pas valide selon "
+"son domaine \"%(domain)s\"."
msgctxt "error:foreign_model_exist:"
msgid ""
Index: b/trytond/trytond/ir/locale/hu_HU.po
===================================================================
--- a/trytond/trytond/ir/locale/hu_HU.po
+++ b/trytond/trytond/ir/locale/hu_HU.po
@@ -27,11 +27,11 @@ msgstr ""
#, fuzzy
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
#, fuzzy
msgctxt "error:foreign_model_exist:"
Index: b/trytond/trytond/ir/locale/it_IT.po
===================================================================
--- a/trytond/trytond/ir/locale/it_IT.po
+++ b/trytond/trytond/ir/locale/it_IT.po
@@ -27,11 +27,11 @@ msgstr ""
#, fuzzy
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
#, fuzzy
msgctxt "error:foreign_model_exist:"
Index: b/trytond/trytond/ir/locale/ja_JP.po
===================================================================
--- a/trytond/trytond/ir/locale/ja_JP.po
+++ b/trytond/trytond/ir/locale/ja_JP.po
@@ -24,11 +24,11 @@ msgstr ""
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgctxt "error:foreign_model_exist:"
msgid ""
Index: b/trytond/trytond/ir/locale/lo.po
===================================================================
--- a/trytond/trytond/ir/locale/lo.po
+++ b/trytond/trytond/ir/locale/lo.po
@@ -24,11 +24,11 @@ msgstr ""
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgctxt "error:foreign_model_exist:"
msgid ""
Index: b/trytond/trytond/ir/locale/nl.po
===================================================================
--- a/trytond/trytond/ir/locale/nl.po
+++ b/trytond/trytond/ir/locale/nl.po
@@ -26,11 +26,11 @@ msgstr ""
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgctxt "error:foreign_model_exist:"
msgid ""
Index: b/trytond/trytond/ir/locale/pl.po
===================================================================
--- a/trytond/trytond/ir/locale/pl.po
+++ b/trytond/trytond/ir/locale/pl.po
@@ -24,11 +24,11 @@ msgstr ""
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"Wartość w polu \"%(field)s\" dla \"%(model)s\" jest nieprawidłowa względem "
-"swojej domeny."
+"Wartość \"%(value)s\" w polu \"%(field)s\" dla \"%(model)s\" jest "
+"nieprawidłowa względem swojej domeny\"%(domain)s\"."
msgctxt "error:foreign_model_exist:"
msgid ""
Index: b/trytond/trytond/ir/locale/pt_BR.po
===================================================================
--- a/trytond/trytond/ir/locale/pt_BR.po
+++ b/trytond/trytond/ir/locale/pt_BR.po
@@ -27,11 +27,11 @@ msgstr ""
#, fuzzy
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
#, fuzzy
msgctxt "error:foreign_model_exist:"
Index: b/trytond/trytond/ir/locale/ru.po
===================================================================
--- a/trytond/trytond/ir/locale/ru.po
+++ b/trytond/trytond/ir/locale/ru.po
@@ -26,11 +26,11 @@ msgstr ""
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\".""
msgctxt "error:foreign_model_exist:"
msgid ""
Index: b/trytond/trytond/ir/locale/sl.po
===================================================================
--- a/trytond/trytond/ir/locale/sl.po
+++ b/trytond/trytond/ir/locale/sl.po
@@ -27,11 +27,11 @@ msgstr ""
#, fuzzy
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
#, fuzzy
msgctxt "error:foreign_model_exist:"
Index: b/trytond/trytond/ir/locale/zh_CN.po
===================================================================
--- a/trytond/trytond/ir/locale/zh_CN.po
+++ b/trytond/trytond/ir/locale/zh_CN.po
@@ -27,11 +27,11 @@ msgstr ""
#, fuzzy
msgctxt "error:domain_validation_record:"
msgid ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
msgstr ""
-"The value of the field \"%(field)s\" on \"%(model)s\" is not valid according"
-" to its domain."
+"The value \"%(value)s\" of the field \"%(field)s\" on \"%(model)s\" is not "
+"valid according to its domain \"%(domain)s\"."
#, fuzzy
msgctxt "error:foreign_model_exist:"